From d0be6165c06e226cddcd86f9b4e01ec5c513e78e Mon Sep 17 00:00:00 2001 From: Nishi Date: Thu, 18 Jun 2026 13:40:14 +0900 Subject: [PATCH] Format source code --- .clang-format | 24 + Dict.h | 60 +- Struct.h | 186 +- adddic.c | 408 +- addelcmn.c | 341 +- alloc.c | 89 +- char.c | 328 +- charsize.c | 38 +- chrtbl.c | 534 +- cl2knj.c | 161 +- clstudy.c | 187 +- cmpstr.c | 28 +- cnvhinsi.c | 78 +- code.c | 222 +- codecnv.c | 115 +- common.c | 121 +- common.h | 38 +- compats.c | 2386 ++++---- comuni.c | 687 +-- conjunc.c | 2354 ++++--- connect.c | 15913 ++++++++++++++++++++++++------------------------ const.h | 368 +- conv.c | 419 +- conversion.h | 115 +- cvtclknj.c | 44 +- cvtdict.c | 186 +- cvtkanji.c | 190 +- deldic.c | 196 +- depend.c | 827 ++- dict.c | 57 +- dictdisp.c | 52 +- dictmake.c | 128 +- dicttool.h | 109 +- display.c | 474 +- douon.c | 521 +- edit.c | 858 ++- error.c | 131 +- etc.c | 462 +- eucmessage.c | 709 +-- execute.c | 1832 +++--- file.c | 113 +- format.sh | 2 + funckey.c | 340 +- functbl.c | 62 +- fuzoku.c | 301 +- fzkyomi.c | 1306 ++-- getkanji.c | 204 +- getrank.c | 137 +- global.c | 39 +- global2.c | 22 +- henkan.c | 867 ++- henkan.h | 36 +- hindo.c | 588 +- hinsi.c | 422 +- hzstrlen.c | 32 +- init.c | 52 +- inkey.h | 24 +- istrcmp.c | 14 +- kana.h | 109 +- kanakan.h | 220 +- kctype.h | 51 +- key.h | 113 +- kigou.c | 363 +- knjcvt.c | 248 +- level1.c | 976 ++- libif.c | 386 +- main.c | 73 +- makedict.c | 135 +- makelist.c | 552 +- makeseg.c | 403 +- memory.c | 49 +- memory2.c | 106 +- mk2claus.c | 106 +- mkbunset.c | 119 +- mkjiritu.c | 130 +- mkkouho.c | 447 +- mknumber.c | 344 +- mvmemd.c | 24 +- mvmemi.c | 24 +- nmttyslot.c | 78 +- offset.c | 145 +- peepdic.c | 305 +- ph2knj.c | 88 +- ph_khtbl.c | 73 +- priority.c | 207 +- prtytbl.c | 258 +- readline.c | 226 +- rk.h | 79 +- rk_conv.c | 1071 ++-- romaji.c | 411 +- s2ctbl.c | 233 +- screen.c | 517 +- selclrec.c | 103 +- select.h | 16 +- selsuuji.c | 138 +- server.h | 134 +- setconj.c | 104 +- setjrec.c | 384 +- setkouho.c | 290 +- setubi.c | 50 +- setup.c | 620 +- sj2.h | 177 +- sj2code.c | 115 +- sj3.c | 1431 ++--- sj3.h | 77 +- sj3_rkcv.c | 772 ++- sj3cmd.h | 116 +- sj3dic.c | 292 +- sj3dic.h | 15 +- sj3err.c | 138 +- sj3err.h | 122 +- sj3lib.c | 888 ++- sj3lib.h | 316 +- sj3libsj3.h | 42 +- sj3stat.c | 70 +- sj3ver.c | 35 +- sj_connect.h | 859 ++- sj_dict.h | 113 +- sj_euc.h | 20 +- sj_func.h | 21 +- sj_global.h | 24 +- sj_hinsi.h | 355 +- sj_kcnv.h | 16 +- sj_left.h | 442 +- sj_macro.h | 23 +- sj_prty.h | 83 +- sj_rename.h | 885 ++- sj_right.h | 634 +- sj_stdint.h | 48 +- sj_struct.h | 213 +- sj_struct2.h | 83 +- sj_study.h | 121 +- sj_suuji.h | 184 +- sj_sysvdef.h | 26 +- sj_table.h | 135 +- sj_typedef.h | 42 +- sj_var.h | 41 +- sj_yomi.h | 352 +- sjctype.h | 59 +- sjgetchar.c | 472 +- sjrc.c | 267 +- sjrc2.c | 858 ++- sjtool.h | 48 +- skiphblk.c | 23 +- skipkstr.c | 20 +- srchdict.c | 71 +- srchhead.c | 30 +- srchidx.c | 37 +- srchnum.c | 426 +- stat_conv.c | 975 ++- stbtbl.c | 218 +- string.c | 169 +- string2.c | 158 +- stttbl.c | 71 +- study.c | 160 +- suujitbl.c | 263 +- term.c | 39 +- terminat.c | 41 +- termtbl.c | 524 +- tests.c | 390 +- toroku.c | 508 +- version2.c | 25 +- wakachi.c | 94 +- wc16_str.c | 349 +- wchar16.h | 473 +- 165 files changed, 29879 insertions(+), 33260 deletions(-) create mode 100644 .clang-format create mode 100755 format.sh diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..eb9d30c --- /dev/null +++ b/.clang-format @@ -0,0 +1,24 @@ +--- +UseTab: Always +TabWidth: 8 +AlignConsecutiveAssignments: + Enabled: true +AlignConsecutiveDeclarations: + Enabled: true +AccessModifierOffset: -4 +NamespaceIndentation: All +IndentWidth: 8 +PointerAlignment: Left +ColumnLimit: 0 +AllowShortIfStatementsOnASingleLine: Always +AllowShortBlocksOnASingleLine: Never +AllowShortFunctionsOnASingleLine: Empty +AllowShortLoopsOnASingleLine: true +BreakBeforeBraces: Custom +BraceWrapping: + AfterCaseLabel: true +SpaceBeforeParens: Never +AlignEscapedNewlines: DontAlign +SortIncludes: false +AllowShortEnumsOnASingleLine: false +#IndentPPDirectives: AfterHash diff --git a/Dict.h b/Dict.h index 1ebc24d..1d04596 100644 --- a/Dict.h +++ b/Dict.h @@ -31,45 +31,45 @@ #ifndef SJ3_DICT_H_ #define SJ3_DICT_H_ -#define VersionPos 0 +#define VersionPos 0 -#define PasswdPos 16 -#define PasswdLen 16 +#define PasswdPos 16 +#define PasswdLen 16 -#define StdyNormPos 32 -#define StdyNormLen 36 -#define StdyNormNum 40 -#define StdyNormCnt 44 +#define StdyNormPos 32 +#define StdyNormLen 36 +#define StdyNormNum 40 +#define StdyNormCnt 44 -#define StdyClIdxPos 48 -#define StdyClIdxLen 52 -#define StdyClIdxStep 56 +#define StdyClIdxPos 48 +#define StdyClIdxLen 52 +#define StdyClIdxStep 56 -#define StdyClSegPos 64 -#define StdyClSegLen 68 +#define StdyClSegPos 64 +#define StdyClSegLen 68 -#define DictIdxPos 32 -#define DictIdxLen 36 +#define DictIdxPos 32 +#define DictIdxLen 36 -#define DictSegPos 48 -#define DictSegLen 52 -#define DictSegNum 56 -#define DictSegMax 60 +#define DictSegPos 48 +#define DictSegLen 52 +#define DictSegNum 56 +#define DictSegMax 60 -#define DictAIdxPos 64 -#define DictAIdxLen 68 +#define DictAIdxPos 64 +#define DictAIdxLen 68 -#define DictASegPos 80 -#define DictASegLen 84 +#define DictASegPos 80 +#define DictASegLen 84 -#define HeaderPos 0 -#define HeaderLength 128 -#define CommentPos 128 -#define CommentLength 128 +#define HeaderPos 0 +#define HeaderLength 128 +#define CommentPos 128 +#define CommentLength 128 -#define Byte2Long(c3,c2,c1,c0) (((c3) << (8*3)) | ((c2) << (8*2)) | \ - ((c1) << (8*1)) | ((c0) << (8*0))) -#define StdyVersion Byte2Long('S', 2, 0, 0) -#define DictVersion Byte2Long('D', 2, 0, 0) +#define Byte2Long(c3, c2, c1, c0) (((c3) << (8 * 3)) | ((c2) << (8 * 2)) | \ + ((c1) << (8 * 1)) | ((c0) << (8 * 0))) +#define StdyVersion Byte2Long('S', 2, 0, 0) +#define DictVersion Byte2Long('D', 2, 0, 0) #endif /* SJ3_DICT_H_ */ diff --git a/Struct.h b/Struct.h index 850e52d..ee053ae 100644 --- a/Struct.h +++ b/Struct.h @@ -41,133 +41,133 @@ #include "sj_var.h" typedef struct global { - JREC *Jmaxjptr; - CLREC *Jmaxclptr; - JREC *Jjrt1st; - CLREC *Jclt1st; - JREC *Jjrt2nd; - CLREC *Jclt2nd; - CLREC *Jselcl; + JREC* Jmaxjptr; + CLREC* Jmaxclptr; + JREC* Jjrt1st; + CLREC* Jclt1st; + JREC* Jjrt2nd; + CLREC* Jclt2nd; + CLREC* Jselcl; - short Jselectid; - short Jtrank; - short Jnrank; + short Jselectid; + short Jtrank; + short Jnrank; - unsigned char *Jinputyomi; - unsigned char *Jcnvstart; - short Jcnvlen; - unsigned char *Jystart; - unsigned char Jhyomi[MaxPhInputLen + 1]; - unsigned char Jorgyomi[MaxClInputLen*2 + 1]; + unsigned char* Jinputyomi; + unsigned char* Jcnvstart; + short Jcnvlen; + unsigned char* Jystart; + unsigned char Jhyomi[MaxPhInputLen + 1]; + unsigned char Jorgyomi[MaxClInputLen * 2 + 1]; - unsigned char Jkanjibuf[MinPhOutputLen]; - unsigned char *Jkanjipos; - unsigned char *Jkanjitmp; - short Jkanjilen; + unsigned char Jkanjibuf[MinPhOutputLen]; + unsigned char* Jkanjipos; + unsigned char* Jkanjitmp; + short Jkanjilen; - unsigned char Jdicinl; - unsigned char Jdicsaml; - TypeDicSeg Jprevseg; + unsigned char Jdicinl; + unsigned char Jdicsaml; + TypeDicSeg Jprevseg; - unsigned char Jfzkcount; - unsigned char Jfzk_ka_flg; - FREC Jfzktbl[MAXFREC]; + unsigned char Jfzkcount; + unsigned char Jfzk_ka_flg; + FREC Jfzktbl[MAXFREC]; - unsigned char Jheadcode; - unsigned char Jheadlen; + unsigned char Jheadcode; + unsigned char Jheadlen; - unsigned char Jgobilen; + unsigned char Jgobilen; - TypeGram Jprevclgrm; - TypeCnct Jprevclrow; - unsigned char Jnextcllen; + TypeGram Jprevclgrm; + TypeCnct Jprevclrow; + unsigned char Jnextcllen; - short Jkhcount; - short Jnkhcount; - KHREC Jkouhotbl[MaxKouhoNumber]; - STDYIN *Jstdytop; + short Jkhcount; + short Jnkhcount; + KHREC Jkouhotbl[MaxKouhoNumber]; + STDYIN* Jstdytop; - DICT *Jcurdict; - DICTL *Jdictlist; - unsigned char *Jdicbuf; - unsigned char *Jidxbuf; - TypeIdxOfs *Jidxofs; - unsigned char *Jaskknj[MaxKnjAskNumber]; - unsigned char *Jaskknj_k[MaxKnjAskNumber]; + DICT* Jcurdict; + DICTL* Jdictlist; + unsigned char* Jdicbuf; + unsigned char* Jidxbuf; + TypeIdxOfs* Jidxofs; + unsigned char* Jaskknj[MaxKnjAskNumber]; + unsigned char* Jaskknj_k[MaxKnjAskNumber]; - STDY *Jcurstdy; + STDY* Jcurstdy; - unsigned short Jsuuji_wbuf[NumWordBuf]; - unsigned char Jsuuji_ubuf[NumKetaLength]; - TypeClass Jsuuji_class; - unsigned char Jsuuji_comma; - unsigned char Jsuuji_keta; - unsigned char *Jsuuji_yptr; - unsigned char Jsuuji_len; - unsigned char Jsuuji_exit; - unsigned short *Jsuuji_wkeep; - unsigned char *Jsuuji_ukeep; + unsigned short Jsuuji_wbuf[NumWordBuf]; + unsigned char Jsuuji_ubuf[NumKetaLength]; + TypeClass Jsuuji_class; + unsigned char Jsuuji_comma; + unsigned char Jsuuji_keta; + unsigned char* Jsuuji_yptr; + unsigned char Jsuuji_len; + unsigned char Jsuuji_exit; + unsigned short* Jsuuji_wkeep; + unsigned char* Jsuuji_ukeep; - unsigned char Jpeepyomi[MaxWdYomiLen * 2 + 1]; - unsigned char Jpeepknj[MaxWdKanjiLen + 1]; - TypeGram Jpeepgrm; - unsigned char *Jpeepdptr; - unsigned char *Jpeephptr; - unsigned char *Jpeepkptr; - TypeDicSeg Jpeepidx; + unsigned char Jpeepyomi[MaxWdYomiLen * 2 + 1]; + unsigned char Jpeepknj[MaxWdKanjiLen + 1]; + TypeGram Jpeepgrm; + unsigned char* Jpeepdptr; + unsigned char* Jpeephptr; + unsigned char* Jpeepkptr; + TypeDicSeg Jpeepidx; } Global; typedef struct dictfile { - DICT dict; - int refcnt; - fd_set lock; - FILE *fp; - int fd; + DICT dict; + int refcnt; + fd_set lock; + FILE* fp; + int fd; - unsigned char *buffer; - long bufsiz; + unsigned char* buffer; + long bufsiz; - long idxstrt; - long segstrt; + long idxstrt; + long segstrt; - TypeIdxOfs *ofsptr; + TypeIdxOfs* ofsptr; - struct dictfile *link; + struct dictfile* link; } DictFile; typedef struct stdyfile { - STDY stdy; - int refcnt; - ino_t inode; - FILE *fp; - int fd; + STDY stdy; + int refcnt; + ino_t inode; + FILE* fp; + int fd; - unsigned char *header; + unsigned char* header; - struct stdyfile *link; + struct stdyfile* link; } StdyFile; typedef struct workarea { - int refcnt; - int lock; + int refcnt; + int lock; - struct workarea *link; + struct workarea* link; - Global global; + Global global; } WorkArea; typedef struct client { - int fd; - char host[HostNameLen]; - char user[UserNameLen]; - char prog[ProgNameLen]; + int fd; + char host[HostNameLen]; + char user[UserNameLen]; + char prog[ProgNameLen]; - WorkArea *work; - StdyFile *stdy; - short version; - unsigned char def_char[2]; - uid_t uid; - struct client *next; + WorkArea* work; + StdyFile* stdy; + short version; + unsigned char def_char[2]; + uid_t uid; + struct client* next; } Client; #endif /* SJ3_STRUCT_H_ */ diff --git a/adddic.c b/adddic.c index c4f7e34..e015541 100644 --- a/adddic.c +++ b/adddic.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,133 +28,128 @@ */ /* - * $SonyRCSfile: adddic.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: adddic.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:26 $ * * $Id$ */ - #include #include #include "sj_euc.h" #include "sj_kcnv.h" #include "kanakan.h" - static unsigned int checkdict(unsigned char* kanji, TypeGram grm); -static int cal_nextym(unsigned char* ptr); -static int usr_freelen(void); -static void sprt_seg(TypeDicSeg seg, TypeDicOfs ofs); -static void apnd_uidx(TypeDicSeg seg, unsigned char* yomi, int len); - +static int cal_nextym(unsigned char* ptr); +static int usr_freelen(void); +static void sprt_seg(TypeDicSeg seg, TypeDicOfs ofs); +static void apnd_uidx(TypeDicSeg seg, unsigned char* yomi, int len); unsigned int -adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) -{ - unsigned int err; - unsigned char yptr[MaxWdYomiLen+1]; - unsigned char kptr[MaxWdKanjiLen+1]; - int klen; - TypeDicSeg segnum; - int saml; - TypeDicOfs dstofs; - TypeDicOfs douofs; - TypeDicOfs hnsofs; - TypeDicOfs knjofs; - TypeDicOfs nxtask; - TypeDicOfs newsiz; - TypeDicOfs oldsiz; - TypeDicOfs fresiz; - TypeIdxOfs freidx; - unsigned char *douptr; - unsigned char *dstptr; - TypeDicOfs pos; - unsigned char *p1; - int i; - int nlen, plen; - int size; - STDYIN *stdy; - STDYOUT stdydat; +adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) { + unsigned int err; + unsigned char yptr[MaxWdYomiLen + 1]; + unsigned char kptr[MaxWdKanjiLen + 1]; + int klen; + TypeDicSeg segnum; + int saml; + TypeDicOfs dstofs; + TypeDicOfs douofs; + TypeDicOfs hnsofs; + TypeDicOfs knjofs; + TypeDicOfs nxtask; + TypeDicOfs newsiz; + TypeDicOfs oldsiz; + TypeDicOfs fresiz; + TypeIdxOfs freidx; + unsigned char* douptr; + unsigned char* dstptr; + TypeDicOfs pos; + unsigned char* p1; + int i; + int nlen, plen; + int size; + STDYIN* stdy; + STDYOUT stdydat; - if ((err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr))) != 0) + if((err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr))) != 0) return err; inputyomi = yomi; cnvstart = ystart = yptr; - cnvlen = strlen(yptr); + cnvlen = strlen(yptr); - if ((err = checkdict(kanji, hinsi)) != 0) + if((err = checkdict(kanji, hinsi)) != 0) return err; - if (!curdict -> maxunit) return AD_NotUserDict; + if(!curdict->maxunit) return AD_NotUserDict; klen = cvtknj(yomi, kanji, kptr); - newsiz = DouonBlkSizeNumber + cnvlen + (klen !=0 ? klen+1 : 0) + 2; + newsiz = DouonBlkSizeNumber + cnvlen + (klen != 0 ? klen + 1 : 0) + 2; - if (newsiz > MaxDouonBlk) return AD_OvflwDouBlk; - if (newsiz > curdict->seglen) return AD_OvflwDouBlk; + if(newsiz > MaxDouonBlk) return AD_OvflwDouBlk; + if(newsiz > curdict->seglen) return AD_OvflwDouBlk; segnum = srchidx((TypeDicSeg)DicSegBase, cnvlen); - for ( ; ; ) { + for(;;) { (*curdict->getdic)(curdict, segnum); - i = srchkana(&p1, &saml); + i = srchkana(&p1, &saml); dstofs = douofs = p1 - dicbuf; hnsofs = knjofs = 0; - if (i) { - i = srchgram(p1, &p1, hinsi); + if(i) { + i = srchgram(p1, &p1, hinsi); dstofs = hnsofs = p1 - dicbuf; - if (i) { + if(i) { srchkanji(&p1, kptr, klen); - if (*p1 != HinsiBlkTerm) return AD_ArExist; + if(*p1 != HinsiBlkTerm) return AD_ArExist; dstofs = knjofs = p1 - dicbuf; } } p1 = dicbuf + douofs; - if (!hnsofs) { + if(!hnsofs) { oldsiz = 0; - nlen = cnvlen - saml; - newsiz = DouonBlkSizeNumber + nlen; + nlen = cnvlen - saml; + newsiz = DouonBlkSizeNumber + nlen; nxtask = cal_nextym(p1); - } - else { + } else { oldsiz = newsiz = getsize(p1); - nxtask = 0; + nxtask = 0; } - if (!knjofs) newsiz += 2; + if(!knjofs) newsiz += 2; - newsiz += (klen != 0 ? klen+1 : 0); + newsiz += (klen != 0 ? klen + 1 : 0); fresiz = usr_freelen(); - if ((unsigned int) (newsiz - oldsiz - nxtask) <= - (unsigned int) fresiz) break; + if((unsigned int)(newsiz - oldsiz - nxtask) <= + (unsigned int)fresiz) break; - if (segend(p1) && (segnum + 1 < curdict->segunit)) { + if(segend(p1) && (segnum + 1 < curdict->segunit)) { segnum++; continue; } - if (curdict->segunit >= curdict->maxunit) + if(curdict->segunit >= curdict->maxunit) return AD_OvflwUsrDic; freidx = count_uidx(); - if ((unsigned int) (douofs + newsiz) <= curdict->seglen) { - if (hnsofs) p1 = getntag(p1); + if((unsigned int)(douofs + newsiz) <= curdict->seglen) { + if(hnsofs) p1 = getntag(p1); pos = p1 - dicbuf; - nlen = getnlen(p1); - if ((unsigned int) freidx < getplen(p1) + nlen + 1) + nlen = getnlen(p1); + if((unsigned int)freidx < getplen(p1) + nlen + 1) return AD_OvflwIndex; - if ((*curdict->putdic)(curdict, curdict->segunit)) + if((*curdict->putdic)(curdict, curdict->segunit)) return AD_OvflwUsrDic; sprt_seg(segnum, pos); @@ -163,10 +158,10 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) break; } - if (segend(p1)) { - if ((unsigned int) freidx < cnvlen + 1) return AD_OvflwIndex; + if(segend(p1)) { + if((unsigned int)freidx < cnvlen + 1) return AD_OvflwIndex; - if ((*curdict->putdic)(curdict, curdict->segunit)) + if((*curdict->putdic)(curdict, curdict->segunit)) return AD_OvflwUsrDic; curdict->segunit++; @@ -181,11 +176,11 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) } else { - nlen = getnlen(p1); - if ((unsigned int) freidx < getplen(p1) + nlen + 1) + nlen = getnlen(p1); + if((unsigned int)freidx < getplen(p1) + nlen + 1) return AD_OvflwIndex; - if ((*curdict->putdic)(curdict, curdict->segunit)) + if((*curdict->putdic)(curdict, curdict->segunit)) return AD_OvflwUsrDic; sprt_seg(segnum, douofs); @@ -196,15 +191,15 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) douptr = dicbuf + douofs; - if (nxtask) { - unsigned char *tp; + if(nxtask) { + unsigned char* tp; - size = getsize(douptr) - nxtask; - plen = getplen(douptr) + nxtask; - nlen = getnlen(douptr) - nxtask; + size = getsize(douptr) - nxtask; + plen = getplen(douptr) + nxtask; + nlen = getnlen(douptr) - nxtask; *douptr = (size >> 8); - if (nlen & 0x10) *douptr |= NokoriYomiTop; - if (plen & 0x10) *douptr |= AssyukuYomiTop; + if(nlen & 0x10) *douptr |= NokoriYomiTop; + if(plen & 0x10) *douptr |= AssyukuYomiTop; *(douptr + 1) = size; *(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4)); @@ -214,115 +209,112 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) } dstptr = dicbuf + dstofs; - size = newsiz - oldsiz; - p1 = dicbuf + curdict->seglen; + size = newsiz - oldsiz; + p1 = dicbuf + curdict->seglen; mvmemd(p1 - size, p1, p1 - dstptr - size); - if (!hnsofs) { - if (douofs == segtop() - dicbuf) { + if(!hnsofs) { + if(douofs == segtop() - dicbuf) { chg_uidx(segnum, yptr, cnvlen); } - *dstptr = 0; - nlen = cnvlen - saml; - if (nlen & 0x10) *dstptr |= NokoriYomiTop; - if (saml & 0x10) *dstptr |= AssyukuYomiTop; + *dstptr = 0; + nlen = cnvlen - saml; + if(nlen & 0x10) *dstptr |= NokoriYomiTop; + if(saml & 0x10) *dstptr |= AssyukuYomiTop; *dstptr++ |= (size >> 8); - *dstptr++ = size; - *dstptr++ = ((nlen&0x0f)|((saml&0x0f)<<4)); + *dstptr++ = size; + *dstptr++ = ((nlen & 0x0f) | ((saml & 0x0f) << 4)); - while (saml < cnvlen) *dstptr++ = yptr[saml++]; + while(saml < cnvlen) *dstptr++ = yptr[saml++]; } - + else { - plen = getplen(douptr); - nlen = getnlen(douptr); + plen = getplen(douptr); + nlen = getnlen(douptr); *douptr = (newsiz >> 8); - if (nlen & 0x10) *douptr |= NokoriYomiTop; - if (plen & 0x10) *douptr |= AssyukuYomiTop; + if(nlen & 0x10) *douptr |= NokoriYomiTop; + if(plen & 0x10) *douptr |= AssyukuYomiTop; *(douptr + 1) = newsiz; *(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4)); } - if (!knjofs) *dstptr++ = hinsi; + if(!knjofs) *dstptr++ = hinsi; stdydat.stdy1.offset = dstptr - dicbuf; - for (saml = 0 ; saml < klen ; ) *dstptr++ = kptr[saml++]; - if (klen > 0) *dstptr++ = KanjiStrEnd; + for(saml = 0; saml < klen;) *dstptr++ = kptr[saml++]; + if(klen > 0) *dstptr++ = KanjiStrEnd; - if (!knjofs) *dstptr++ = HinsiBlkTerm; + if(!knjofs) *dstptr++ = HinsiBlkTerm; (*curdict->putdic)(curdict, segnum); - if (StudyExist()) { + if(StudyExist()) { size -= nxtask; - for (i = StudyCount, stdy = StudyDict ; i-- ; stdy++) { - if (stdy -> dicid != curdict->dicid) continue; - if (stdy -> seg != segnum) continue; - if (stdy -> offset >= dstofs) stdy -> offset += size; + for(i = StudyCount, stdy = StudyDict; i--; stdy++) { + if(stdy->dicid != curdict->dicid) continue; + if(stdy->seg != segnum) continue; + if(stdy->offset >= dstofs) stdy->offset += size; } - for (p1 = ClStudyDict ; !iseocl(p1) ; p1 = ClNextTag(p1)) { + for(p1 = ClStudyDict; !iseocl(p1); p1 = ClNextTag(p1)) { err = strncmp(yptr, (unsigned char*)ClYomiPos(p1), - (int)ClYomiLen(p1)); - if (err == MATCH) { - delclsub(p1); - mkclidx(); - putcldic(); + (int)ClYomiLen(p1)); + if(err == MATCH) { + delclsub(p1); + mkclidx(); + putcldic(); break; - } - else if (err == OVER) + } else if(err == OVER) break; } } - stdydat.stdy1.seg = segnum; - stdydat.stdy1.dicid = curdict->dicid; - stdydat.stdy1.styno = 0; - stdydat.stdy1.sttkj = 0; - stdydat.stdy1.ka_kj = 0; - stdydat.stdy1.nmflg = 0; - stdydat.hinshi = hinsi; - stdydat.len = cnvlen; - stdydat.sttlen = 0; - stdydat.sttfg = 0; - stdydat.ka_fg = 0; + stdydat.stdy1.seg = segnum; + stdydat.stdy1.dicid = curdict->dicid; + stdydat.stdy1.styno = 0; + stdydat.stdy1.sttkj = 0; + stdydat.stdy1.ka_kj = 0; + stdydat.stdy1.nmflg = 0; + stdydat.hinshi = hinsi; + stdydat.len = cnvlen; + stdydat.sttlen = 0; + stdydat.sttfg = 0; + stdydat.ka_fg = 0; (void)study(&stdydat); return AD_Done; } - static int -checksub(unsigned char* kanji, TypeGram grm) -{ - unsigned char *tagp; - unsigned char *ptr; - unsigned char *endp; - int flg, nlen; - int dounum; - unsigned char buf[MaxWdKanjiLen + 1]; +checksub(unsigned char* kanji, TypeGram grm) { + unsigned char* tagp; + unsigned char* ptr; + unsigned char* endp; + int flg, nlen; + int dounum; + unsigned char buf[MaxWdKanjiLen + 1]; - dicinl = cnvlen; + dicinl = cnvlen; dicsaml = 0; prevseg = (TypeDicSeg)-1; - for (;;) { - if (!(tagp = srchdict(tagp))) return 0; - if (cnvlen == getnlen(tagp) + getplen(tagp)) + for(;;) { + if(!(tagp = srchdict(tagp))) return 0; + if(cnvlen == getnlen(tagp) + getplen(tagp)) break; } dounum = 0; - nlen = getnlen(tagp); - ptr = tagp + DouonBlkSizeNumber + nlen; - endp = tagp + getsize(tagp); + nlen = getnlen(tagp); + ptr = tagp + DouonBlkSizeNumber + nlen; + endp = tagp + getsize(tagp); - while (ptr < endp) { + while(ptr < endp) { flg = (grm == *ptr++); - while (*ptr != HinsiBlkTerm) { - if (flg) { + while(*ptr != HinsiBlkTerm) { + if(flg) { buf[getkanji(inputyomi, cnvlen, ptr, buf)] = 0; - if (cmpstr(kanji, buf)) return -1; + if(cmpstr(kanji, buf)) return -1; } dounum++; @@ -335,19 +327,17 @@ checksub(unsigned char* kanji, TypeGram grm) return dounum; } - static unsigned int -checkdict(unsigned char* kanji, TypeGram grm) -{ - DICTL *dp; - int dounum = 0; - int tmp; - DICT *tmpdict; +checkdict(unsigned char* kanji, TypeGram grm) { + DICTL* dp; + int dounum = 0; + int tmp; + DICT* tmpdict; tmpdict = curdict; - for (dp = dictlist ; dp ; dp = dp -> next) { - curdict = dp -> dict; - if ((tmp = checksub(kanji, grm)) < 0) { + for(dp = dictlist; dp; dp = dp->next) { + curdict = dp->dict; + if((tmp = checksub(kanji, grm)) < 0) { curdict = tmpdict; return AD_ArExist; } @@ -356,26 +346,24 @@ checkdict(unsigned char* kanji, TypeGram grm) } curdict = tmpdict; - if (MaxKouhoNumber <= dounum) return AD_OvflwDouNum; + if(MaxKouhoNumber <= dounum) return AD_OvflwDouNum; return 0; } - static int -cal_nextym(unsigned char* ptr) -{ - int count = 0; - unsigned char *src; - int len; - - if (!segend(ptr)) { +cal_nextym(unsigned char* ptr) { + int count = 0; + unsigned char* src; + int len; + + if(!segend(ptr)) { src = cnvstart + getplen(ptr); len = getnlen(ptr); ptr += DouonBlkSizeNumber; - while (len--) { - if (*ptr++ == *src++) + while(len--) { + if(*ptr++ == *src++) count++; else break; @@ -385,34 +373,30 @@ cal_nextym(unsigned char* ptr) return count; } - static int -usr_freelen(void) -{ +usr_freelen(void) { unsigned char* ptr; ptr = segtop(); - while (!segend(ptr)) ptr += getsize(ptr); + while(!segend(ptr)) ptr += getsize(ptr); - return(curdict->seglen - (ptr - dicbuf)); + return (curdict->seglen - (ptr - dicbuf)); } - static void -sprt_seg(TypeDicSeg seg, TypeDicOfs ofs) -{ - TypeDicSeg s; - unsigned char *pos; - unsigned char *p; - unsigned char *q; - int i; - int j; - int ylen, nlen; - TypeDicID dicid; - unsigned char yomi[MaxWdYomiLen]; - STDYIN *stdy; +sprt_seg(TypeDicSeg seg, TypeDicOfs ofs) { + TypeDicSeg s; + unsigned char* pos; + unsigned char* p; + unsigned char* q; + int i; + int j; + int ylen, nlen; + TypeDicID dicid; + unsigned char yomi[MaxWdYomiLen]; + STDYIN* stdy; - for (s = curdict->segunit - 1 ; s >= seg ; s--) { + for(s = curdict->segunit - 1; s >= seg; s--) { (*curdict->getdic)(curdict, s); (*curdict->putdic)(curdict, s + 1); } @@ -423,46 +407,46 @@ sprt_seg(TypeDicSeg seg, TypeDicOfs ofs) pos = dicbuf + ofs; - for (p = segtop() ; (p <= pos) && !segend(p) ; p = q) { - q = getntag(p); - i = getplen(p); + for(p = segtop(); (p <= pos) && !segend(p); p = q) { + q = getntag(p); + i = getplen(p); nlen = getnlen(p); - j = (nlen != 0) ? nlen+1: 0; + j = (nlen != 0) ? nlen + 1 : 0; p += DouonBlkSizeNumber; - while (j-- > 0) yomi[i++] = *p++; + while(j-- > 0) yomi[i++] = *p++; } nlen = getnlen(pos); - ylen = (i = getplen(pos)) + (j = nlen); + ylen = (i = getplen(pos)) + (j = nlen); apnd_uidx(seg, yomi, ylen); - set_size(segtop(), getsize(pos) + i, 0, ylen); + set_size(segtop(), getsize(pos) + i, 0, ylen); mvmemi(yomi, (p = segtop() + DouonBlkSizeNumber), ylen); - q = pos + DouonBlkSizeNumber + j; - i = dicbuf + curdict->seglen - q; + q = pos + DouonBlkSizeNumber + j; + i = dicbuf + curdict->seglen - q; mvmemi(q, p += ylen, i); - j = q - p; + j = q - p; p += i; memset(p, DicSegTerm, (dicbuf + curdict->seglen - p)); (*curdict->putdic)(curdict, seg + 1); - if (StudyExist()) { - dicid = curdict -> dicid; - for (i = StudyCount, stdy = StudyDict ; i-- > 0 ; stdy++) { - if (stdy -> dicid != dicid) + if(StudyExist()) { + dicid = curdict->dicid; + for(i = StudyCount, stdy = StudyDict; i-- > 0; stdy++) { + if(stdy->dicid != dicid) continue; - else if (stdy -> seg < seg) + else if(stdy->seg < seg) continue; - else if (stdy -> seg > seg) - stdy -> seg += 1; - else if (stdy -> offset >= ofs) { - stdy -> seg += 1; - stdy -> offset -= j; + else if(stdy->seg > seg) + stdy->seg += 1; + else if(stdy->offset >= ofs) { + stdy->seg += 1; + stdy->offset -= j; } } } @@ -472,20 +456,18 @@ sprt_seg(TypeDicSeg seg, TypeDicOfs ofs) (*curdict->putdic)(curdict, seg); } - static void -apnd_uidx(TypeDicSeg seg, unsigned char* yomi, int len) -{ - unsigned char *p; - unsigned char *q; +apnd_uidx(TypeDicSeg seg, unsigned char* yomi, int len) { + unsigned char* p; + unsigned char* q; p = get_idxptr(seg); - while (*p++) ; + while(*p++); q = idxbuf + curdict->idxlen; mvmemd(q - (len + 1), q, (int)(q - (len + 1) - p)); - while (len--) *p++ = *yomi++; + while(len--) *p++ = *yomi++; *p = 0; (*curdict->putidx)(curdict, 0); diff --git a/addelcmn.c b/addelcmn.c index d7ff35b..14c1dd9 100644 --- a/addelcmn.c +++ b/addelcmn.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: addelcmn.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: addelcmn.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:27 $ * * $Id$ */ - #include #include "sj_euc.h" #include "sj_kcnv.h" @@ -43,123 +42,101 @@ #include "sj_yomi.h" #include "kanakan.h" +int sj2cd_str(); +void mvmemi(), mvmemd(), mkidxtbl(); -int sj2cd_str(); -void mvmemi(), mvmemd(), mkidxtbl(); - - - -void -set_size (unsigned char *p, int size, int plen, int nlen) -{ +void set_size(unsigned char* p, int size, int plen, int nlen) { *p = (unsigned char)(size >> 8); - if (nlen & 0x10) *p |= NokoriYomiTop; - if (plen & 0x10) *p |= AssyukuYomiTop; + if(nlen & 0x10) *p |= NokoriYomiTop; + if(plen & 0x10) *p |= AssyukuYomiTop; *(p + 1) = (unsigned char)size; *(p + 2) = (unsigned char)((nlen & 0x0f) | ((plen & 0x0f) << 4)); } +static int +isvyomi(unsigned char* yp) { + int len; + if(!*yp) return FALSE; -static int -isvyomi (unsigned char *yp) -{ - int len; + if(!(Chrtbl[*yp] & DICTOP)) return FALSE; - if (!*yp) return FALSE; - - if (!(Chrtbl[*yp] & DICTOP)) return FALSE; - - for (len = 0 ; *yp ; yp++) { - if (!(Chrtbl[*yp]) || (*yp >= Y_KUTEN)) return FALSE; - if (++len > MaxWdYomiLen) return FALSE; + for(len = 0; *yp; yp++) { + if(!(Chrtbl[*yp]) || (*yp >= Y_KUTEN)) return FALSE; + if(++len > MaxWdYomiLen) return FALSE; } return TRUE; } +static int +isvknj(unsigned char* kanji) { + int len; + if(!*kanji) return FALSE; -static int -isvknj(unsigned char *kanji) -{ - int len; - - if (!*kanji) return FALSE; - - for (len = 0 ; *kanji ; ) { - if (*kanji == SS3) { + for(len = 0; *kanji;) { + if(*kanji == SS3) { kanji += 3; - len += 2; + len += 2; } else - if (isknj1(*kanji)) { + if(isknj1(*kanji)) { kanji += 2; len += 2; - } - else { + } else { kanji++; - len += 2; + len += 2; } - if (len > MaxWdKanjiLen) return FALSE; + if(len > MaxWdKanjiLen) return FALSE; } return TRUE; } +static int +isgrm(TypeGram gram) { + int grm = gram; - -static int -isgrm (TypeGram gram) -{ - int grm = gram; - - if (MEISI_1 <= grm && grm <= D_MEISI_6) return TRUE; - if (MYOUJI <= grm && grm <= JOSUUSI2) return TRUE; - if (KEIYOUSI_1 <= grm && grm <= DO_ZAHEN) return TRUE; - if (DO_1DAN_1 <= grm && grm <= DO_WAGO_2) return TRUE; - if (DO_KAGO_5 <= grm && grm <= DO_WAGO_5) return TRUE; - if (DO_KAGO_6 <= grm && grm <= DO_WAGO_6) return TRUE; - if (DO_1DAN_3 <= grm && grm <= DO_WAGO_3) return TRUE; - if (DO_1DAN_4 <= grm && grm <= DO_WAGO_4) return TRUE; - if (DO_KAGO_7 <= grm && grm <= DO_WAGO_7) return TRUE; - if (DO_KAGO_8 <= grm && grm <= DO_WAGO_8) return TRUE; - if (SP_SA_MI1 <= grm && grm <= TANKANJI) return TRUE; + if(MEISI_1 <= grm && grm <= D_MEISI_6) return TRUE; + if(MYOUJI <= grm && grm <= JOSUUSI2) return TRUE; + if(KEIYOUSI_1 <= grm && grm <= DO_ZAHEN) return TRUE; + if(DO_1DAN_1 <= grm && grm <= DO_WAGO_2) return TRUE; + if(DO_KAGO_5 <= grm && grm <= DO_WAGO_5) return TRUE; + if(DO_KAGO_6 <= grm && grm <= DO_WAGO_6) return TRUE; + if(DO_1DAN_3 <= grm && grm <= DO_WAGO_3) return TRUE; + if(DO_1DAN_4 <= grm && grm <= DO_WAGO_4) return TRUE; + if(DO_KAGO_7 <= grm && grm <= DO_WAGO_7) return TRUE; + if(DO_KAGO_8 <= grm && grm <= DO_WAGO_8) return TRUE; + if(SP_SA_MI1 <= grm && grm <= TANKANJI) return TRUE; return FALSE; } - - unsigned int -addel_arg (unsigned char *yp, unsigned char *kp, TypeGram grm, unsigned char *nyp, int len) -{ - unsigned int err = 0; +addel_arg(unsigned char* yp, unsigned char* kp, TypeGram grm, unsigned char* nyp, int len) { + unsigned int err = 0; - if (!sj2cd_str(yp, nyp, len)) err |= AD_BadYomi; - if (!isvyomi(nyp)) err |= AD_BadYomi; - if (!isvknj(kp)) err |= AD_BadKanji; - if (!isgrm(grm)) err |= AD_BadHinsi; + if(!sj2cd_str(yp, nyp, len)) err |= AD_BadYomi; + if(!isvyomi(nyp)) err |= AD_BadYomi; + if(!isvknj(kp)) err |= AD_BadKanji; + if(!isgrm(grm)) err |= AD_BadHinsi; return err; } +static void +yomi2kata(unsigned char* src, unsigned char* dst) { + int first; + int second; - -static void -yomi2kata (unsigned char *src, unsigned char *dst) -{ - int first; - int second; - - while ((first = *src++) != 0) { + while((first = *src++) != 0) { second = *src++; - if (first != 0xa4) { + if(first != 0xa4) { *dst++ = first; *dst++ = second; - } - else { + } else { *dst++ = 0xa5; *dst++ = second; } @@ -168,123 +145,108 @@ yomi2kata (unsigned char *src, unsigned char *dst) *dst = 0; } - - -static int -top_strcmp (unsigned char *src, unsigned char *dst) -{ - int i; - for (i = 0 ; *src && (*src == *dst) ; src++, dst++) i++; +static int +top_strcmp(unsigned char* src, unsigned char* dst) { + int i; + for(i = 0; *src && (*src == *dst); src++, dst++) i++; i /= 2; return (i > MaxYomiAskNumber) ? MaxYomiAskNumber : i; } - - -static int -last_strcmp (unsigned char *src, unsigned char *dst) -{ - int slen; - int dlen; +static int +last_strcmp(unsigned char* src, unsigned char* dst) { + int slen; + int dlen; slen = strlen(src); dlen = strlen(dst); - if (dlen > MaxYomiAskNumber * 2) return 0; + if(dlen > MaxYomiAskNumber * 2) return 0; - if (strcmp(src + (slen - dlen), dst)) return 0; + if(strcmp(src + (slen - dlen), dst)) return 0; return (dlen / 2); } +int cvtknj(unsigned char* yomi, unsigned char* knj, unsigned char* dst) { + unsigned char kana[MaxWdYomiLen * 2 + 1]; + int len; + unsigned char* keep; + keep = dst; + yomi2kata(yomi, kana); -int -cvtknj (unsigned char *yomi, unsigned char *knj, unsigned char *dst) -{ - unsigned char kana[MaxWdYomiLen * 2 + 1]; - int len; - unsigned char *keep; - - keep = dst; - yomi2kata(yomi, kana); - - if ((len = top_strcmp(yomi, knj)) != 0) { - *dst = (unsigned char)(ZenHiraAssyuku | (len - 1)); - } - else if ((len = top_strcmp(kana, knj)) != 0) { - *dst = (unsigned char)(ZenKataAssyuku | (len - 1)); + if((len = top_strcmp(yomi, knj)) != 0) { + *dst = (unsigned char)(ZenHiraAssyuku | (len - 1)); + } else if((len = top_strcmp(kana, knj)) != 0) { + *dst = (unsigned char)(ZenKataAssyuku | (len - 1)); } - if (len) { + if(len) { knj += len * 2; dst++; } - if (*knj) { - for ( ; ; ) { - if ((len = last_strcmp(yomi, knj)) != 0) { + if(*knj) { + for(;;) { + if((len = last_strcmp(yomi, knj)) != 0) { *dst++ = (unsigned char)(ZenHiraAssyuku | (len - 1)); break; - } - else if ((len = last_strcmp(kana, knj)) != 0) { + } else if((len = last_strcmp(kana, knj)) != 0) { *dst++ = (unsigned char)(ZenKataAssyuku | (len - 1)); break; - } - else if (*knj == SS2) { + } else if(*knj == SS2) { knj++; *dst++ = (unsigned char)LeadingHankaku; *dst++ = *knj++; - } else if (*knj == SS3) { + } else if(*knj == SS3) { + knj++; + *dst++ = (*knj & NormalKanjiMask); knj++; - *dst++ = (*knj & NormalKanjiMask); knj++; *dst++ = *knj++; - } else if (*knj & 0x80) { - *dst++ = (*knj & NormalKanjiMask); knj++; - *dst++ = (*knj & NormalKanjiMask); knj++; - } - else { + } else if(*knj & 0x80) { + *dst++ = (*knj & NormalKanjiMask); + knj++; + *dst++ = (*knj & NormalKanjiMask); + knj++; + } else { *dst++ = (unsigned char)LeadingHankaku; *dst++ = *knj++; } - if (!*knj) { + if(!*knj) { break; } } } - *dst = 0; + *dst = 0; return (dst - keep); } - - -int -srchkana (unsigned char **ptr, int *saml) -{ - unsigned char *p; - int cmp; - int cnt = 0; - unsigned char same; - int flg = 0; +int srchkana(unsigned char** ptr, int* saml) { + unsigned char* p; + int cmp; + int cnt = 0; + unsigned char same; + int flg = 0; same = 0; p = segtop(); - while (!segend(p)) { + while(!segend(p)) { - if (flg == 0) { + if(flg == 0) { cmp = yomicmp(cnvstart, p, &same); - if (cmp == OVER) break; + if(cmp == OVER) break; - if (cmp == MATCH && *(cnvstart + same) == 0) { - *ptr = p; + if(cmp == MATCH && *(cnvstart + same) == 0) { + *ptr = p; *saml = same; - flg = 1; + flg = 1; } } @@ -292,99 +254,84 @@ srchkana (unsigned char **ptr, int *saml) cnt++; } - if (flg != 0) return cnt; + if(flg != 0) return cnt; - *ptr = p; + *ptr = p; *saml = same; return 0; } - - -int -srchgram (unsigned char *ptr, unsigned char **dst, TypeGram hinsi) -{ - unsigned char *endp; - int cnt = 0, nlen; - int flg = FALSE; +int srchgram(unsigned char* ptr, unsigned char** dst, TypeGram hinsi) { + unsigned char* endp; + int cnt = 0, nlen; + int flg = FALSE; endp = getntag(ptr); nlen = getnlen(ptr); - ptr += DouonBlkSizeNumber + nlen; - while (ptr < endp) { - if (*ptr == hinsi) { + ptr += DouonBlkSizeNumber + nlen; + while(ptr < endp) { + if(*ptr == hinsi) { *dst = ptr; - flg = TRUE; + flg = TRUE; } do { ptr += codesize(*ptr); - } while (*ptr != HinsiBlkTerm); + } while(*ptr != HinsiBlkTerm); ptr++; cnt++; } - if (flg) return cnt; + if(flg) return cnt; *dst = ptr; return 0; } - - -int -srchkanji (unsigned char **dst, unsigned char *knj, int klen) -{ - unsigned char *ptr; - unsigned char *p, *q; - int len; - int flg = FALSE; - int cnt = 0; +int srchkanji(unsigned char** dst, unsigned char* knj, int klen) { + unsigned char* ptr; + unsigned char *p, *q; + int len; + int flg = FALSE; + int cnt = 0; ptr = *dst + 1; - while (*ptr != HinsiBlkTerm) { - for (p = ptr, q = knj, len = klen ; len ; len--) - if (*p++ != *q++) break; + while(*ptr != HinsiBlkTerm) { + for(p = ptr, q = knj, len = klen; len; len--) + if(*p++ != *q++) break; - if (!len) { + if(!len) { *dst = ptr; - flg = TRUE; + flg = TRUE; } - while (!(*ptr == KanjiStrEnd)) { + while(!(*ptr == KanjiStrEnd)) { ptr += codesize(*ptr); } - ptr++; + ptr++; cnt++; } - if (!flg) *dst = ptr; + if(!flg) *dst = ptr; return cnt; } - - TypeIdxOfs -count_uidx (void) -{ - unsigned char *p; +count_uidx(void) { + unsigned char* p; p = get_idxptr(curdict->segunit - 1); - while (*p++) ; + while(*p++); return (curdict->idxlen - (p - idxbuf)); } - - -void -chg_uidx (TypeDicSeg seg, unsigned char *yomi, int len) -{ - unsigned char *p, *q; - int olen; +void chg_uidx(TypeDicSeg seg, unsigned char* yomi, int len) { + unsigned char *p, *q; + int olen; p = get_idxptr(seg); @@ -392,17 +339,15 @@ chg_uidx (TypeDicSeg seg, unsigned char *yomi, int len) q = idxbuf + curdict->idxlen; - if (len > olen) { - mvmemd(q - (len-olen), q, (int)(q - (len-olen) - p)); - } - else { - mvmemi(p + (olen-len), p, (int)(q - (p + (olen-len)))); + if(len > olen) { + mvmemd(q - (len - olen), q, (int)(q - (len - olen) - p)); + } else { + mvmemi(p + (olen - len), p, (int)(q - (p + (olen - len)))); } - while (len--) *p++ = *yomi++; + while(len--) *p++ = *yomi++; (*curdict->putidx)(curdict, 0); mkidxtbl(curdict); } - diff --git a/alloc.c b/alloc.c index 34cc4cf..71abd07 100644 --- a/alloc.c +++ b/alloc.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,15 +28,13 @@ */ /* - * $SonyRCSfile: alloc.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: alloc.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:28 $ * * $Id$ */ - - #include #include #include "sj_rename.h" @@ -46,64 +44,57 @@ #include "sj_struct.h" #include "kanakan.h" -#define JREC_NUM 128 -#define CLREC_NUM 128 +#define JREC_NUM 128 +#define CLREC_NUM 128 -static JREC *jrec = NULL; -static CLREC *clrec = NULL; +static JREC* jrec = NULL; +static CLREC* clrec = NULL; -JREC* -alloc_jrec(void) -{ - JREC *p; - int i; +JREC* alloc_jrec(void) { + JREC* p; + int i; - if (jrec == NULL) { - jrec = (JREC *)malloc(sizeof(JREC) * JREC_NUM); - if (jrec == NULL) return (JREC *)malloc(sizeof(JREC)); - for (i = 0, p = jrec ; i < JREC_NUM - 1 ; i++, p++) - p -> jsort = p + 1; - p -> jsort = NULL; + if(jrec == NULL) { + jrec = (JREC*)malloc(sizeof(JREC) * JREC_NUM); + if(jrec == NULL) return (JREC*)malloc(sizeof(JREC)); + for(i = 0, p = jrec; i < JREC_NUM - 1; i++, p++) + p->jsort = p + 1; + p->jsort = NULL; } - p = jrec; - jrec = jrec -> jsort; + p = jrec; + jrec = jrec->jsort; return p; } -void -free_jrec(JREC *p) -{ - if (p != NULL) { - p -> jsort = jrec; - jrec = p; +void free_jrec(JREC* p) { + if(p != NULL) { + p->jsort = jrec; + jrec = p; } } CLREC* -alloc_clrec(void) -{ - CLREC *p; - int i; +alloc_clrec(void) { + CLREC* p; + int i; - if (clrec == NULL) { - clrec = (CLREC *)malloc(sizeof(CLREC) * CLREC_NUM); - if (clrec == NULL) return (CLREC *)malloc(sizeof(CLREC)); - for (i = 0, p = clrec ; i < CLREC_NUM - 1 ; i++, p++) - p -> clsort = p + 1; - p -> clsort = NULL; + if(clrec == NULL) { + clrec = (CLREC*)malloc(sizeof(CLREC) * CLREC_NUM); + if(clrec == NULL) return (CLREC*)malloc(sizeof(CLREC)); + for(i = 0, p = clrec; i < CLREC_NUM - 1; i++, p++) + p->clsort = p + 1; + p->clsort = NULL; } - p = clrec; - clrec = clrec -> clsort; + p = clrec; + clrec = clrec->clsort; return p; } -void -free_clrec(CLREC* p) -{ - if (p != NULL) { - p -> clsort = clrec; - clrec = p; +void free_clrec(CLREC* p) { + if(p != NULL) { + p->clsort = clrec; + clrec = p; } } diff --git a/char.c b/char.c index c806d87..d7dd900 100644 --- a/char.c +++ b/char.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -27,7 +27,6 @@ * */ - #include #include @@ -35,56 +34,56 @@ #include "sj_euc.h" #include "const.h" +int cnvyomi(int code) { + unsigned short hh; + unsigned char high; + unsigned char low; -int -cnvyomi(int code) -{ - unsigned short hh; - unsigned char high; - unsigned char low; - - hh = ((code >> 16) & 0xffff); + hh = ((code >> 16) & 0xffff); high = ((code >> 8) & 0xff); - low = (code & 0xff); + low = (code & 0xff); - if (!hh) { - if (high == 0xa1) { - switch (low) { - case 0xbc: return 1; - case 0xf4: return 2; - case 0xf7: return 3; - case 0xa7: return 4; + if(!hh) { + if(high == 0xa1) { + switch(low) { + case 0xbc: + return 1; + case 0xf4: + return 2; + case 0xf7: + return 3; + case 0xa7: + return 4; } - } - else if (high == 0xa2) { - if (low == 0xa9) - return 4; - } - else if (high == 0xa3) { - if (low < 0xb0) - ; - else if (low <= 0xb9) - return(low - 0xb0 + 0x10); - else if (low < 0xc0) - ; - else if (low <= 0xda) - return(low - 0xc1 + 0x1A); - else if (low < 0xe1) - ; - else if (low <= 0xfa) - return(low - 0xe1 + 0x34); - } - else if (high == 0xa4) { - if (low < 0xa1) - ; - else if (low <= 0xf3) - return(low - 0xa1 + 0x4e); - } - else if (high == 0xa5) { - switch (low) { - case 0xf4: return 0xa1; - case 0xf5: return 0xa2; - case 0xf6: return 0xa3; + } else if(high == 0xa2) { + if(low == 0xa9) + return 4; + } else if(high == 0xa3) { + if(low < 0xb0) + ; + else if(low <= 0xb9) + return (low - 0xb0 + 0x10); + else if(low < 0xc0) + ; + else if(low <= 0xda) + return (low - 0xc1 + 0x1A); + else if(low < 0xe1) + ; + else if(low <= 0xfa) + return (low - 0xe1 + 0x34); + } else if(high == 0xa4) { + if(low < 0xa1) + ; + else if(low <= 0xf3) + return (low - 0xa1 + 0x4e); + } else if(high == 0xa5) { + switch(low) { + case 0xf4: + return 0xa1; + case 0xf5: + return 0xa2; + case 0xf6: + return 0xa3; } } } @@ -92,23 +91,20 @@ cnvyomi(int code) return 0; } +int h2kcode(int code) { + unsigned short hh; + unsigned char high; + unsigned char low; -int -h2kcode(int code) -{ - unsigned short hh; - unsigned char high; - unsigned char low; - - hh = ((code >> 16) & 0xffff); + hh = ((code >> 16) & 0xffff); high = ((code >> 8) & 0xff); - low = (code & 0xff); + low = (code & 0xff); - if (!hh) { - if (high != 0xa4) - return code; - else - return (code + 0x0100); + if(!hh) { + if(high != 0xa4) + return code; + else + return (code + 0x0100); } /* XXX: what should we do if we reach here? * XXX: I do not know if it is correct, but return 0 for now. @@ -116,153 +112,155 @@ h2kcode(int code) return (0); } - -int -codesize(unsigned char code) -{ - switch (code&KanjiModeMask) { - case ZenHiraAssyuku: - case ZenKataAssyuku: - case KanjiAssyuku: - case KanjiStrEnd: +int codesize(unsigned char code) { + switch(code & KanjiModeMask) { + case ZenHiraAssyuku: + case ZenKataAssyuku: + case KanjiAssyuku: + case KanjiStrEnd: return 1; - case LeadingHankaku: - case OffsetAssyuku: - case AiAttribute: + case LeadingHankaku: + case OffsetAssyuku: + case AiAttribute: return 2; - default: + default: return 2; } } - -void -output_knj(FILE* fp, unsigned char* p, int l) -{ - while (l > 0) { - switch (*p & KanjiModeMask) { - case ZenHiraAssyuku: +void output_knj(FILE* fp, unsigned char* p, int l) { + while(l > 0) { + switch(*p & KanjiModeMask) { + case ZenHiraAssyuku: fprintf(fp, "\244\322%d", (*p++ & 0x0f) + 1); l--; break; - case ZenKataAssyuku: + case ZenKataAssyuku: fprintf(fp, "\245\253%d", (*p++ & 0x0f) + 1); l--; break; - case KanjiAssyuku: + case KanjiAssyuku: fprintf(fp, "\260\265%1x", (*p++ & 0x0f)); l--; break; - case LeadingHankaku: -#ifndef UseHankakuInDict + case LeadingHankaku: +#ifndef UseHankakuInDict l = 0; fprintf(stderr, "\244\252\244\253\244\267\244\244"); #else - fputc(*p++, fp); l--; - fputc(*p++, fp); l--; + fputc(*p++, fp); + l--; + fputc(*p++, fp); + l--; #endif break; - case OffsetAssyuku: + case OffsetAssyuku: fprintf(fp, "ofs%1x", (*p++ & 0x0f)); l--; - fprintf(fp, "%02x", *p++); l--; + fprintf(fp, "%02x", *p++); + l--; break; - case AiAttribute: + case AiAttribute: fprintf(fp, "\302\260%1x", (*p++ & 0x0f)); - l--; - fprintf(fp, "%02x", *p++); l--; + l--; + fprintf(fp, "%02x", *p++); + l--; break; - case KanjiStrEnd: - p++; l--; + case KanjiStrEnd: + p++; + l--; break; - default: - if (p[1] & 0x80) - fputc(SS3, fp); - fputc((*p | 0x80), fp); l--; p++; - fputc((*p | 0x80), fp); l--; p++; - - } + default: + if(p[1] & 0x80) + fputc(SS3, fp); + fputc((*p | 0x80), fp); + l--; + p++; + fputc((*p | 0x80), fp); + l--; + p++; + } } } - -void -output_str(FILE* fp, char* p) -{ - while (*p) { fputc(*p, fp); p++; } -} - - -void -output_int(FILE* fp, int* p) -{ - while (*p) { - if (*p < 0x100) { - fputc(*p, fp); p++; - } - else if (*p < 0x10000) { - fputc((*p >> 8) & 0xff, fp); - fputc(*p & 0xff, fp); p++; - } - else if (*p < 0x1000000) { - fputc((*p >> 16) & 0xff, fp); - fputc((*p >> 8) & 0xff, fp); - fputc(*p & 0xff, fp); p++; - } - else { - fputc((*p >> 24) & 0xff, fp); - fputc((*p >> 16) & 0xff, fp); - fputc((*p >> 8) & 0xff, fp); - fputc(*p & 0xff, fp); p++; - } +void output_str(FILE* fp, char* p) { + while(*p) { + fputc(*p, fp); + p++; } } +void output_int(FILE* fp, int* p) { + while(*p) { + if(*p < 0x100) { + fputc(*p, fp); + p++; + } else if(*p < 0x10000) { + fputc((*p >> 8) & 0xff, fp); + fputc(*p & 0xff, fp); + p++; + } else if(*p < 0x1000000) { + fputc((*p >> 16) & 0xff, fp); + fputc((*p >> 8) & 0xff, fp); + fputc(*p & 0xff, fp); + p++; + } else { + fputc((*p >> 24) & 0xff, fp); + fputc((*p >> 16) & 0xff, fp); + fputc((*p >> 8) & 0xff, fp); + fputc(*p & 0xff, fp); + p++; + } + } +} static int -yomi2zen(int code) -{ - static char num[] = { - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' - }; +yomi2zen(int code) { + static char num[] = { + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; - switch (code) { - case 0x01: return 0xa1bc; - case 0x02: return 0xa1f4; - case 0x03: return 0xa1f7; - case 0x04: return 0xa2a9; - case 0xa1: return 0xa5f4; - case 0xa2: return 0xa5f5; - case 0xa3: return 0xa5f6; - default: break; + switch(code) { + case 0x01: + return 0xa1bc; + case 0x02: + return 0xa1f4; + case 0x03: + return 0xa1f7; + case 0x04: + return 0xa2a9; + case 0xa1: + return 0xa5f4; + case 0xa2: + return 0xa5f5; + case 0xa3: + return 0xa5f6; + default: + break; } - if (code < 0x10) + if(code < 0x10) ; - else if (code < 0x1a) - return(0xa300 + code - 0x10 + 0xb0); + else if(code < 0x1a) + return (0xa300 + code - 0x10 + 0xb0); - else if (code < 0x34) - return(0xa300 + code - 0x1a + 0xc1); + else if(code < 0x34) + return (0xa300 + code - 0x1a + 0xc1); - else if (code < 0x4e) - return(0xa300 + code - 0x34 + 0xe1); + else if(code < 0x4e) + return (0xa300 + code - 0x34 + 0xe1); - else if (code < 0xa1) - return(0xa400 + code - 0x4e + 0xa1); + else if(code < 0xa1) + return (0xa400 + code - 0x4e + 0xa1); return ((num[(code >> 4) & 0x0f] << 8) | num[code & 0x0f]); } +void output_yomi(FILE* fp, unsigned char* p) { + int i; -void -output_yomi(FILE* fp, unsigned char* p) -{ - int i; - - while (*p) { + while(*p) { i = yomi2zen(*p++); fputc((i >> 8) & 0xff, fp); fputc(i & 0xff, fp); diff --git a/charsize.c b/charsize.c index e37bc6b..6272f37 100644 --- a/charsize.c +++ b/charsize.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,35 +28,31 @@ */ /* - * $SonyRCSfile: charsize.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: charsize.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:29 $ * * $Id$ */ - #include "sj_euc.h" #include "sj_rename.h" #include "sj_typedef.h" #include "sj_dict.h" #include "kanakan.h" -int -codesize(unsigned char code) -{ - switch (code & KanjiModeMask) { - case ZenHiraAssyuku: - case ZenKataAssyuku: - case KanjiAssyuku: - case KanjiStrEnd: +int codesize(unsigned char code) { + switch(code & KanjiModeMask) { + case ZenHiraAssyuku: + case ZenKataAssyuku: + case KanjiAssyuku: + case KanjiStrEnd: return 1; - case LeadingHankaku: - case OffsetAssyuku: - case AiAttribute: + case LeadingHankaku: + case OffsetAssyuku: + case AiAttribute: + return 2; + default: return 2; - default: - return 2; } } - diff --git a/chrtbl.c b/chrtbl.c index c3f4684..ee9cbb4 100644 --- a/chrtbl.c +++ b/chrtbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,276 +28,270 @@ */ /* - * $SonyRCSfile: chrtbl.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: chrtbl.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:30 $ */ - - - #include "const.h" #include "sj_rename.h" #include "sj_typedef.h" - - -unsigned char chrtbl[256] = -{ - 0, - FZKTOP, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU + BEFORNUM, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + NUMBER, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DICTOP + TAI_KGU, - DEPEND, - DICTOP, - DEPEND, - DICTOP, - DEPEND, - DICTOP, - DEPEND, - DICTOP, - DEPEND, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - FZKTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DEPEND, - DICTOP, - DEPEND, - DICTOP, - DEPEND, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DICTOP, - DEPEND, - DICTOP, - DICTOP, - DICTOP, - FZKTOP, - DICTOP, - DICTOP, - DEPEND, - DEPEND, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - FZK_KGU, - FZK_KGU, - FZK_KGU + MIDNUM, - FZK_KGU + MIDNUM, - FZK_KGU + TAI_KGU, - FZK_KGU + TAI_KGU, - TAI_KGU + BEFORNUM, - TAI_KGU, - FZK_KGU, - TAI_KGU, - TAI_KGU, - TAI_KGU, - TAI_KGU, - 0 -}; +unsigned char chrtbl[256] = + { + 0, + FZKTOP, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU + BEFORNUM, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + NUMBER, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DICTOP + TAI_KGU, + DEPEND, + DICTOP, + DEPEND, + DICTOP, + DEPEND, + DICTOP, + DEPEND, + DICTOP, + DEPEND, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + FZKTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DEPEND, + DICTOP, + DEPEND, + DICTOP, + DEPEND, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DICTOP, + DEPEND, + DICTOP, + DICTOP, + DICTOP, + FZKTOP, + DICTOP, + DICTOP, + DEPEND, + DEPEND, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + FZK_KGU, + FZK_KGU, + FZK_KGU + MIDNUM, + FZK_KGU + MIDNUM, + FZK_KGU + TAI_KGU, + FZK_KGU + TAI_KGU, + TAI_KGU + BEFORNUM, + TAI_KGU, + FZK_KGU, + TAI_KGU, + TAI_KGU, + TAI_KGU, + TAI_KGU, + 0}; diff --git a/cl2knj.c b/cl2knj.c index d9449b3..804cb30 100644 --- a/cl2knj.c +++ b/cl2knj.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,45 +28,40 @@ */ /* - * $SonyRCSfile: cl2knj.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: cl2knj.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:31 $ * * $Id$ */ - #include #include "sj_kcnv.h" #include "kanakan.h" - -int sj2cd_chr(); -void cvtclknj(), freework(); - +int sj2cd_chr(); +void cvtclknj(), freework(); static CLREC* nextrecblk(void); static CLREC* prevrecblk(void); -static void initkbuf(unsigned char* kouho); +static void initkbuf(unsigned char* kouho); - -int -cl2knj(unsigned char* yomi, int len, unsigned char* kouho) -{ - unsigned char *ptr1; - unsigned char *ptr2; - int i; +int cl2knj(unsigned char* yomi, int len, unsigned char* kouho) { + unsigned char* ptr1; + unsigned char* ptr2; + int i; khcount = nkhcount = 0; initkbuf(kouho); - if (len > MaxClInputLen * 2) len = MaxClInputLen * 2; + if(len > MaxClInputLen * 2) len = MaxClInputLen * 2; - ptr1 = yomi; ptr2 = hyomi; - for (i = 0 ; i < len ; i++) { - if (isknj1(*ptr1)) { - if (++i >= len) break; + ptr1 = yomi; + ptr2 = hyomi; + for(i = 0; i < len; i++) { + if(isknj1(*ptr1)) { + if(++i >= len) break; } ptr1 += sj2cd_chr(ptr1, ptr2++); } @@ -74,17 +69,17 @@ cl2knj(unsigned char* yomi, int len, unsigned char* kouho) strlcpy(yomi, orgyomi, (int)(ptr1 - yomi)); - if (!hyomi[0]) return 0; + if(!hyomi[0]) return 0; freework(); inputyomi = orgyomi; cnvstart = ystart = hyomi; - cnvlen = strlen(hyomi); + cnvlen = strlen(hyomi); mkjiritu(0); mkbunsetu(); - if (!maxclptr) wakachi(); + if(!maxclptr) wakachi(); jrt1st = maxjptr; clt1st = maxclptr; @@ -96,120 +91,100 @@ cl2knj(unsigned char* yomi, int len, unsigned char* kouho) cvtclknj(); - return hzstrlen(inputyomi, (int)clt1st -> cllen); + return hzstrlen(inputyomi, (int)clt1st->cllen); } - - -int -nextcl(unsigned char* kouho, int mode) -{ - CLREC *clptr; +int nextcl(unsigned char* kouho, int mode) { + CLREC* clptr; initkbuf(kouho); - if (!khcount) return 0; + if(!khcount) return 0; - if (!mode && (selectid < khcount)) { - selectid++; - } - else if((mode < 2) && (clptr = nextrecblk())) { - selectid = 1; - clt1st = clptr; - mkkouho(); - getrank(); - } - else { - cvtclknj(); + if(!mode && (selectid < khcount)) { + selectid++; + } else if((mode < 2) && (clptr = nextrecblk())) { + selectid = 1; + clt1st = clptr; + mkkouho(); + getrank(); + } else { + cvtclknj(); return 0; } - cvtclknj(); + cvtclknj(); - return hzstrlen(inputyomi, (int)clt1st -> cllen); + return hzstrlen(inputyomi, (int)clt1st->cllen); } - static CLREC* -nextrecblk(void) -{ - CLREC *clptr; - int keeplen; +nextrecblk(void) { + CLREC* clptr; + int keeplen; - keeplen = clt1st -> cllen; - clptr = clt1st -> clsort; + keeplen = clt1st->cllen; + clptr = clt1st->clsort; - while (clptr && (int)clptr -> cllen == keeplen) - clptr = clptr -> clsort; + while(clptr && (int)clptr->cllen == keeplen) + clptr = clptr->clsort; return clptr; } - -int -prevcl(unsigned char* kouho, int mode) -{ - CLREC *clptr; +int prevcl(unsigned char* kouho, int mode) { + CLREC* clptr; initkbuf(kouho); - if (!khcount) return 0; + if(!khcount) return 0; - if (!mode && (selectid > 1)) { + if(!mode && (selectid > 1)) { selectid--; - } - else if ((mode < 2) && (clptr = prevrecblk())) { + } else if((mode < 2) && (clptr = prevrecblk())) { clt1st = clptr; - mkkouho(); - getrank(); - selectid = khcount; - } - else { - cvtclknj(); + mkkouho(); + getrank(); + selectid = khcount; + } else { + cvtclknj(); return 0; } - cvtclknj(); + cvtclknj(); - return hzstrlen(inputyomi, (int)clt1st -> cllen); + return hzstrlen(inputyomi, (int)clt1st->cllen); } - static CLREC* -prevrecblk(void) -{ - CLREC *clptr; - CLREC *keepptr; - int keeplen; - int cllen; +prevrecblk(void) { + CLREC* clptr; + CLREC* keepptr; + int keeplen; + int cllen; clptr = maxclptr; - if ((cllen = clt1st -> cllen) == clptr -> cllen) + if((cllen = clt1st->cllen) == clptr->cllen) return NULL; - while ((int)clptr -> cllen > cllen) { - keeplen = clptr -> cllen; + while((int)clptr->cllen > cllen) { + keeplen = clptr->cllen; keepptr = clptr; - while ((int)clptr -> cllen == keeplen) - clptr = clptr -> clsort; + while((int)clptr->cllen == keeplen) + clptr = clptr->clsort; } return keepptr; } - static void -initkbuf(unsigned char* kouho) -{ +initkbuf(unsigned char* kouho) { kanjitmp = kouho; memset(kanjitmp, 0, sizeof(STDYOUT) + 1); } - -int -selectnum(void) -{ +int selectnum(void) { return selectid; } diff --git a/clstudy.c b/clstudy.c index fb3d30d..4e40b39 100644 --- a/clstudy.c +++ b/clstudy.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,88 +28,80 @@ */ /* - * $SonyRCSfile: clstudy.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: clstudy.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:32 $ * * $Id$ */ - #include #include #include "sj_kcnv.h" #include "kanakan.h" - -int sj2cd_str(); -void mvmemd(), mvmemi(); +int sj2cd_str(); +void mvmemd(), mvmemi(); static unsigned char* delcldata(unsigned char* ycode); -static int delclold(void); +static int delclold(void); static unsigned char* srchclpos(unsigned char* ycode); +int clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT* stdy) { + unsigned char ytmp[CLSTDY_TMPLEN]; + unsigned char *dst, *ptr; + int ret; + int len1, len2; + int alen, blen; + int i; -int -clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT *stdy) -{ - unsigned char ytmp[CLSTDY_TMPLEN]; - unsigned char *dst, *ptr; - int ret; - int len1, len2; - int alen, blen; - int i; + if(!StudyExist()) return ClstudyNoDict; - if (!StudyExist()) return ClstudyNoDict; + if(!yomi1 || !*yomi1) return ClstudyParaErr; - if (!yomi1 || !*yomi1) return ClstudyParaErr; - - if (!yomi2 || !*yomi2) { - if (!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN)) + if(!yomi2 || !*yomi2) { + if(!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN)) return ClstudyYomiErr; (void)delcldata(ytmp); ret = ClstudyNormEnd; - } - else if (!stdy) { + } else if(!stdy) { return ClstudyParaErr; - } - else { - if (!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN)) + } else { + if(!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN)) return ClstudyYomiErr; len1 = strlen(ytmp); - if (!sj2cd_str(yomi2, ytmp + len1, CLSTDY_TMPLEN - len1)) + if(!sj2cd_str(yomi2, ytmp + len1, CLSTDY_TMPLEN - len1)) return ClstudyYomiErr; - len2 = len1 + stdy -> len; + len2 = len1 + stdy->len; ytmp[len2] = 0; - alen = len2 + CL_HDLEN; + alen = len2 + CL_HDLEN; - if (alen + 1 >= ClStudyLen) return ClstudyNoArea; + if(alen + 1 >= ClStudyLen) return ClstudyNoArea; blen = ClStudyTail - delcldata(ytmp) - 1; - while (blen < alen) { - if (!(i = delclold())) break; + while(blen < alen) { + if(!(i = delclold())) break; blen += i; } - if (blen >= alen) { + if(blen >= alen) { dst = srchclpos(ytmp); ptr = ClStudyTail - alen; mvmemd(ptr, ClStudyTail, (ptr - dst)); - ClYomiLen(dst) = (unsigned char)len2; - ClGramCode(dst) = stdy -> hinshi; + ClYomiLen(dst) = (unsigned char)len2; + ClGramCode(dst) = stdy->hinshi; ClYomi1Len(dst) = (unsigned char)len1; ClSetNum(dst, 1); memcpy(ytmp, ClYomiPos(dst), len2); ret = ClstudyNormEnd; - } - else { + } else { ret = ClstudyNoArea; } } @@ -120,32 +112,29 @@ clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT *stdy) return ret; } - static unsigned char* -delcldata(unsigned char* ycode) -{ - unsigned char *tagptr; - unsigned char *ptr1; - unsigned char *ptr2; - int len1; +delcldata(unsigned char* ycode) { + unsigned char* tagptr; + unsigned char* ptr1; + unsigned char* ptr2; + int len1; tagptr = ClStudyDict; - while (!iseocl(tagptr)) { + while(!iseocl(tagptr)) { ptr1 = ycode; ptr2 = ClYomiPos(tagptr); len1 = ClYomiLen(tagptr); - while (*ptr1 && len1) { - if (*ptr1 != *ptr2) break; + while(*ptr1 && len1) { + if(*ptr1 != *ptr2) break; ptr1++; ptr2++; len1--; } - if (!*ptr1 || !len1) { + if(!*ptr1 || !len1) { delclsub(tagptr); - } - else { + } else { tagptr = ClNextTag(tagptr); } } @@ -153,14 +142,11 @@ delcldata(unsigned char* ycode) return tagptr; } - -void -delclsub(unsigned char* target) -{ - unsigned char *src; - int num; - int tmp; - int len; +void delclsub(unsigned char* target) { + unsigned char* src; + int num; + int tmp; + int len; num = ClGetNum(target); len = ClBlkLen(target); @@ -169,10 +155,10 @@ delclsub(unsigned char* target) memset(ClStudyTail - len, 0, len); src = ClStudyDict; - while (!iseocl(src)) { + while(!iseocl(src)) { tmp = ClGetNum(src); - if (tmp > num) { + if(tmp > num) { tmp -= 1; ClSetNum(src, tmp); } @@ -181,32 +167,30 @@ delclsub(unsigned char* target) } } - static int -delclold(void) -{ - unsigned char *tagptr; - unsigned char *target; - int num; - int tmp; +delclold(void) { + unsigned char* tagptr; + unsigned char* target; + int num; + int tmp; target = NULL; - num = 0; + num = 0; tagptr = ClStudyDict; - while (!iseocl(tagptr)) { + while(!iseocl(tagptr)) { tmp = ClGetNum(tagptr); - if (tmp >= num) { - num = tmp; + if(tmp >= num) { + num = tmp; target = tagptr; } tagptr = ClNextTag(tagptr); } - if (target) { + if(target) { num = ClBlkLen(tagptr); delclsub(target); @@ -215,20 +199,18 @@ delclold(void) return num; } - static unsigned char* -srchclpos(unsigned char* ycode) -{ - unsigned char *tagptr; - unsigned char *target; - unsigned char *ptr1; - unsigned char *ptr2; - int len; - int tmp; +srchclpos(unsigned char* ycode) { + unsigned char* tagptr; + unsigned char* target; + unsigned char* ptr1; + unsigned char* ptr2; + int len; + int tmp; target = NULL; tagptr = ClStudyDict; - while (!iseocl(tagptr)) { + while(!iseocl(tagptr)) { tmp = ClGetNum(tagptr); tmp++; @@ -237,19 +219,19 @@ srchclpos(unsigned char* ycode) ptr1 = ycode; ptr2 = ClYomiPos(tagptr); len = ClYomiLen(tagptr); - while (*ptr1 && len) { - if (*ptr1 != *ptr2) break; + while(*ptr1 && len) { + if(*ptr1 != *ptr2) break; ptr1++; ptr2++; len--; } - if (!target) { - if (!len) + if(!target) { + if(!len) ; - else if (!*ptr1) + else if(!*ptr1) target = tagptr; - else if (*ptr1 < *ptr2) + else if(*ptr1 < *ptr2) target = tagptr; } @@ -259,26 +241,23 @@ srchclpos(unsigned char* ycode) return target ? target : tagptr; } +void mkclidx(void) { + unsigned char* ptr; + int num; + int st, ed; -void -mkclidx(void) -{ - unsigned char *ptr; - int num; - int st, ed; - - if (!StudyExist()) return; + if(!StudyExist()) return; ptr = ClStudyDict; - for (num = st = 0 ; st < 0x100 ; num++, st = ed) { + for(num = st = 0; st < 0x100; num++, st = ed) { ed = st + ClStudyStep; - while (!iseocl(ptr)) { - if ((unsigned int) *ClYomiPos(ptr) >= st) break; + while(!iseocl(ptr)) { + if((unsigned int)*ClYomiPos(ptr) >= st) break; ptr = ClNextTag(ptr); } - if (ClYomiLen(ptr) && ((int)*ClYomiPos(ptr) < ed)) + if(ClYomiLen(ptr) && ((int)*ClYomiPos(ptr) < ed)) ClStudyIdx[num] = ptr - ClStudyDict; else ClStudyIdx[num] = (unsigned short)-1; diff --git a/cmpstr.c b/cmpstr.c index 98b0460..361fb18 100644 --- a/cmpstr.c +++ b/cmpstr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,30 +28,26 @@ */ /* - * $SonyRCSfile: cmpstr.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: cmpstr.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:32 $ */ - - - - #include "sj_rename.h" #include "const.h" #include "sj_typedef.h" -int cmpstr(src, dst) -unsigned char *src; -unsigned char *dst; +int cmpstr(src, dst) +unsigned char* src; +unsigned char* dst; { - while (*src) { - if (*src != *dst) return FALSE; + while(*src) { + if(*src != *dst) return FALSE; src++; dst++; } - if (*dst) return FALSE; + if(*dst) return FALSE; return TRUE; } diff --git a/cnvhinsi.c b/cnvhinsi.c index d49471d..95c83a0 100644 --- a/cnvhinsi.c +++ b/cnvhinsi.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,89 +28,75 @@ */ /* - * $SonyRCSfile: cnvhinsi.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: cnvhinsi.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1996/05/27 06:59:47 $ */ - #include #include #include "dicttool.h" - struct gram_code { - char *name; - int code; + char* name; + int code; } gramtbl[] = { #include "GramTable" }; -#define GramMax (sizeof(gramtbl)/sizeof(struct gram_code) - 1) +#define GramMax (sizeof(gramtbl) / sizeof(struct gram_code) - 1) -int -u_strcmp(unsigned char* a, unsigned char* b) -{ - if (!a || !b) return 0; +int u_strcmp(unsigned char* a, unsigned char* b) { + if(!a || !b) return 0; - while (*a && *b) { - if (*a < *b) return -1; - if (*a > *b) return 1; + while(*a && *b) { + if(*a < *b) return -1; + if(*a > *b) return 1; a++; b++; } - if (!*a && !*b) return 0; - if (!*a) return -1; + if(!*a && !*b) return 0; + if(!*a) return -1; return 1; } - -int -cnvhinsi(unsigned char *buf) -{ - int min; - int max; - int mid; - int i; +int cnvhinsi(unsigned char* buf) { + int min; + int max; + int mid; + int i; min = 0; max = GramMax; - while (min <= max) { - + while(min <= max) { + mid = (min + max) / 2; - i = u_strcmp(buf, gramtbl[mid].name); - - if (i < 0) { + if(i < 0) { max = mid - 1; } - - else if (i > 0) { + + else if(i > 0) { min = mid + 1; } - + else { - return(gramtbl[mid].code); + return (gramtbl[mid].code); } } - return 0; } +char* hinsi_str(int code) { + int i; - -char* -hinsi_str(int code) -{ - int i; - - for (i = 0 ; i <= GramMax ; i++) { - if (gramtbl[i].code == code) return gramtbl[i].name; + for(i = 0; i <= GramMax; i++) { + if(gramtbl[i].code == code) return gramtbl[i].name; } return "Err"; diff --git a/code.c b/code.c index 05d734a..2819704 100644 --- a/code.c +++ b/code.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: code.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: code.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:09 $ */ - - #include "sj_sysvdef.h" #include "wchar16.h" #include "kctype.h" @@ -46,41 +44,41 @@ #include "rk.h" static unsigned char cbuf[5]; -static int cur_code = CODE_EUC; -extern int current_locale; -static int ccnt = 0; +static int cur_code = CODE_EUC; +extern int current_locale; +static int ccnt = 0; codeconv(c, rkstr) -wchar16_t c; -unsigned int *rkstr; + wchar16_t c; +unsigned int* rkstr; { unsigned short ccode, i; - unsigned short CheckCcode(); - extern int erase_char; + unsigned short CheckCcode(); + extern int erase_char; - if (c == erase_char) { - if (ccnt) { + if(c == erase_char) { + if(ccnt) { ccnt--; *rkstr++ = erase_char + ERRCODE; } else { *rkstr++ = erase_char; } - } else if (iswcntrl(c) || (WcIsKANJI(c) && ccnt == 0)) { + } else if(iswcntrl(c) || (WcIsKANJI(c) && ccnt == 0)) { *rkstr++ = c; - if (iswcntrl(c)) + if(iswcntrl(c)) ccnt = 0; - } else if ((ccode = CheckCcode(c)) > 0) { - if (ccnt == 4) { - if ((cur_code != CODE_EUC) || (cur_code != CODE_EUC2)) { - if ((cur_code == CODE_KUTEN) || (cur_code == CODE_KUTEN2)) - ccode += 0x2020; - ccode = jis2euc(ccode & 0x7f7f); - } - if ((cur_code == CODE_KUTEN2) || - (cur_code == CODE_JIS2) || (cur_code == CODE_EUC2)) + } else if((ccode = CheckCcode(c)) > 0) { + if(ccnt == 4) { + if((cur_code != CODE_EUC) || (cur_code != CODE_EUC2)) { + if((cur_code == CODE_KUTEN) || (cur_code == CODE_KUTEN2)) + ccode += 0x2020; + ccode = jis2euc(ccode & 0x7f7f); + } + if((cur_code == CODE_KUTEN2) || + (cur_code == CODE_JIS2) || (cur_code == CODE_EUC2)) ccode &= WcX0212MASK; ccnt--; - for (; ccnt > 0; ccnt--) + for(; ccnt > 0; ccnt--) *rkstr++ = erase_char + ERRCODE; *rkstr++ = SetMojilen(4) + ccode; } else @@ -91,104 +89,101 @@ unsigned int *rkstr; } unsigned short -CheckCcode (c) + CheckCcode(c) wchar16_t c; { - unsigned char c1; - unsigned short code; + unsigned char c1; + unsigned short code; - if (!WcIsASCII(c) || !isxdigit(WcLowByte(c)) || - (cur_code == CODE_KUTEN && !isdigit(WcLowByte(c)))) - return(0); - cbuf[ccnt] = WcLowByte(c); - cbuf[ccnt + 1] = '\0'; + if(!WcIsASCII(c) || !isxdigit(WcLowByte(c)) || + (cur_code == CODE_KUTEN && !isdigit(WcLowByte(c)))) + return (0); + cbuf[ccnt] = WcLowByte(c); + cbuf[ccnt + 1] = '\0'; - if ((cur_code == CODE_KUTEN) || (cur_code == CODE_KUTEN2)) { - if (ccnt % 2) { - code = (cbuf[ccnt-1] - '0') * 10 + cbuf[ccnt] - '0'; - if (code < 1 || code > 94) - return(0); - if (ccnt >= 3) - code += ((cbuf[0]-'0') * 10 + cbuf[1]-'0') << 8; + if((cur_code == CODE_KUTEN) || (cur_code == CODE_KUTEN2)) { + if(ccnt % 2) { + code = (cbuf[ccnt - 1] - '0') * 10 + cbuf[ccnt] - '0'; + if(code < 1 || code > 94) + return (0); + if(ccnt >= 3) + code += ((cbuf[0] - '0') * 10 + cbuf[1] - '0') << 8; } else - code = 1; + code = 1; } else { - code = (unsigned short)strtol((char *)cbuf, (char **)NULL, 16); - if (ccnt % 2) - c1 = code & 0xff; - else - c1 = code & 0xf; - switch(cur_code) { - case CODE_SJIS: - if (ccnt == 0 && (c1 == 8 || c1 == 9 || c1 >= 0xe)) - break; - if (ccnt == 1 && issjis1(c1)) - break; - if (ccnt == 2 && c1 >= 4) - break; - if (ccnt == 3 && issjis2(c1)) - break; - return(0); - case CODE_EUC: - case CODE_EUC2: - if (ccnt % 2 && iseuc(c1)) - break; - if (!(ccnt % 2) && (c1 >= 0xa && c1 <= 0xf)) - break; - return(0); - case CODE_JIS: - case CODE_JIS2: - if (ccnt % 2 && isjjis(c1)) - break; - if (!(ccnt % 2) && (c1 >= 2 && c1 <= 7)) - break; - return(0); + code = (unsigned short)strtol((char*)cbuf, (char**)NULL, 16); + if(ccnt % 2) + c1 = code & 0xff; + else + c1 = code & 0xf; + switch(cur_code) { + case CODE_SJIS: + if(ccnt == 0 && (c1 == 8 || c1 == 9 || c1 >= 0xe)) + break; + if(ccnt == 1 && issjis1(c1)) + break; + if(ccnt == 2 && c1 >= 4) + break; + if(ccnt == 3 && issjis2(c1)) + break; + return (0); + case CODE_EUC: + case CODE_EUC2: + if(ccnt % 2 && iseuc(c1)) + break; + if(!(ccnt % 2) && (c1 >= 0xa && c1 <= 0xf)) + break; + return (0); + case CODE_JIS: + case CODE_JIS2: + if(ccnt % 2 && isjjis(c1)) + break; + if(!(ccnt % 2) && (c1 >= 2 && c1 <= 7)) + break; + return (0); + } } -} - ccnt++; - return(code); + ccnt++; + return (code); } unsigned short -strtocode() -{ - int c; - unsigned short code; +strtocode() { + int c; + unsigned short code; - while (ccnt < 4) { - c = inkey(); - if (AnotherConversion ()) { - unget_key(c); - ccnt = 0; - return(-1); + while(ccnt < 4) { + c = inkey(); + if(AnotherConversion()) { + unget_key(c); + ccnt = 0; + return (-1); } - if ((code = CheckCcode(c)) == 0) { - ccnt = 0; - beep(); - return(0); + if((code = CheckCcode(c)) == 0) { + ccnt = 0; + beep(); + return (0); } } - ccnt = 0; - switch (cur_code) { - case CODE_SJIS : - return(sjis2jis(code)); - case CODE_KUTEN : - case CODE_KUTEN2: - return(code + 0x2020); - default : - return(code & 0x7f7f); + ccnt = 0; + switch(cur_code) { + case CODE_SJIS: + return (sjis2jis(code)); + case CODE_KUTEN: + case CODE_KUTEN2: + return (code + 0x2020); + default: + return (code & 0x7f7f); } } -void -ChangeCode (void) -{ - if (cur_code == CODE_KUTEN2) +void ChangeCode(void) { + if(cur_code == CODE_KUTEN2) cur_code = CODE_SJIS; else { - if (current_locale == LC_CTYPE_SHIFTJIS) { - if( cur_code == CODE_KUTEN) { - cur_code = CODE_SJIS; + if(current_locale == LC_CTYPE_SHIFTJIS) { + if(cur_code == CODE_KUTEN) { + cur_code = CODE_SJIS; return; } if(cur_code == CODE_SJIS) { @@ -197,18 +192,15 @@ ChangeCode (void) cur_code += 2; } } else - cur_code++; + cur_code++; } } -SetCode(code) -int code; +SetCode(code) int code; { cur_code = code; } -GetCcode() -{ - return(cur_code); +GetCcode() { + return (cur_code); } - diff --git a/codecnv.c b/codecnv.c index 1e3237f..5f2d10a 100644 --- a/codecnv.c +++ b/codecnv.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: codecnv.c,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: codecnv.c,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1997/01/23 11:26:31 $ */ - - #include #include #include @@ -42,69 +40,62 @@ #include "sjctype.h" #include "sjtool.h" -static int euc_mode; +static int euc_mode; -int -init_code() -{ - char *loc; +int init_code() { + char* loc; -#ifdef LACKOF_SETLOCALE - loc = getenv("LANG"); +#ifdef LACKOF_SETLOCALE + loc = getenv("LANG"); #else loc = setlocale(LC_CTYPE, ""); #endif - if (!loc) { + if(!loc) { fprintf(stderr, "Error: can't get current locale\n"); exit(1); } - if (strncmp(loc, "ja_JP.SJIS", 10) == 0) { + if(strncmp(loc, "ja_JP.SJIS", 10) == 0) { euc_mode = 0; - } else if (strncmp(loc, "ja", 2) == 0 || - strncmp(loc, "Ja", 2) == 0) { + } else if(strncmp(loc, "ja", 2) == 0 || + strncmp(loc, "Ja", 2) == 0) { euc_mode = -1; - } else + } else #ifdef __sony_news - return 0; + return 0; #else - { - fprintf(stderr, "Warrning: In this locale japanese will not be used.\n"); - euc_mode = -1; - } + { + fprintf(stderr, "Warrning: In this locale japanese will not be used.\n"); + euc_mode = -1; + } #endif return 1; } void -cnvcode(s) -unsigned char *s; + cnvcode(s) unsigned char* s; { - if (euc_mode) { - unsigned short i; - unsigned char *d = s; + if(euc_mode) { + unsigned short i; + unsigned char* d = s; - while ((i = *s++)) { - if (iseuckana(i)) { - if (*s) { + while((i = *s++)) { + if(iseuckana(i)) { + if(*s) { *d++ = *s++; - } - else { + } else { *d++ = i; break; } - } - else if (iseuc(i)) { - if (*s) { - i = euc2sjis((i << 8) + *s++); + } else if(iseuc(i)) { + if(*s) { + i = euc2sjis((i << 8) + *s++); *d++ = (i >> 8); *d++ = i; - } - else { + } else { *d++ = i; break; } - } - else { + } else { *d++ = i; } } @@ -113,46 +104,44 @@ unsigned char *s; } void -printout_mb(fp, s) -FILE *fp; -unsigned char *s; + printout_mb(fp, s) + FILE* fp; +unsigned char* s; { - fputs((char *)s, fp); + fputs((char*)s, fp); fflush(fp); } void -printout(fp, s) -FILE *fp; -unsigned char *s; + printout(fp, s) + FILE* fp; +unsigned char* s; { - unsigned char buf[BUFSIZ]; + unsigned char buf[BUFSIZ]; - if (euc_mode) - strcpy((char *)buf, s); + if(euc_mode) + strcpy((char*)buf, s); else - euctosjis(buf, BUFSIZ, s, strlen(s)+1); - fputs((char *)buf, fp); + euctosjis(buf, BUFSIZ, s, strlen(s) + 1); + fputs((char*)buf, fp); fflush(fp); } void -normal_out(fmt, p1, p2, p3, p4, p5) -char *fmt; -int p1, p2, p3, p4, p5; + normal_out(fmt, p1, p2, p3, p4, p5) char* fmt; +int p1, p2, p3, p4, p5; { - char buf[BUFSIZ]; + char buf[BUFSIZ]; sprintf(buf, fmt, p1, p2, p3, p4, p5); printout(stdout, buf); } void -error_out(fmt, p1, p2, p3, p4, p5) -char *fmt; -int p1, p2, p3, p4, p5; + error_out(fmt, p1, p2, p3, p4, p5) char* fmt; +int p1, p2, p3, p4, p5; { - char buf[BUFSIZ]; + char buf[BUFSIZ]; sprintf(buf, fmt, p1, p2, p3, p4, p5); strcat(buf, "\n"); diff --git a/common.c b/common.c index 1ed2140..44ad635 100644 --- a/common.c +++ b/common.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,113 +28,104 @@ */ /* - * $SonyRCSfile: common.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: common.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:10 $ */ - - #include "conversion.h" -int allways_buff = 0; -int no_flush = 0; -int HHlevel = 2; -int Hlevel = 2; -int oasys = 0; -int flush_conversion; +int allways_buff = 0; +int no_flush = 0; +int HHlevel = 2; +int Hlevel = 2; +int oasys = 0; +int flush_conversion; -Conversion *current_conversion; -Conversion *default_conversion; +Conversion* current_conversion; +Conversion* default_conversion; -Conversion * -AllocConversion () -{ - Conversion *c; +Conversion* +AllocConversion() { + Conversion* c; - if ((c = (Conversion *)malloc (sizeof(Conversion))) == NULL) { - fprintf (stderr, "conversion: can't alloc memory\n\r"); + if((c = (Conversion*)malloc(sizeof(Conversion))) == NULL) { + fprintf(stderr, "conversion: can't alloc memory\n\r"); return (0); } - c->Imode = MODE_ZHIRA; - c->BuffMode = BUFF; - c->ha_point = 0; - c->out_point = 0; - c->span_point = 0; + c->Imode = MODE_ZHIRA; + c->BuffMode = BUFF; + c->ha_point = 0; + c->out_point = 0; + c->span_point = 0; c->word_regist = 0; - c->Cflag = 1; + c->Cflag = 1; - c->SavedRow = 0; - c->SavedCol = 0; + c->SavedRow = 0; + c->SavedCol = 0; c->CurrentVcol = 0; - c->MaxVcol = 0; - c->wrap = 1; + c->MaxVcol = 0; + c->wrap = 1; return (c); } -static Conversion *push_conversion; +static Conversion* push_conversion; -FreeConversion (c) -Conversion *c; +FreeConversion(c) + Conversion* c; { - if (c == push_conversion) + if(c == push_conversion) push_conversion = 0; - free (c); + free(c); } -SetConversion (c) -Conversion *c; +SetConversion(c) + Conversion* c; { - PushConversion (current_conversion); + PushConversion(current_conversion); current_conversion = c; } -PushConversion (c) -Conversion *c; +PushConversion(c) + Conversion* c; { push_conversion = c; } -PopConversion () -{ - if (push_conversion) +PopConversion() { + if(push_conversion) current_conversion = push_conversion; } -Conversion * -GetConversion () -{ +Conversion* +GetConversion() { return (current_conversion); } -InitConversion () -{ - default_conversion = AllocConversion (); - DefaultConversion (); +InitConversion() { + default_conversion = AllocConversion(); + DefaultConversion(); } -DefaultConversion () -{ +DefaultConversion() { current_conversion = default_conversion; } -EndConversion () -{ - free (default_conversion); +EndConversion() { + free(default_conversion); } -int -wcbyte(str) -wchar16_t *str; +int wcbyte(str) +wchar16_t* str; { - count=0; + count = 0; - while (*str) { - if (WcHighMASK & *str++) - count += 2; + while(*str) { + if(WcHighMASK & *str++) + count += 2; else - count++; + count++; } return (count); } diff --git a/common.h b/common.h index c76c328..6e4089b 100644 --- a/common.h +++ b/common.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,30 +28,26 @@ */ /* - * $SonyRCSfile: common.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: common.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:42 $ */ - - - - #include "conversion.h" -extern Conversion *current_conversion; +extern Conversion* current_conversion; -extern int allways_buff; -extern int no_flush; -extern int termflag; -extern int HHlevel; -extern int Hlevel; -extern int oasys; -extern int flush_conversion; +extern int allways_buff; +extern int no_flush; +extern int termflag; +extern int HHlevel; +extern int Hlevel; +extern int oasys; +extern int flush_conversion; -Conversion *AllocConversion (); -Conversion *GetConversion (); +Conversion* AllocConversion(); +Conversion* GetConversion(); #ifdef DEBUG -FILE *dbfp; +FILE* dbfp; #endif diff --git a/compats.c b/compats.c index 92d3b71..a9a27e0 100644 --- a/compats.c +++ b/compats.c @@ -35,45 +35,37 @@ #include #include -void -vwarnx(const char *fmt, va_list ap) -{ +void vwarnx(const char* fmt, va_list ap) { fprintf(stderr, "%s: ", getprogname()); - if (fmt != NULL) + if(fmt != NULL) vfprintf(stderr, fmt, ap); fprintf(stderr, "\n"); } -void -vwarnc(int code, const char *fmt, va_list ap) -{ +void vwarnc(int code, const char* fmt, va_list ap) { fprintf(stderr, "%s: ", getprogname()); - if (fmt != NULL) { + if(fmt != NULL) { vfprintf(stderr, fmt, ap); fprintf(stderr, ": "); } fprintf(stderr, "%s\n", strerror(code)); } -void -vwarn(const char *fmt, va_list ap) -{ +void vwarn(const char* fmt, va_list ap) { int sverrno; sverrno = errno; fprintf(stderr, "%s: ", getprogname()); - if (fmt != NULL) { + if(fmt != NULL) { vfprintf(stderr, fmt, ap); fprintf(stderr, ": "); } fprintf(stderr, "%s\n", strerror(sverrno)); } -void -verrc(int eval, int code, const char *fmt, va_list ap) -{ +void verrc(int eval, int code, const char* fmt, va_list ap) { fprintf(stderr, "%s: ", getprogname()); - if (fmt != NULL) { + if(fmt != NULL) { vfprintf(stderr, fmt, ap); fprintf(stderr, ": "); } @@ -81,24 +73,20 @@ verrc(int eval, int code, const char *fmt, va_list ap) exit(eval); } -void -verrx(int eval, const char *fmt, va_list ap) -{ +void verrx(int eval, const char* fmt, va_list ap) { fprintf(stderr, "%s: ", getprogname()); - if (fmt != NULL) + if(fmt != NULL) vfprintf(stderr, fmt, ap); fprintf(stderr, "\n"); exit(eval); } -void -verr(int eval, const char *fmt, va_list ap) -{ +void verr(int eval, const char* fmt, va_list ap) { int sverrno; sverrno = errno; fprintf(stderr, "%s: ", getprogname()); - if (fmt != NULL) { + if(fmt != NULL) { vfprintf(stderr, fmt, ap); fprintf(stderr, ": "); } @@ -106,9 +94,7 @@ verr(int eval, const char *fmt, va_list ap) exit(eval); } -void -err(int eval, const char *fmt, ...) -{ +void err(int eval, const char* fmt, ...) { va_list ap; va_start(ap, fmt); @@ -116,9 +102,7 @@ err(int eval, const char *fmt, ...) va_end(ap); } -void -errc(int eval, int code, const char *fmt, ...) -{ +void errc(int eval, int code, const char* fmt, ...) { va_list ap; va_start(ap, fmt); @@ -126,9 +110,7 @@ errc(int eval, int code, const char *fmt, ...) va_end(ap); } -void -errx(int eval, const char *fmt, ...) -{ +void errx(int eval, const char* fmt, ...) { va_list ap; va_start(ap, fmt); @@ -136,9 +118,7 @@ errx(int eval, const char *fmt, ...) va_end(ap); } -void -warn(const char *fmt, ...) -{ +void warn(const char* fmt, ...) { va_list ap; va_start(ap, fmt); @@ -146,9 +126,7 @@ warn(const char *fmt, ...) va_end(ap); } -void -warnc(int code, const char *fmt, ...) -{ +void warnc(int code, const char* fmt, ...) { va_list ap; va_start(ap, fmt); @@ -156,9 +134,7 @@ warnc(int code, const char *fmt, ...) va_end(ap); } -void -warnx(const char *fmt, ...) -{ +void warnx(const char* fmt, ...) { va_list ap; va_start(ap, fmt); @@ -225,7 +201,7 @@ warnx(const char *fmt, ...) #include static const char b64_Base64[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static const char b64_Pad64 = '='; /* (From RFC1521 and draft-ietf-dnssec-secext-03.txt) @@ -247,26 +223,26 @@ static const char b64_Pad64 = '='; characters. The character referenced by the index is placed in the output string. - Table 1: The Base64 Alphabet + Table 1: The Base64 Alphabet Value Encoding Value Encoding Value Encoding Value Encoding - 0 A 17 R 34 i 51 z - 1 B 18 S 35 j 52 0 - 2 C 19 T 36 k 53 1 - 3 D 20 U 37 l 54 2 - 4 E 21 V 38 m 55 3 - 5 F 22 W 39 n 56 4 - 6 G 23 X 40 o 57 5 - 7 H 24 Y 41 p 58 6 - 8 I 25 Z 42 q 59 7 - 9 J 26 a 43 r 60 8 - 10 K 27 b 44 s 61 9 - 11 L 28 c 45 t 62 + - 12 M 29 d 46 u 63 / - 13 N 30 e 47 v - 14 O 31 f 48 w (pad) = - 15 P 32 g 49 x - 16 Q 33 h 50 y + 0 A 17 R 34 i 51 z + 1 B 18 S 35 j 52 0 + 2 C 19 T 36 k 53 1 + 3 D 20 U 37 l 54 2 + 4 E 21 V 38 m 55 3 + 5 F 22 W 39 n 56 4 + 6 G 23 X 40 o 57 5 + 7 H 24 Y 41 p 58 6 + 8 I 25 Z 42 q 59 7 + 9 J 26 a 43 r 60 8 + 10 K 27 b 44 s 61 9 + 11 L 28 c 45 t 62 + + 12 M 29 d 46 u 63 / + 13 N 30 e 47 v + 14 O 31 f 48 w (pad) = + 15 P 32 g 49 x + 16 Q 33 h 50 y Special processing is performed if fewer than 24 bits are available at the end of the data being encoded. A full encoding quantum is @@ -276,30 +252,28 @@ static const char b64_Pad64 = '='; end of the data is performed using the '=' character. Since all base64 input is an integral number of octets, only the - ------------------------------------------------- + ------------------------------------------------- following cases can arise: - + (1) the final quantum of encoding input is an integral - multiple of 24 bits; here, the final unit of encoded + multiple of 24 bits; here, the final unit of encoded output will be an integral multiple of 4 characters with no "=" padding, (2) the final quantum of encoding input is exactly 8 bits; - here, the final unit of encoded output will be two + here, the final unit of encoded output will be two characters followed by two "=" padding characters, or (3) the final quantum of encoding input is exactly 16 bits; - here, the final unit of encoded output will be three + here, the final unit of encoded output will be three characters followed by one "=" padding character. */ -int -b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) -{ +int b64_ntop(u_char const* src, size_t srclength, char* target, size_t targsize) { size_t datalength = 0; u_char input[3]; u_char output[4]; size_t i; - while (2 < srclength) { + while(2 < srclength) { input[0] = *src++; input[1] = *src++; input[2] = *src++; @@ -310,38 +284,38 @@ b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); output[3] = input[2] & 0x3f; - if (datalength + 4 > targsize) + if(datalength + 4 > targsize) return (-1); target[datalength++] = b64_Base64[output[0]]; target[datalength++] = b64_Base64[output[1]]; target[datalength++] = b64_Base64[output[2]]; target[datalength++] = b64_Base64[output[3]]; } - + /* Now we worry about padding. */ - if (0 != srclength) { + if(0 != srclength) { /* Get what's left. */ input[0] = input[1] = input[2] = '\0'; - for (i = 0; i < srclength; i++) + for(i = 0; i < srclength; i++) input[i] = *src++; - + output[0] = input[0] >> 2; output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); - if (datalength + 4 > targsize) + if(datalength + 4 > targsize) return (-1); target[datalength++] = b64_Base64[output[0]]; target[datalength++] = b64_Base64[output[1]]; - if (srclength == 1) + if(srclength == 1) target[datalength++] = b64_Pad64; else target[datalength++] = b64_Base64[output[2]]; target[datalength++] = b64_Pad64; } - if (datalength >= targsize) + if(datalength >= targsize) return (-1); - target[datalength] = '\0'; /* Returned value doesn't count \0. */ + target[datalength] = '\0'; /* Returned value doesn't count \0. */ return (datalength); } @@ -351,68 +325,66 @@ b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) it returns the number of data bytes stored at the target, or -1 on error. */ -int -b64_pton(char const *src, u_char *target, size_t targsize) -{ - int state, ch; +int b64_pton(char const* src, u_char* target, size_t targsize) { + int state, ch; size_t tarindex; u_char nextbyte; - char *pos; + char* pos; - state = 0; + state = 0; tarindex = 0; - while ((ch = (unsigned char)*src++) != '\0') { - if (isspace(ch)) /* Skip whitespace anywhere. */ + while((ch = (unsigned char)*src++) != '\0') { + if(isspace(ch)) /* Skip whitespace anywhere. */ continue; - if (ch == b64_Pad64) + if(ch == b64_Pad64) break; pos = strchr(b64_Base64, ch); - if (pos == 0) /* A non-base64 character. */ + if(pos == 0) /* A non-base64 character. */ return (-1); - switch (state) { + switch(state) { case 0: - if (target) { - if (tarindex >= targsize) + if(target) { + if(tarindex >= targsize) return (-1); target[tarindex] = (pos - b64_Base64) << 2; } state = 1; break; case 1: - if (target) { - if (tarindex >= targsize) + if(target) { + if(tarindex >= targsize) return (-1); - target[tarindex] |= (pos - b64_Base64) >> 4; + target[tarindex] |= (pos - b64_Base64) >> 4; nextbyte = ((pos - b64_Base64) & 0x0f) << 4; - if (tarindex + 1 < targsize) - target[tarindex+1] = nextbyte; - else if (nextbyte) + if(tarindex + 1 < targsize) + target[tarindex + 1] = nextbyte; + else if(nextbyte) return (-1); } tarindex++; state = 2; break; case 2: - if (target) { - if (tarindex >= targsize) + if(target) { + if(tarindex >= targsize) return (-1); - target[tarindex] |= (pos - b64_Base64) >> 2; + target[tarindex] |= (pos - b64_Base64) >> 2; nextbyte = ((pos - b64_Base64) & 0x03) << 6; - if (tarindex + 1 < targsize) - target[tarindex+1] = nextbyte; - else if (nextbyte) + if(tarindex + 1 < targsize) + target[tarindex + 1] = nextbyte; + else if(nextbyte) return (-1); } tarindex++; state = 3; break; case 3: - if (target) { - if (tarindex >= targsize) + if(target) { + if(tarindex >= targsize) return (-1); target[tarindex] |= (pos - b64_Base64); } @@ -427,32 +399,32 @@ b64_pton(char const *src, u_char *target, size_t targsize) * on a byte boundary, and/or with erroneous trailing characters. */ - if (ch == b64_Pad64) { /* We got a pad char. */ - ch = (unsigned char)*src++; /* Skip it, get next. */ - switch (state) { - case 0: /* Invalid = in first position */ - case 1: /* Invalid = in second position */ + if(ch == b64_Pad64) { /* We got a pad char. */ + ch = (unsigned char)*src++; /* Skip it, get next. */ + switch(state) { + case 0: /* Invalid = in first position */ + case 1: /* Invalid = in second position */ return (-1); - case 2: /* Valid, means one byte of info */ + case 2: /* Valid, means one byte of info */ /* Skip any number of spaces. */ - for (; ch != '\0'; ch = (unsigned char)*src++) - if (!isspace(ch)) + for(; ch != '\0'; ch = (unsigned char)*src++) + if(!isspace(ch)) break; /* Make sure there is another trailing = sign. */ - if (ch != b64_Pad64) + if(ch != b64_Pad64) return (-1); - ch = (unsigned char)*src++; /* Skip the = */ - /* Fall through to "single trailing =" case. */ - /* FALLTHROUGH */ + ch = (unsigned char)*src++; /* Skip the = */ + /* Fall through to "single trailing =" case. */ + /* FALLTHROUGH */ - case 3: /* Valid, means two bytes of info */ + case 3: /* Valid, means two bytes of info */ /* * We know this char is an =. Is there anything but * whitespace after it? */ - for (; ch != '\0'; ch = (unsigned char)*src++) - if (!isspace(ch)) + for(; ch != '\0'; ch = (unsigned char)*src++) + if(!isspace(ch)) return (-1); /* @@ -461,8 +433,8 @@ b64_pton(char const *src, u_char *target, size_t targsize) * zeros. If we don't check them, they become a * subliminal channel. */ - if (target && tarindex < targsize && - target[tarindex] != 0) + if(target && tarindex < targsize && + target[tarindex] != 0) return (-1); } } else { @@ -470,7 +442,7 @@ b64_pton(char const *src, u_char *target, size_t targsize) * We ended by seeing the end of the string. Make sure we * have no partial bytes lying around. */ - if (state != 0) + if(state != 0) return (-1); } @@ -492,10 +464,8 @@ b64_pton(char const *src, u_char *target, size_t targsize) #if HAVE_MEMSET_S -void -explicit_bzero(void *p, size_t n) -{ - if (n == 0) +void explicit_bzero(void* p, size_t n) { + if(n == 0) return; (void)memset_s(p, n, 0, n); } @@ -508,12 +478,10 @@ explicit_bzero(void *p, size_t n) * Indirect memset through a volatile pointer to hopefully avoid * dead-store optimisation eliminating the call. */ -static void (* volatile ssh_memset)(void *, int, size_t) = memset; +static void (*volatile ssh_memset)(void*, int, size_t) = memset; -void -explicit_bzero(void *p, size_t n) -{ - if (n == 0) +void explicit_bzero(void* p, size_t n) { + if(n == 0) return; /* * clang -fsanitize=memory needs to intercept memset-like functions @@ -521,9 +489,9 @@ explicit_bzero(void *p, size_t n) * directly since our indirection trick above sucessfully confuses it. */ #if defined(__has_feature) -# if __has_feature(memory_sanitizer) +#if __has_feature(memory_sanitizer) memset(p, 0, n); -# endif +#endif #endif ssh_memset(p, 0, n); @@ -574,111 +542,109 @@ explicit_bzero(void *p, size_t n) #include #include -/* +/* * oconfigure: Adapted from sys/_types.h. * oconfigure: Be conservative with ALIGNBYTES. */ -#define FTS_ALIGNBYTES (sizeof(long) - 1) -#define FTS_ALIGN(p) (((unsigned long)(p) + FTS_ALIGNBYTES) &~ FTS_ALIGNBYTES) +#define FTS_ALIGNBYTES (sizeof(long) - 1) +#define FTS_ALIGN(p) (((unsigned long)(p) + FTS_ALIGNBYTES) & ~FTS_ALIGNBYTES) -static FTSENT *fts_alloc(FTS *, char *, size_t); -static FTSENT *fts_build(FTS *, int); -static void fts_lfree(FTSENT *); -static void fts_load(FTS *, FTSENT *); -static size_t fts_maxarglen(char * const *); -static void fts_padjust(FTS *, FTSENT *); -static int fts_palloc(FTS *, size_t); -static FTSENT *fts_sort(FTS *, FTSENT *, int); -static u_short fts_stat(FTS *, FTSENT *, int, int); -static int fts_safe_changedir(FTS *, FTSENT *, int, char *); +static FTSENT* fts_alloc(FTS*, char*, size_t); +static FTSENT* fts_build(FTS*, int); +static void fts_lfree(FTSENT*); +static void fts_load(FTS*, FTSENT*); +static size_t fts_maxarglen(char* const*); +static void fts_padjust(FTS*, FTSENT*); +static int fts_palloc(FTS*, size_t); +static FTSENT* fts_sort(FTS*, FTSENT*, int); +static u_short fts_stat(FTS*, FTSENT*, int, int); +static int fts_safe_changedir(FTS*, FTSENT*, int, char*); /* oconfigure: Prefix with FTS_. */ -#define FTS_MAX(a, b) (((a) > (b)) ? (a) : (b)) -#define FTS_ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) -#define FTS_CLR(opt) (sp->fts_options &= ~(opt)) -#define FTS_ISSET(opt) (sp->fts_options & (opt)) -#define FTS_SET(opt) (sp->fts_options |= (opt)) -#define FTS_FCHDIR(sp, fd) (!FTS_ISSET(FTS_NOCHDIR) && fchdir(fd)) +#define FTS_MAX(a, b) (((a) > (b)) ? (a) : (b)) +#define FTS_ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) +#define FTS_CLR(opt) (sp->fts_options &= ~(opt)) +#define FTS_ISSET(opt) (sp->fts_options & (opt)) +#define FTS_SET(opt) (sp->fts_options |= (opt)) +#define FTS_FCHDIR(sp, fd) (!FTS_ISSET(FTS_NOCHDIR) && fchdir(fd)) /* fts_build flags */ -#define FTS_BCHILD 1 /* fts_children */ -#define FTS_BNAMES 2 /* fts_children, names only */ -#define FTS_BREAD 3 /* fts_read */ +#define FTS_BCHILD 1 /* fts_children */ +#define FTS_BNAMES 2 /* fts_children, names only */ +#define FTS_BREAD 3 /* fts_read */ -FTS * -fts_open(char * const *argv, int options, - int (*compar)(const FTSENT **, const FTSENT **)) -{ - FTS *sp; +FTS* fts_open(char* const* argv, int options, + int (*compar)(const FTSENT**, const FTSENT**)) { + FTS* sp; FTSENT *p, *root; - int nitems; + int nitems; FTSENT *parent, *prev; - char empty[1] = { '\0' }; + char empty[1] = {'\0'}; /* Options check. */ - if (options & ~FTS_OPTIONMASK) { + if(options & ~FTS_OPTIONMASK) { errno = EINVAL; return (NULL); } /* At least one path must be specified. */ - if (*argv == NULL) { + if(*argv == NULL) { errno = EINVAL; return (NULL); } /* Allocate/initialize the stream */ - if ((sp = calloc(1, sizeof(FTS))) == NULL) + if((sp = calloc(1, sizeof(FTS))) == NULL) return (NULL); - sp->fts_compar = compar; + sp->fts_compar = compar; sp->fts_options = options; /* Logical walks turn on NOCHDIR; symbolic links are too hard. */ - if (FTS_ISSET(FTS_LOGICAL)) + if(FTS_ISSET(FTS_LOGICAL)) FTS_SET(FTS_NOCHDIR); /* * Start out with 1K of path space, and enough, in any case, * to hold the user's paths. */ - if (fts_palloc(sp, FTS_MAX(fts_maxarglen(argv), PATH_MAX))) + if(fts_palloc(sp, FTS_MAX(fts_maxarglen(argv), PATH_MAX))) goto mem1; /* Allocate/initialize root's parent. */ - if ((parent = fts_alloc(sp, empty, 0)) == NULL) + if((parent = fts_alloc(sp, empty, 0)) == NULL) goto mem2; parent->fts_level = FTS_ROOTPARENTLEVEL; /* Allocate/initialize root(s). */ - for (root = prev = NULL, nitems = 0; *argv; ++argv, ++nitems) { - if ((p = fts_alloc(sp, *argv, strlen(*argv))) == NULL) + for(root = prev = NULL, nitems = 0; *argv; ++argv, ++nitems) { + if((p = fts_alloc(sp, *argv, strlen(*argv))) == NULL) goto mem3; - p->fts_level = FTS_ROOTLEVEL; - p->fts_parent = parent; + p->fts_level = FTS_ROOTLEVEL; + p->fts_parent = parent; p->fts_accpath = p->fts_name; - p->fts_info = fts_stat(sp, p, FTS_ISSET(FTS_COMFOLLOW), -1); + p->fts_info = fts_stat(sp, p, FTS_ISSET(FTS_COMFOLLOW), -1); /* Command-line "." and ".." are real directories. */ - if (p->fts_info == FTS_DOT) + if(p->fts_info == FTS_DOT) p->fts_info = FTS_D; /* * If comparison routine supplied, traverse in sorted * order; otherwise traverse in the order specified. */ - if (compar) { + if(compar) { p->fts_link = root; - root = p; + root = p; } else { p->fts_link = NULL; - if (root == NULL) + if(root == NULL) root = p; else prev->fts_link = p; prev = p; } } - if (compar && nitems > 1) + if(compar && nitems > 1) root = fts_sort(sp, root, nitems); /* @@ -686,7 +652,7 @@ fts_open(char * const *argv, int options, * finished the node before the root(s); set p->fts_info to FTS_INIT * so that everything about the "current" node is ignored. */ - if ((sp->fts_cur = fts_alloc(sp, empty, 0)) == NULL) + if((sp->fts_cur = fts_alloc(sp, empty, 0)) == NULL) goto mem3; sp->fts_cur->fts_link = root; sp->fts_cur->fts_info = FTS_INIT; @@ -698,27 +664,29 @@ fts_open(char * const *argv, int options, * and ".." are all fairly nasty problems. Note, if we can't get the * descriptor we run anyway, just more slowly. */ - if (!FTS_ISSET(FTS_NOCHDIR) && - (sp->fts_rfd = open(".", O_RDONLY | O_CLOEXEC)) == -1) + if(!FTS_ISSET(FTS_NOCHDIR) && + (sp->fts_rfd = open(".", O_RDONLY | O_CLOEXEC)) == -1) FTS_SET(FTS_NOCHDIR); - if (nitems == 0) + if(nitems == 0) free(parent); return (sp); -mem3: fts_lfree(root); +mem3: + fts_lfree(root); free(parent); -mem2: free(sp->fts_path); -mem1: free(sp); +mem2: + free(sp->fts_path); +mem1: + free(sp); return (NULL); } static void -fts_load(FTS *sp, FTSENT *p) -{ +fts_load(FTS* sp, FTSENT* p) { size_t len; - char *cp; + char* cp; /* * Load the stream structure for the next traversal. Since we don't @@ -729,30 +697,28 @@ fts_load(FTS *sp, FTSENT *p) */ len = p->fts_pathlen = p->fts_namelen; memmove(sp->fts_path, p->fts_name, len + 1); - if ((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) { + if((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) { len = strlen(++cp); memmove(p->fts_name, cp, len + 1); p->fts_namelen = len; } p->fts_accpath = p->fts_path = sp->fts_path; - sp->fts_dev = p->fts_dev; + sp->fts_dev = p->fts_dev; } -int -fts_close(FTS *sp) -{ +int fts_close(FTS* sp) { FTSENT *freep, *p; - int rfd, error = 0; + int rfd, error = 0; /* * This still works if we haven't read anything -- the dummy structure * points to the root list, so we step through to the end of the root * list which has a valid parent pointer. */ - if (sp->fts_cur) { - for (p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) { + if(sp->fts_cur) { + for(p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) { freep = p; - p = p->fts_link ? p->fts_link : p->fts_parent; + p = p->fts_link ? p->fts_link : p->fts_parent; free(freep); } free(p); @@ -762,16 +728,16 @@ fts_close(FTS *sp) rfd = FTS_ISSET(FTS_NOCHDIR) ? -1 : sp->fts_rfd; /* Free up child linked list, sort array, path buffer, stream ptr.*/ - if (sp->fts_child) + if(sp->fts_child) fts_lfree(sp->fts_child); free(sp->fts_array); free(sp->fts_path); free(sp); /* Return to original directory, checking for error. */ - if (rfd != -1) { + if(rfd != -1) { int saved_errno; - error = fchdir(rfd); + error = fchdir(rfd); saved_errno = errno; (void)close(rfd); errno = saved_errno; @@ -784,32 +750,32 @@ fts_close(FTS *sp) * Special case of "/" at the end of the path so that slashes aren't * appended which would cause paths to be written as "....//foo". */ -#define NAPPEND(p) \ - (p->fts_path[p->fts_pathlen - 1] == '/' \ - ? p->fts_pathlen - 1 : p->fts_pathlen) +#define NAPPEND(p) \ + (p->fts_path[p->fts_pathlen - 1] == '/' \ + ? p->fts_pathlen - 1 \ + : p->fts_pathlen) -FTSENT * -fts_read(FTS *sp) -{ +FTSENT* +fts_read(FTS* sp) { FTSENT *p, *tmp; - int instr; - char *t; - char up[3] = { '.', '.', '\0' }; - int saved_errno; + int instr; + char* t; + char up[3] = {'.', '.', '\0'}; + int saved_errno; /* If finished or unrecoverable error, return NULL. */ - if (sp->fts_cur == NULL || FTS_ISSET(FTS_STOP)) + if(sp->fts_cur == NULL || FTS_ISSET(FTS_STOP)) return (NULL); /* Set current node pointer. */ p = sp->fts_cur; /* Save and zero out user instructions. */ - instr = p->fts_instr; + instr = p->fts_instr; p->fts_instr = FTS_NOINSTR; /* Any type of file may be re-visited; re-stat and re-turn. */ - if (instr == FTS_AGAIN) { + if(instr == FTS_AGAIN) { p->fts_info = fts_stat(sp, p, 0, -1); return (p); } @@ -820,14 +786,14 @@ fts_read(FTS *sp) * keep a pointer to current location. If unable to get that * pointer, follow fails. */ - if (instr == FTS_FOLLOW && - (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { + if(instr == FTS_FOLLOW && + (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { p->fts_info = fts_stat(sp, p, 1, -1); - if (p->fts_info == FTS_D && !FTS_ISSET(FTS_NOCHDIR)) { - if ((p->fts_symfd = - open(".", O_RDONLY | O_CLOEXEC)) == -1) { + if(p->fts_info == FTS_D && !FTS_ISSET(FTS_NOCHDIR)) { + if((p->fts_symfd = + open(".", O_RDONLY | O_CLOEXEC)) == -1) { p->fts_errno = errno; - p->fts_info = FTS_ERR; + p->fts_info = FTS_ERR; } else p->fts_flags |= FTS_SYMFOLLOW; } @@ -835,13 +801,13 @@ fts_read(FTS *sp) } /* Directory in pre-order. */ - if (p->fts_info == FTS_D) { + if(p->fts_info == FTS_D) { /* If skipped or crossed mount point, do post-order visit. */ - if (instr == FTS_SKIP || - (FTS_ISSET(FTS_XDEV) && p->fts_dev != sp->fts_dev)) { - if (p->fts_flags & FTS_SYMFOLLOW) + if(instr == FTS_SKIP || + (FTS_ISSET(FTS_XDEV) && p->fts_dev != sp->fts_dev)) { + if(p->fts_flags & FTS_SYMFOLLOW) (void)close(p->fts_symfd); - if (sp->fts_child) { + if(sp->fts_child) { fts_lfree(sp->fts_child); sp->fts_child = NULL; } @@ -850,7 +816,7 @@ fts_read(FTS *sp) } /* Rebuild if only read the names and now traversing. */ - if (sp->fts_child && FTS_ISSET(FTS_NAMEONLY)) { + if(sp->fts_child && FTS_ISSET(FTS_NAMEONLY)) { FTS_CLR(FTS_NAMEONLY); fts_lfree(sp->fts_child); sp->fts_child = NULL; @@ -868,35 +834,36 @@ fts_read(FTS *sp) * If haven't read do so. If the read fails, fts_build sets * FTS_STOP or the fts_info field of the node. */ - if (sp->fts_child) { - if (fts_safe_changedir(sp, p, -1, p->fts_accpath)) { + if(sp->fts_child) { + if(fts_safe_changedir(sp, p, -1, p->fts_accpath)) { p->fts_errno = errno; p->fts_flags |= FTS_DONTCHDIR; - for (p = sp->fts_child; p; p = p->fts_link) + for(p = sp->fts_child; p; p = p->fts_link) p->fts_accpath = p->fts_parent->fts_accpath; } - } else if ((sp->fts_child = fts_build(sp, FTS_BREAD)) == NULL) { - if (FTS_ISSET(FTS_STOP)) + } else if((sp->fts_child = fts_build(sp, FTS_BREAD)) == NULL) { + if(FTS_ISSET(FTS_STOP)) return (NULL); return (p); } - p = sp->fts_child; + p = sp->fts_child; sp->fts_child = NULL; goto name; } /* Move to the next node on this level. */ -next: tmp = p; - if ((p = p->fts_link)) { +next: + tmp = p; + if((p = p->fts_link)) { free(tmp); /* * If reached the top, return to the original directory (or * the root of the tree), and load the paths for the next root. */ - if (p->fts_level == FTS_ROOTLEVEL) { - if (FTS_FCHDIR(sp, sp->fts_rfd)) { + if(p->fts_level == FTS_ROOTLEVEL) { + if(FTS_FCHDIR(sp, sp->fts_rfd)) { FTS_SET(FTS_STOP); return (NULL); } @@ -909,22 +876,23 @@ next: tmp = p; * ignore. If followed, get a file descriptor so we can * get back if necessary. */ - if (p->fts_instr == FTS_SKIP) + if(p->fts_instr == FTS_SKIP) goto next; - if (p->fts_instr == FTS_FOLLOW) { + if(p->fts_instr == FTS_FOLLOW) { p->fts_info = fts_stat(sp, p, 1, -1); - if (p->fts_info == FTS_D && !FTS_ISSET(FTS_NOCHDIR)) { - if ((p->fts_symfd = - open(".", O_RDONLY | O_CLOEXEC)) == -1) { + if(p->fts_info == FTS_D && !FTS_ISSET(FTS_NOCHDIR)) { + if((p->fts_symfd = + open(".", O_RDONLY | O_CLOEXEC)) == -1) { p->fts_errno = errno; - p->fts_info = FTS_ERR; + p->fts_info = FTS_ERR; } else p->fts_flags |= FTS_SYMFOLLOW; } p->fts_instr = FTS_NOINSTR; } -name: t = sp->fts_path + NAPPEND(p->fts_parent); + name: + t = sp->fts_path + NAPPEND(p->fts_parent); *t++ = '/'; memmove(t, p->fts_name, p->fts_namelen + 1); return (sp->fts_cur = p); @@ -934,7 +902,7 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent); p = tmp->fts_parent; free(tmp); - if (p->fts_level == FTS_ROOTPARENTLEVEL) { + if(p->fts_level == FTS_ROOTPARENTLEVEL) { /* * Done; free everything up and set errno to 0 so the user * can distinguish between error and EOF. @@ -952,14 +920,14 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent); * a symlink, go back through the file descriptor. Otherwise, cd up * one directory. */ - if (p->fts_level == FTS_ROOTLEVEL) { - if (FTS_FCHDIR(sp, sp->fts_rfd)) { + if(p->fts_level == FTS_ROOTLEVEL) { + if(FTS_FCHDIR(sp, sp->fts_rfd)) { FTS_SET(FTS_STOP); sp->fts_cur = p; return (NULL); } - } else if (p->fts_flags & FTS_SYMFOLLOW) { - if (FTS_FCHDIR(sp, p->fts_symfd)) { + } else if(p->fts_flags & FTS_SYMFOLLOW) { + if(FTS_FCHDIR(sp, p->fts_symfd)) { saved_errno = errno; (void)close(p->fts_symfd); errno = saved_errno; @@ -968,8 +936,8 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent); return (NULL); } (void)close(p->fts_symfd); - } else if (!(p->fts_flags & FTS_DONTCHDIR) && - fts_safe_changedir(sp, p->fts_parent, -1, up)) { + } else if(!(p->fts_flags & FTS_DONTCHDIR) && + fts_safe_changedir(sp, p->fts_parent, -1, up)) { FTS_SET(FTS_STOP); sp->fts_cur = p; return (NULL); @@ -984,11 +952,9 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent); * semantics to fts using fts_set. An error return is allowed for similar * reasons. */ -int -fts_set(FTS *sp, FTSENT *p, int instr) -{ - if (instr && instr != FTS_AGAIN && instr != FTS_FOLLOW && - instr != FTS_NOINSTR && instr != FTS_SKIP) { +int fts_set(FTS* sp, FTSENT* p, int instr) { + if(instr && instr != FTS_AGAIN && instr != FTS_FOLLOW && + instr != FTS_NOINSTR && instr != FTS_SKIP) { errno = EINVAL; return (1); } @@ -996,13 +962,12 @@ fts_set(FTS *sp, FTSENT *p, int instr) return (0); } -FTSENT * -fts_children(FTS *sp, int instr) -{ - FTSENT *p; - int fd; +FTSENT* +fts_children(FTS* sp, int instr) { + FTSENT* p; + int fd; - if (instr && instr != FTS_NAMEONLY) { + if(instr && instr != FTS_NAMEONLY) { errno = EINVAL; return (NULL); } @@ -1017,11 +982,11 @@ fts_children(FTS *sp, int instr) errno = 0; /* Fatal errors stop here. */ - if (FTS_ISSET(FTS_STOP)) + if(FTS_ISSET(FTS_STOP)) return (NULL); /* Return logical hierarchy of user's arguments. */ - if (p->fts_info == FTS_INIT) + if(p->fts_info == FTS_INIT) return (p->fts_link); /* @@ -1029,14 +994,14 @@ fts_children(FTS *sp, int instr) * allow FTS_DNR, assuming the user has fixed the problem, but the * same effect is available with FTS_AGAIN. */ - if (p->fts_info != FTS_D /* && p->fts_info != FTS_DNR */) + if(p->fts_info != FTS_D /* && p->fts_info != FTS_DNR */) return (NULL); /* Free up any previous child list. */ - if (sp->fts_child) + if(sp->fts_child) fts_lfree(sp->fts_child); - if (instr == FTS_NAMEONLY) { + if(instr == FTS_NAMEONLY) { FTS_SET(FTS_NAMEONLY); instr = FTS_BNAMES; } else @@ -1049,14 +1014,14 @@ fts_children(FTS *sp, int instr) * directory is, so we can't get back so that the upcoming chdir by * fts_read will work. */ - if (p->fts_level != FTS_ROOTLEVEL || p->fts_accpath[0] == '/' || - FTS_ISSET(FTS_NOCHDIR)) + if(p->fts_level != FTS_ROOTLEVEL || p->fts_accpath[0] == '/' || + FTS_ISSET(FTS_NOCHDIR)) return (sp->fts_child = fts_build(sp, instr)); - if ((fd = open(".", O_RDONLY | O_CLOEXEC)) == -1) + if((fd = open(".", O_RDONLY | O_CLOEXEC)) == -1) return (NULL); sp->fts_child = fts_build(sp, instr); - if (fchdir(fd)) { + if(fchdir(fd)) { (void)close(fd); return (NULL); } @@ -1078,19 +1043,18 @@ fts_children(FTS *sp, int instr) * directories and for any files after the subdirectories in the directory have * been found, cutting the stat calls by about 2/3. */ -static FTSENT * -fts_build(FTS *sp, int type) -{ - struct dirent *dp; - FTSENT *p, *head; - FTSENT *cur, *tail; - DIR *dirp; - void *oldaddr; - size_t len, maxlen, namlen; - int nitems, cderrno, descend, level, nlinks, nostat, doadjust; - int saved_errno; - char *cp; - char up[3] = { '.', '.', '\0' }; +static FTSENT* +fts_build(FTS* sp, int type) { + struct dirent* dp; + FTSENT * p, *head; + FTSENT * cur, *tail; + DIR* dirp; + void* oldaddr; + size_t len, maxlen, namlen; + int nitems, cderrno, descend, level, nlinks, nostat, doadjust; + int saved_errno; + char* cp; + char up[3] = {'.', '.', '\0'}; /* Set current node pointer. */ cur = sp->fts_cur; @@ -1099,9 +1063,9 @@ fts_build(FTS *sp, int type) * Open the directory for reading. If this fails, we're done. * If being called from fts_read, set the fts_info field. */ - if ((dirp = opendir(cur->fts_accpath)) == NULL) { - if (type == FTS_BREAD) { - cur->fts_info = FTS_DNR; + if((dirp = opendir(cur->fts_accpath)) == NULL) { + if(type == FTS_BREAD) { + cur->fts_info = FTS_DNR; cur->fts_errno = errno; } return (NULL); @@ -1112,9 +1076,9 @@ fts_build(FTS *sp, int type) * directory if we're cheating on stat calls, 0 if we're not doing * any stat calls at all, -1 if we're doing stats on everything. */ - if (type == FTS_BNAMES) + if(type == FTS_BNAMES) nlinks = 0; - else if (FTS_ISSET(FTS_NOSTAT) && FTS_ISSET(FTS_PHYSICAL)) { + else if(FTS_ISSET(FTS_NOSTAT) && FTS_ISSET(FTS_PHYSICAL)) { nlinks = cur->fts_nlink - (FTS_ISSET(FTS_SEEDOT) ? 0 : 2); nostat = 1; } else { @@ -1125,7 +1089,7 @@ fts_build(FTS *sp, int type) #ifdef notdef (void)printf("nlinks == %d (cur: %u)\n", nlinks, cur->fts_nlink); (void)printf("NOSTAT %d PHYSICAL %d SEEDOT %d\n", - FTS_ISSET(FTS_NOSTAT), FTS_ISSET(FTS_PHYSICAL), FTS_ISSET(FTS_SEEDOT)); + FTS_ISSET(FTS_NOSTAT), FTS_ISSET(FTS_PHYSICAL), FTS_ISSET(FTS_SEEDOT)); #endif /* * If we're going to need to stat anything or we want to descend @@ -1143,9 +1107,9 @@ fts_build(FTS *sp, int type) * checking FTS_NS on the returned nodes. */ cderrno = 0; - if (nlinks || type == FTS_BREAD) { - if (fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) { - if (nlinks && type == FTS_BREAD) + if(nlinks || type == FTS_BREAD) { + if(fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) { + if(nlinks && type == FTS_BREAD) cur->fts_errno = errno; cur->fts_flags |= FTS_DONTCHDIR; descend = 0; @@ -1168,8 +1132,8 @@ fts_build(FTS *sp, int type) * each new name into the path. */ len = NAPPEND(cur); - if (FTS_ISSET(FTS_NOCHDIR)) { - cp = sp->fts_path + len; + if(FTS_ISSET(FTS_NOCHDIR)) { + cp = sp->fts_path + len; *cp++ = '/'; } len++; @@ -1180,28 +1144,29 @@ fts_build(FTS *sp, int type) * around to FTS_ROOTLEVEL and FTS_ROOTPARENTLEVEL. */ level = cur->fts_level; - if (level < FTS_MAXLEVEL) - level++; + if(level < FTS_MAXLEVEL) + level++; /* Read the directory, attaching each entry to the `link' pointer. */ doadjust = 0; - for (head = tail = NULL, nitems = 0; dirp && (dp = readdir(dirp));) { - if (!FTS_ISSET(FTS_SEEDOT) && FTS_ISDOT(dp->d_name)) + for(head = tail = NULL, nitems = 0; dirp && (dp = readdir(dirp));) { + if(!FTS_ISSET(FTS_SEEDOT) && FTS_ISDOT(dp->d_name)) continue; namlen = strlen(dp->d_name); - if (!(p = fts_alloc(sp, dp->d_name, namlen))) + if(!(p = fts_alloc(sp, dp->d_name, namlen))) goto mem1; - if (namlen >= maxlen) { /* include space for NUL */ + if(namlen >= maxlen) { /* include space for NUL */ oldaddr = sp->fts_path; - if (fts_palloc(sp, namlen +len + 1)) { + if(fts_palloc(sp, namlen + len + 1)) { /* * No more memory for path or structures. Save * errno, free up the current structure and the * structures already allocated. */ -mem1: saved_errno = errno; + mem1: + saved_errno = errno; free(p); fts_lfree(head); (void)closedir(dirp); @@ -1211,18 +1176,18 @@ mem1: saved_errno = errno; return (NULL); } /* Did realloc() change the pointer? */ - if (oldaddr != sp->fts_path) { + if(oldaddr != sp->fts_path) { doadjust = 1; - if (FTS_ISSET(FTS_NOCHDIR)) + if(FTS_ISSET(FTS_NOCHDIR)) cp = sp->fts_path + len; } maxlen = sp->fts_pathlen - len; } - p->fts_level = level; - p->fts_parent = sp->fts_cur; + p->fts_level = level; + p->fts_parent = sp->fts_cur; p->fts_pathlen = len + namlen; - if (p->fts_pathlen < len) { + if(p->fts_pathlen < len) { /* * If we wrap, free up the current structure and * the structures already allocated, then error @@ -1237,65 +1202,65 @@ mem1: saved_errno = errno; return (NULL); } - if (cderrno) { - if (nlinks) { - p->fts_info = FTS_NS; + if(cderrno) { + if(nlinks) { + p->fts_info = FTS_NS; p->fts_errno = cderrno; } else p->fts_info = FTS_NSOK; p->fts_accpath = cur->fts_accpath; - } else if (nlinks == 0 + } else if(nlinks == 0 #ifdef DT_DIR - || (nostat && - dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN) + || (nostat && + dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN) #endif - ) { + ) { p->fts_accpath = FTS_ISSET(FTS_NOCHDIR) ? p->fts_path : p->fts_name; p->fts_info = FTS_NSOK; } else { /* Build a file name for fts_stat to stat. */ - if (FTS_ISSET(FTS_NOCHDIR)) { + if(FTS_ISSET(FTS_NOCHDIR)) { p->fts_accpath = p->fts_path; memmove(cp, p->fts_name, p->fts_namelen + 1); p->fts_info = fts_stat(sp, p, 0, dirfd(dirp)); } else { p->fts_accpath = p->fts_name; - p->fts_info = fts_stat(sp, p, 0, -1); + p->fts_info = fts_stat(sp, p, 0, -1); } /* Decrement link count if applicable. */ - if (nlinks > 0 && (p->fts_info == FTS_D || - p->fts_info == FTS_DC || p->fts_info == FTS_DOT)) + if(nlinks > 0 && (p->fts_info == FTS_D || + p->fts_info == FTS_DC || p->fts_info == FTS_DOT)) --nlinks; } /* We walk in directory order so "ls -f" doesn't get upset. */ p->fts_link = NULL; - if (head == NULL) + if(head == NULL) head = tail = p; else { tail->fts_link = p; - tail = p; + tail = p; } ++nitems; } - if (dirp) + if(dirp) (void)closedir(dirp); /* * If realloc() changed the address of the path, adjust the * addresses for the rest of the tree and the dir list. */ - if (doadjust) + if(doadjust) fts_padjust(sp, head); /* * If not changing directories, reset the path back to original * state. */ - if (FTS_ISSET(FTS_NOCHDIR)) { - if (len == sp->fts_pathlen || nitems == 0) + if(FTS_ISSET(FTS_NOCHDIR)) { + if(len == sp->fts_pathlen || nitems == 0) --cp; *cp = '\0'; } @@ -1307,40 +1272,38 @@ mem1: saved_errno = errno; * to an empty directory, we wind up here with no other way back. If * can't get back, we're done. */ - if (descend && (type == FTS_BCHILD || !nitems) && - (cur->fts_level == FTS_ROOTLEVEL ? FTS_FCHDIR(sp, sp->fts_rfd) : - fts_safe_changedir(sp, cur->fts_parent, -1, up))) { + if(descend && (type == FTS_BCHILD || !nitems) && + (cur->fts_level == FTS_ROOTLEVEL ? FTS_FCHDIR(sp, sp->fts_rfd) : fts_safe_changedir(sp, cur->fts_parent, -1, up))) { cur->fts_info = FTS_ERR; FTS_SET(FTS_STOP); return (NULL); } /* If didn't find anything, return NULL. */ - if (!nitems) { - if (type == FTS_BREAD) + if(!nitems) { + if(type == FTS_BREAD) cur->fts_info = FTS_DP; return (NULL); } /* Sort the entries. */ - if (sp->fts_compar && nitems > 1) + if(sp->fts_compar && nitems > 1) head = fts_sort(sp, head, nitems); return (head); } static u_short -fts_stat(FTS *sp, FTSENT *p, int follow, int dfd) -{ - FTSENT *t; - dev_t dev; - ino_t ino; +fts_stat(FTS* sp, FTSENT* p, int follow, int dfd) { + FTSENT* t; + dev_t dev; + ino_t ino; struct stat *sbp, sb; - int saved_errno; - const char *path; + int saved_errno; + const char* path; - if (dfd == -1) { + if(dfd == -1) { path = p->fts_accpath; - dfd = AT_FDCWD; + dfd = AT_FDCWD; } else path = p->fts_name; @@ -1352,23 +1315,24 @@ fts_stat(FTS *sp, FTSENT *p, int follow, int dfd) * a stat(2). If that fails, check for a non-existent symlink. If * fail, set the errno from the stat call. */ - if (FTS_ISSET(FTS_LOGICAL) || follow) { - if (fstatat(dfd, path, sbp, 0)) { + if(FTS_ISSET(FTS_LOGICAL) || follow) { + if(fstatat(dfd, path, sbp, 0)) { saved_errno = errno; - if (!fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { + if(!fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { errno = 0; return (FTS_SLNONE); } p->fts_errno = saved_errno; goto err; } - } else if (fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { + } else if(fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { p->fts_errno = errno; -err: memset(sbp, 0, sizeof(struct stat)); + err: + memset(sbp, 0, sizeof(struct stat)); return (FTS_NS); } - if (S_ISDIR(sbp->st_mode)) { + if(S_ISDIR(sbp->st_mode)) { /* * Set the device/inode. Used to find cycles and check for * crossing mount points. Also remember the link count, used @@ -1378,9 +1342,9 @@ err: memset(sbp, 0, sizeof(struct stat)); */ dev = p->fts_dev = sbp->st_dev; ino = p->fts_ino = sbp->st_ino; - p->fts_nlink = sbp->st_nlink; + p->fts_nlink = sbp->st_nlink; - if (FTS_ISDOT(p->fts_name)) + if(FTS_ISDOT(p->fts_name)) return (FTS_DOT); /* @@ -1389,24 +1353,23 @@ err: memset(sbp, 0, sizeof(struct stat)); * number of symbolic links to directories is high enough, * something faster might be worthwhile. */ - for (t = p->fts_parent; + for(t = p->fts_parent; t->fts_level >= FTS_ROOTLEVEL; t = t->fts_parent) - if (ino == t->fts_ino && dev == t->fts_dev) { + if(ino == t->fts_ino && dev == t->fts_dev) { p->fts_cycle = t; return (FTS_DC); } return (FTS_D); } - if (S_ISLNK(sbp->st_mode)) + if(S_ISLNK(sbp->st_mode)) return (FTS_SL); - if (S_ISREG(sbp->st_mode)) + if(S_ISREG(sbp->st_mode)) return (FTS_F); return (FTS_DEFAULT); } -static FTSENT * -fts_sort(FTS *sp, FTSENT *head, int nitems) -{ +static FTSENT* +fts_sort(FTS* sp, FTSENT* head, int nitems) { FTSENT **ap, *p; /* @@ -1416,34 +1379,33 @@ fts_sort(FTS *sp, FTSENT *head, int nitems) * current order. Allocate enough space for the current needs plus * 40 so don't realloc one entry at a time. */ - if (nitems > sp->fts_nitems) { - struct _ftsent **a; + if(nitems > sp->fts_nitems) { + struct _ftsent** a; - if ((a = reallocarray(sp->fts_array, - nitems + 40, sizeof(FTSENT *))) == NULL) { + if((a = reallocarray(sp->fts_array, + nitems + 40, sizeof(FTSENT*))) == NULL) { free(sp->fts_array); - sp->fts_array = NULL; + sp->fts_array = NULL; sp->fts_nitems = 0; return (head); } sp->fts_nitems = nitems + 40; - sp->fts_array = a; + sp->fts_array = a; } - for (ap = sp->fts_array, p = head; p; p = p->fts_link) + for(ap = sp->fts_array, p = head; p; p = p->fts_link) *ap++ = p; - qsort(sp->fts_array, nitems, sizeof(FTSENT *), - (int(*)(const void *, const void *))sp->fts_compar); - for (head = *(ap = sp->fts_array); --nitems; ++ap) + qsort(sp->fts_array, nitems, sizeof(FTSENT*), + (int (*)(const void*, const void*))sp->fts_compar); + for(head = *(ap = sp->fts_array); --nitems; ++ap) ap[0]->fts_link = ap[1]; ap[0]->fts_link = NULL; return (head); } -static FTSENT * -fts_alloc(FTS *sp, char *name, size_t namelen) -{ - FTSENT *p; - size_t len; +static FTSENT* +fts_alloc(FTS* sp, char* name, size_t namelen) { + FTSENT* p; + size_t len; /* * The file name is a variable length array and no stat structure is @@ -1454,28 +1416,27 @@ fts_alloc(FTS *sp, char *name, size_t namelen) * namelen + 2 before the first possible address of the stat structure. */ len = sizeof(FTSENT) + namelen; - if (!FTS_ISSET(FTS_NOSTAT)) + if(!FTS_ISSET(FTS_NOSTAT)) len += sizeof(struct stat) + FTS_ALIGNBYTES; - if ((p = calloc(1, len)) == NULL) + if((p = calloc(1, len)) == NULL) return (NULL); - p->fts_path = sp->fts_path; + p->fts_path = sp->fts_path; p->fts_namelen = namelen; - p->fts_instr = FTS_NOINSTR; - if (!FTS_ISSET(FTS_NOSTAT)) - p->fts_statp = (struct stat *)FTS_ALIGN(p->fts_name + namelen + 2); + p->fts_instr = FTS_NOINSTR; + if(!FTS_ISSET(FTS_NOSTAT)) + p->fts_statp = (struct stat*)FTS_ALIGN(p->fts_name + namelen + 2); memcpy(p->fts_name, name, namelen); return (p); } static void -fts_lfree(FTSENT *head) -{ - FTSENT *p; +fts_lfree(FTSENT* head) { + FTSENT* p; /* Free a linked list of structures. */ - while ((p = head)) { + while((p = head)) { head = head->fts_link; free(p); } @@ -1488,23 +1449,22 @@ fts_lfree(FTSENT *head) * plus 256 bytes so don't realloc the path 2 bytes at a time. */ static int -fts_palloc(FTS *sp, size_t more) -{ - char *p; +fts_palloc(FTS* sp, size_t more) { + char* p; /* * Check for possible wraparound. */ more += 256; - if (sp->fts_pathlen + more < sp->fts_pathlen) { + if(sp->fts_pathlen + more < sp->fts_pathlen) { free(sp->fts_path); sp->fts_path = NULL; - errno = ENAMETOOLONG; + errno = ENAMETOOLONG; return (1); } p = recallocarray(sp->fts_path, sp->fts_pathlen, - sp->fts_pathlen + more, 1); - if (p == NULL) { + sp->fts_pathlen + more, 1); + if(p == NULL) { free(sp->fts_path); sp->fts_path = NULL; return (1); @@ -1519,36 +1479,35 @@ fts_palloc(FTS *sp, size_t more) * already returned. */ static void -fts_padjust(FTS *sp, FTSENT *head) -{ - FTSENT *p; - char *addr = sp->fts_path; +fts_padjust(FTS* sp, FTSENT* head) { + FTSENT* p; + char* addr = sp->fts_path; -#define ADJUST(p) { \ - if ((p)->fts_accpath != (p)->fts_name) { \ - (p)->fts_accpath = \ - (char *)addr + ((p)->fts_accpath - (p)->fts_path); \ - } \ - (p)->fts_path = addr; \ -} +#define ADJUST(p) \ + { \ + if((p)->fts_accpath != (p)->fts_name) { \ + (p)->fts_accpath = \ + (char*)addr + ((p)->fts_accpath - (p)->fts_path); \ + } \ + (p)->fts_path = addr; \ + } /* Adjust the current set of children. */ - for (p = sp->fts_child; p; p = p->fts_link) + for(p = sp->fts_child; p; p = p->fts_link) ADJUST(p); /* Adjust the rest of the tree, including the current level. */ - for (p = head; p->fts_level >= FTS_ROOTLEVEL;) { + for(p = head; p->fts_level >= FTS_ROOTLEVEL;) { ADJUST(p); p = p->fts_link ? p->fts_link : p->fts_parent; } } static size_t -fts_maxarglen(char * const *argv) -{ +fts_maxarglen(char* const* argv) { size_t len, max; - for (max = 0; *argv; ++argv) - if ((len = strlen(*argv)) > max) + for(max = 0; *argv; ++argv) + if((len = strlen(*argv)) > max) max = len; return (max + 1); } @@ -1559,29 +1518,28 @@ fts_maxarglen(char * const *argv) * Assumes p->fts_dev and p->fts_ino are filled in. */ static int -fts_safe_changedir(FTS *sp, FTSENT *p, int fd, char *path) -{ - int ret, oerrno, newfd; +fts_safe_changedir(FTS* sp, FTSENT* p, int fd, char* path) { + int ret, oerrno, newfd; struct stat sb; newfd = fd; - if (FTS_ISSET(FTS_NOCHDIR)) + if(FTS_ISSET(FTS_NOCHDIR)) return (0); - if (fd == -1 && (newfd = open(path, O_RDONLY|O_DIRECTORY|O_CLOEXEC)) == -1) + if(fd == -1 && (newfd = open(path, O_RDONLY | O_DIRECTORY | O_CLOEXEC)) == -1) return (-1); - if (fstat(newfd, &sb) == -1) { + if(fstat(newfd, &sb) == -1) { ret = -1; goto bail; } - if (p->fts_dev != sb.st_dev || p->fts_ino != sb.st_ino) { - errno = ENOENT; /* disinformation */ - ret = -1; + if(p->fts_dev != sb.st_dev || p->fts_ino != sb.st_ino) { + errno = ENOENT; /* disinformation */ + ret = -1; goto bail; } ret = fchdir(newfd); bail: oerrno = errno; - if (fd == -1) + if(fd == -1) (void)close(newfd); errno = oerrno; return (ret); @@ -1612,22 +1570,19 @@ bail: #if HAVE_GETEXECNAME #include -const char * -getprogname(void) -{ +const char* +getprogname(void) { return getexecname(); } #elif HAVE_PROGRAM_INVOCATION_SHORT_NAME -const char * -getprogname(void) -{ +const char* +getprogname(void) { return (program_invocation_short_name); } #elif HAVE___PROGNAME -const char * -getprogname(void) -{ - extern char *__progname; +const char* +getprogname(void) { + extern char* __progname; return (__progname); } @@ -1658,50 +1613,51 @@ getprogname(void) #include #ifndef BYTE_ORDER -# if defined(LITTLE_ENDIAN) || defined(BIG_ENDIAN) -# error Confusion in endian macros. -# endif -# if !defined(__BYTE_ORDER__) -# error Byte order macro not found. -# endif -# if !defined(__ORDER_LITTLE_ENDIAN__) || !defined(__ORDER_BIG_ENDIAN__) -# error Little/big endian macros not found. -# endif -# define BYTE_ORDER __BYTE_ORDER__ -# define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ -# define BIG_ENDIAN __ORDER_BIG_ENDIAN__ +#if defined(LITTLE_ENDIAN) || defined(BIG_ENDIAN) +#error Confusion in endian macros. +#endif +#if !defined(__BYTE_ORDER__) +#error Byte order macro not found. +#endif +#if !defined(__ORDER_LITTLE_ENDIAN__) || !defined(__ORDER_BIG_ENDIAN__) +#error Little/big endian macros not found. +#endif +#define BYTE_ORDER __BYTE_ORDER__ +#define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ +#define BIG_ENDIAN __ORDER_BIG_ENDIAN__ #endif /*!BYTE_ORDER*/ -#define PUT_64BIT_LE(cp, value) do { \ - (cp)[7] = (value) >> 56; \ - (cp)[6] = (value) >> 48; \ - (cp)[5] = (value) >> 40; \ - (cp)[4] = (value) >> 32; \ - (cp)[3] = (value) >> 24; \ - (cp)[2] = (value) >> 16; \ - (cp)[1] = (value) >> 8; \ - (cp)[0] = (value); } while (0) +#define PUT_64BIT_LE(cp, value) \ + do { \ + (cp)[7] = (value) >> 56; \ + (cp)[6] = (value) >> 48; \ + (cp)[5] = (value) >> 40; \ + (cp)[4] = (value) >> 32; \ + (cp)[3] = (value) >> 24; \ + (cp)[2] = (value) >> 16; \ + (cp)[1] = (value) >> 8; \ + (cp)[0] = (value); \ + } while(0) -#define PUT_32BIT_LE(cp, value) do { \ - (cp)[3] = (value) >> 24; \ - (cp)[2] = (value) >> 16; \ - (cp)[1] = (value) >> 8; \ - (cp)[0] = (value); } while (0) +#define PUT_32BIT_LE(cp, value) \ + do { \ + (cp)[3] = (value) >> 24; \ + (cp)[2] = (value) >> 16; \ + (cp)[1] = (value) >> 8; \ + (cp)[0] = (value); \ + } while(0) static uint8_t PADDING[MD5_BLOCK_LENGTH] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; + 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; /* * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious * initialization constants. */ -void -MD5Init(MD5_CTX *ctx) -{ - ctx->count = 0; +void MD5Init(MD5_CTX* ctx) { + ctx->count = 0; ctx->state[0] = 0x67452301; ctx->state[1] = 0xefcdab89; ctx->state[2] = 0x98badcfe; @@ -1712,9 +1668,7 @@ MD5Init(MD5_CTX *ctx) * Update context to reflect the concatenation of another buffer full * of bytes. */ -void -MD5Update(MD5_CTX *ctx, const unsigned char *input, size_t len) -{ +void MD5Update(MD5_CTX* ctx, const unsigned char* input, size_t len) { size_t have, need; /* Check how many bytes we already have and how many more we need. */ @@ -1724,8 +1678,8 @@ MD5Update(MD5_CTX *ctx, const unsigned char *input, size_t len) /* Update bitcount */ ctx->count += (uint64_t)len << 3; - if (len >= need) { - if (have != 0) { + if(len >= need) { + if(have != 0) { memcpy(ctx->buffer + have, input, need); MD5Transform(ctx->state, ctx->buffer); input += need; @@ -1734,7 +1688,7 @@ MD5Update(MD5_CTX *ctx, const unsigned char *input, size_t len) } /* Process data in MD5_BLOCK_LENGTH-byte chunks. */ - while (len >= MD5_BLOCK_LENGTH) { + while(len >= MD5_BLOCK_LENGTH) { MD5Transform(ctx->state, input); input += MD5_BLOCK_LENGTH; len -= MD5_BLOCK_LENGTH; @@ -1742,7 +1696,7 @@ MD5Update(MD5_CTX *ctx, const unsigned char *input, size_t len) } /* Handle any remaining bytes of data. */ - if (len != 0) + if(len != 0) memcpy(ctx->buffer + have, input, len); } @@ -1750,39 +1704,34 @@ MD5Update(MD5_CTX *ctx, const unsigned char *input, size_t len) * Pad pad to 64-byte boundary with the bit pattern * 1 0* (64-bit count of bits processed, MSB-first) */ -void -MD5Pad(MD5_CTX *ctx) -{ +void MD5Pad(MD5_CTX* ctx) { uint8_t count[8]; - size_t padlen; + size_t padlen; /* Convert count to 8 bytes in little endian order. */ PUT_64BIT_LE(count, ctx->count); /* Pad out to 56 mod 64. */ padlen = MD5_BLOCK_LENGTH - - ((ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1)); - if (padlen < 1 + 8) + ((ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1)); + if(padlen < 1 + 8) padlen += MD5_BLOCK_LENGTH; - MD5Update(ctx, PADDING, padlen - 8); /* padlen - 8 <= 64 */ + MD5Update(ctx, PADDING, padlen - 8); /* padlen - 8 <= 64 */ MD5Update(ctx, count, 8); } /* * Final wrapup--call MD5Pad, fill in digest and zero out ctx. */ -void -MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5_CTX *ctx) -{ +void MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5_CTX* ctx) { int i; MD5Pad(ctx); - for (i = 0; i < 4; i++) + for(i = 0; i < 4; i++) PUT_32BIT_LE(digest + i * 4, ctx->state[i]); memset(ctx, 0, sizeof(*ctx)); } - /* The four core functions - F1 is optimized somewhat */ /* #define F1(x, y, z) (x & y | ~x & z) */ @@ -1793,27 +1742,24 @@ MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5_CTX *ctx) /* This is the central step in the MD5 algorithm. */ #define MD5STEP(f, w, x, y, z, data, s) \ - ( w += f(x, y, z) + data, w = w<>(32-s), w += x ) + (w += f(x, y, z) + data, w = w << s | w >> (32 - s), w += x) /* * The core of the MD5 algorithm, this alters an existing MD5 hash to * reflect the addition of 16 longwords of new data. MD5Update blocks * the data and converts bytes into longwords for this routine. */ -void -MD5Transform(uint32_t state[4], const uint8_t block[MD5_BLOCK_LENGTH]) -{ +void MD5Transform(uint32_t state[4], const uint8_t block[MD5_BLOCK_LENGTH]) { uint32_t a, b, c, d, in[MD5_BLOCK_LENGTH / 4]; #if BYTE_ORDER == LITTLE_ENDIAN memcpy(in, block, sizeof(in)); #else - for (a = 0; a < MD5_BLOCK_LENGTH / 4; a++) { - in[a] = (uint32_t)( - (uint32_t)(block[a * 4 + 0]) | - (uint32_t)(block[a * 4 + 1]) << 8 | - (uint32_t)(block[a * 4 + 2]) << 16 | - (uint32_t)(block[a * 4 + 3]) << 24); + for(a = 0; a < MD5_BLOCK_LENGTH / 4; a++) { + in[a] = (uint32_t)((uint32_t)(block[a * 4 + 0]) | + (uint32_t)(block[a * 4 + 1]) << 8 | + (uint32_t)(block[a * 4 + 2]) << 16 | + (uint32_t)(block[a * 4 + 3]) << 24); } #endif @@ -1822,73 +1768,73 @@ MD5Transform(uint32_t state[4], const uint8_t block[MD5_BLOCK_LENGTH]) c = state[2]; d = state[3]; - MD5STEP(F1, a, b, c, d, in[ 0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, in[ 1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, in[ 2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, in[ 3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, in[ 4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, in[ 5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, in[ 6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, in[ 7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, in[ 8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, in[ 9] + 0x8b44f7af, 12); + MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); + MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); + MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); + MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); + MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); + MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); + MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); + MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); + MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); + MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); + MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); - MD5STEP(F2, a, b, c, d, in[ 1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, in[ 6] + 0xc040b340, 9); + MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); + MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, in[ 0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, in[ 5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); + MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); + MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); + MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, in[ 4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, in[ 9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, in[ 3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, in[ 8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, in[ 2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, in[ 7] + 0x676f02d9, 14); + MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); + MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); + MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); + MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); + MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); + MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); + MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); + MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); - MD5STEP(F3, a, b, c, d, in[ 5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, in[ 8] + 0x8771f681, 11); + MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); + MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, in[ 1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, in[ 4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, in[ 7] + 0xf6bb4b60, 16); + MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); + MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); + MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, in[ 0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, in[ 3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, in[ 6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, in[ 9] + 0xd9d4d039, 4); + MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); + MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); + MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); + MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); + MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, in[2 ] + 0xc4ac5665, 23); + MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); - MD5STEP(F4, a, b, c, d, in[ 0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, in[7 ] + 0x432aff97, 10); + MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); + MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, in[5 ] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, in[3 ] + 0x8f0ccc92, 10); + MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); + MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); + MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, in[1 ] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, in[8 ] + 0x6fa87e4f, 6); + MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); + MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, in[6 ] + 0xa3014314, 15); + MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, in[4 ] + 0xf7537e82, 6); + MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, in[2 ] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, in[9 ] + 0xeb86d391, 21); + MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); + MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); state[0] += a; state[1] += b; @@ -1896,23 +1842,21 @@ MD5Transform(uint32_t state[4], const uint8_t block[MD5_BLOCK_LENGTH]) state[3] += d; } -char * -MD5End(MD5_CTX *ctx, char *buf) -{ - int i; - unsigned char digest[MD5_DIGEST_LENGTH]; - static const char hex[]="0123456789abcdef"; +char* MD5End(MD5_CTX* ctx, char* buf) { + int i; + unsigned char digest[MD5_DIGEST_LENGTH]; + static const char hex[] = "0123456789abcdef"; - if (!buf) - buf = malloc(2*MD5_DIGEST_LENGTH + 1); - if (!buf) + if(!buf) + buf = malloc(2 * MD5_DIGEST_LENGTH + 1); + if(!buf) return 0; MD5Final(digest, ctx); - for (i = 0; i < MD5_DIGEST_LENGTH; i++) { - buf[i+i] = hex[digest[i] >> 4]; - buf[i+i+1] = hex[digest[i] & 0x0f]; + for(i = 0; i < MD5_DIGEST_LENGTH; i++) { + buf[i + i] = hex[digest[i] >> 4]; + buf[i + i + 1] = hex[digest[i] & 0x0f]; } - buf[i+i] = '\0'; + buf[i + i] = '\0'; return buf; } #endif /* !HAVE_MD5 */ @@ -1948,31 +1892,29 @@ MD5End(MD5_CTX *ctx, char *buf) /* * Find the first occurrence of the byte string s in byte string l. */ -void * -memmem(const void *l, size_t l_len, const void *s, size_t s_len) -{ +void* memmem(const void* l, size_t l_len, const void* s, size_t s_len) { const char *cur, *last; - const char *cl = l; - const char *cs = s; + const char* cl = l; + const char* cs = s; /* a zero length needle should just return the haystack */ - if (l_len == 0) - return (void *)cl; + if(l_len == 0) + return (void*)cl; /* "s" must be smaller or equal to "l" */ - if (l_len < s_len) + if(l_len < s_len) return NULL; /* special case where s_len == 1 */ - if (s_len == 1) + if(s_len == 1) return memchr(l, *cs, l_len); /* the last position where its possible to find "s" in "l" */ last = cl + l_len - s_len; - for (cur = cl; cur <= last; cur++) - if (cur[0] == cs[0] && memcmp(cur, cs, s_len) == 0) - return (void *)cur; + for(cur = cl; cur <= last; cur++) + if(cur[0] == cs[0] && memcmp(cur, cs, s_len) == 0) + return (void*)cur; return NULL; } @@ -2001,19 +1943,17 @@ memmem(const void *l, size_t l_len, const void *s, size_t s_len) * Reverse memchr() * Find the last occurrence of 'c' in the buffer 's' of size 'n'. */ -void * -memrchr(const void *s, int c, size_t n) -{ - const unsigned char *cp; +void* memrchr(const void* s, int c, size_t n) { + const unsigned char* cp; - if (n != 0) { - cp = (unsigned char *)s + n; - do { - if (*(--cp) == (unsigned char)c) - return((void *)cp); - } while (--n != 0); - } - return(NULL); + if(n != 0) { + cp = (unsigned char*)s + n; + do { + if(*(--cp) == (unsigned char)c) + return ((void*)cp); + } while(--n != 0); + } + return (NULL); } #endif /* !HAVE_MEMRCHR */ #if !HAVE_MKFIFOAT @@ -2023,28 +1963,26 @@ memrchr(const void *s, int c, size_t n) #include #include -int -mkfifoat(int fd, const char *path, mode_t mode) -{ - int er, curfd = -1, newfd = -1; +int mkfifoat(int fd, const char* path, mode_t mode) { + int er, curfd = -1, newfd = -1; /* Get our current directory then switch to the given one. */ - if (fd != AT_FDCWD) { - if ((curfd = open(".", O_RDONLY | O_DIRECTORY, 0)) == -1) + if(fd != AT_FDCWD) { + if((curfd = open(".", O_RDONLY | O_DIRECTORY, 0)) == -1) return -1; - if (fchdir(fd) == -1) + if(fchdir(fd) == -1) goto out; } - if ((newfd = mkfifo(path, mode)) == -1) + if((newfd = mkfifo(path, mode)) == -1) goto out; /* This leaves the fifo if it fails. */ - if (curfd != -1 && fchdir(curfd) == -1) + if(curfd != -1 && fchdir(curfd) == -1) goto out; - if (curfd != -1) + if(curfd != -1) close(curfd); return newfd; @@ -2052,11 +1990,11 @@ out: /* Ignore errors in close(2). */ er = errno; - if (curfd != -1) + if(curfd != -1) fchdir(curfd); - if (curfd != -1) + if(curfd != -1) close(curfd); - if (newfd != -1) + if(newfd != -1) close(newfd); errno = er; return -1; @@ -2069,48 +2007,46 @@ out: #include #include -int -mknodat(int fd, const char *path, mode_t mode, dev_t dev) -{ - int er, curfd = -1, newfd = -1; +int mknodat(int fd, const char* path, mode_t mode, dev_t dev) { + int er, curfd = -1, newfd = -1; /* Get our current directory then switch to the given one. */ - if (fd != AT_FDCWD) { - if ((curfd = open(".", O_RDONLY | O_DIRECTORY, 0)) == -1) + if(fd != AT_FDCWD) { + if((curfd = open(".", O_RDONLY | O_DIRECTORY, 0)) == -1) return -1; - if (fchdir(fd) == -1) + if(fchdir(fd) == -1) goto out; } - if ((newfd = mknod(path, mode, dev)) == -1) + if((newfd = mknod(path, mode, dev)) == -1) goto out; /* This leaves the node if it fails. */ - if (curfd != -1 && fchdir(curfd) == -1) + if(curfd != -1 && fchdir(curfd) == -1) goto out; - if (curfd != -1) + if(curfd != -1) close(curfd); return newfd; out: - + /* Ignore errors in close(2). */ er = errno; - if (curfd != -1) + if(curfd != -1) fchdir(curfd); - if (curfd != -1) + if(curfd != -1) close(curfd); - if (newfd != -1) + if(newfd != -1) close(newfd); errno = er; return -1; } #endif /* !HAVE_MKNODAT */ #if !HAVE_READPASSPHRASE -/* +/* * Original: readpassphrase.c in OpenSSH portable */ /* @@ -2145,25 +2081,22 @@ out: #include #if !defined(_NSIG) && defined(NSIG) -# define _NSIG NSIG +#define _NSIG NSIG #endif static volatile sig_atomic_t readpassphrase_signo[_NSIG]; static void -readpassphrase_handler(int s) -{ +readpassphrase_handler(int s) { readpassphrase_signo[s] = 1; } -char * -readpassphrase(const char *prompt, char *buf, size_t bufsiz, int flags) -{ - ssize_t nr; - int input, output, save_errno, i, need_restart; - char ch, *p, *end; - struct termios term, oterm; +char* readpassphrase(const char* prompt, char* buf, size_t bufsiz, int flags) { + ssize_t nr; + int input, output, save_errno, i, need_restart; + char ch, *p, *end; + struct termios term, oterm; struct sigaction sa, savealrm, saveint, savehup, savequit, saveterm; struct sigaction savetstp, savettin, savettou, savepipe; /* If we don't have TCSASOFT define it so that ORing it it below is a no-op. */ @@ -2174,28 +2107,28 @@ readpassphrase(const char *prompt, char *buf, size_t bufsiz, int flags) #endif /* I suppose we could alloc on demand in this case (XXX). */ - if (bufsiz == 0) { + if(bufsiz == 0) { errno = EINVAL; - return(NULL); + return (NULL); } restart: - for (i = 0; i < _NSIG; i++) + for(i = 0; i < _NSIG; i++) readpassphrase_signo[i] = 0; - nr = -1; - save_errno = 0; + nr = -1; + save_errno = 0; need_restart = 0; /* * Read and write to /dev/tty if available. If not, read from * stdin and write to stderr unless a tty is required. */ - if ((flags & RPP_STDIN) || - (input = output = open(_PATH_TTY, O_RDWR)) == -1) { - if (flags & RPP_REQUIRE_TTY) { + if((flags & RPP_STDIN) || + (input = output = open(_PATH_TTY, O_RDWR)) == -1) { + if(flags & RPP_REQUIRE_TTY) { errno = ENOTTY; - return(NULL); + return (NULL); } - input = STDIN_FILENO; + input = STDIN_FILENO; output = STDERR_FILENO; } @@ -2204,15 +2137,15 @@ restart: * If we are using a tty but are not the foreground pgrp this will * generate SIGTTOU, so do it *before* installing the signal handlers. */ - if (input != STDIN_FILENO && tcgetattr(input, &oterm) == 0) { + if(input != STDIN_FILENO && tcgetattr(input, &oterm) == 0) { memcpy(&term, &oterm, sizeof(term)); - if (!(flags & RPP_ECHO_ON)) + if(!(flags & RPP_ECHO_ON)) term.c_lflag &= ~(ECHO | ECHONL); #ifdef VSTATUS - if (term.c_cc[VSTATUS] != _POSIX_VDISABLE) + if(term.c_cc[VSTATUS] != _POSIX_VDISABLE) term.c_cc[VSTATUS] = _POSIX_VDISABLE; #endif - (void)tcsetattr(input, TCSAFLUSH|tcasoft, &term); + (void)tcsetattr(input, TCSAFLUSH | tcasoft, &term); } else { memset(&term, 0, sizeof(term)); term.c_lflag |= ECHO; @@ -2226,7 +2159,7 @@ restart: * things like SIGXCPU and SIGVTALRM for now. */ sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; /* don't restart system calls */ + sa.sa_flags = 0; /* don't restart system calls */ sa.sa_handler = readpassphrase_handler; (void)sigaction(SIGALRM, &sa, &savealrm); (void)sigaction(SIGHUP, &sa, &savehup); @@ -2238,35 +2171,35 @@ restart: (void)sigaction(SIGTTIN, &sa, &savettin); (void)sigaction(SIGTTOU, &sa, &savettou); - if (!(flags & RPP_STDIN)) + if(!(flags & RPP_STDIN)) (void)write(output, prompt, strlen(prompt)); end = buf + bufsiz - 1; - p = buf; - while ((nr = read(input, &ch, 1)) == 1 && ch != '\n' && ch != '\r') { - if (p < end) { - if ((flags & RPP_SEVENBIT)) + p = buf; + while((nr = read(input, &ch, 1)) == 1 && ch != '\n' && ch != '\r') { + if(p < end) { + if((flags & RPP_SEVENBIT)) ch &= 0x7f; - if (isalpha((unsigned char)ch)) { - if ((flags & RPP_FORCELOWER)) + if(isalpha((unsigned char)ch)) { + if((flags & RPP_FORCELOWER)) ch = (char)tolower((unsigned char)ch); - if ((flags & RPP_FORCEUPPER)) + if((flags & RPP_FORCEUPPER)) ch = (char)toupper((unsigned char)ch); } *p++ = ch; } } - *p = '\0'; + *p = '\0'; save_errno = errno; - if (!(term.c_lflag & ECHO)) + if(!(term.c_lflag & ECHO)) (void)write(output, "\n", 1); /* Restore old terminal settings and signals. */ - if (memcmp(&term, &oterm, sizeof(term)) != 0) { + if(memcmp(&term, &oterm, sizeof(term)) != 0) { const int sigttou = readpassphrase_signo[SIGTTOU]; /* Ignore SIGTTOU generated when we are not the fg pgrp. */ - while (tcsetattr(input, TCSAFLUSH|tcasoft, &oterm) == -1 && - errno == EINTR && !readpassphrase_signo[SIGTTOU]) + while(tcsetattr(input, TCSAFLUSH | tcasoft, &oterm) == -1 && + errno == EINTR && !readpassphrase_signo[SIGTTOU]) continue; readpassphrase_signo[SIGTTOU] = sigttou; } @@ -2279,17 +2212,17 @@ restart: (void)sigaction(SIGTSTP, &savetstp, NULL); (void)sigaction(SIGTTIN, &savettin, NULL); (void)sigaction(SIGTTOU, &savettou, NULL); - if (input != STDIN_FILENO) + if(input != STDIN_FILENO) (void)close(input); /* * If we were interrupted by a signal, resend it to ourselves * now that we have restored the signal handlers. */ - for (i = 0; i < _NSIG; i++) { - if (readpassphrase_signo[i]) { + for(i = 0; i < _NSIG; i++) { + if(readpassphrase_signo[i]) { kill(getpid(), i); - switch (i) { + switch(i) { case SIGTSTP: case SIGTTIN: case SIGTTOU: @@ -2297,12 +2230,12 @@ restart: } } } - if (need_restart) + if(need_restart) goto restart; - if (save_errno) + if(save_errno) errno = save_errno; - return(nr == -1 ? NULL : buf); + return (nr == -1 ? NULL : buf); } #endif /* !HAVE_READPASSPHRASE */ #if !HAVE_REALLOCARRAY @@ -2331,13 +2264,11 @@ restart: * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW */ -#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) +#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) -void * -reallocarray(void *optr, size_t nmemb, size_t size) -{ - if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && - nmemb > 0 && SIZE_MAX / nmemb < size) { +void* reallocarray(void* optr, size_t nmemb, size_t size) { + if((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && + nmemb > 0 && SIZE_MAX / nmemb < size) { errno = ENOMEM; return NULL; } @@ -2375,49 +2306,47 @@ reallocarray(void *optr, size_t nmemb, size_t size) */ #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) -void * -recallocarray(void *ptr, size_t oldnmemb, size_t newnmemb, size_t size) -{ +void* recallocarray(void* ptr, size_t oldnmemb, size_t newnmemb, size_t size) { size_t oldsize, newsize; - void *newptr; + void* newptr; - if (ptr == NULL) + if(ptr == NULL) return calloc(newnmemb, size); - if ((newnmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && - newnmemb > 0 && SIZE_MAX / newnmemb < size) { + if((newnmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && + newnmemb > 0 && SIZE_MAX / newnmemb < size) { errno = ENOMEM; return NULL; } newsize = newnmemb * size; - if ((oldnmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && - oldnmemb > 0 && SIZE_MAX / oldnmemb < size) { + if((oldnmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && + oldnmemb > 0 && SIZE_MAX / oldnmemb < size) { errno = EINVAL; return NULL; } oldsize = oldnmemb * size; - + /* * Don't bother too much if we're shrinking just a bit, * we do not shrink for series of small steps, oh well. */ - if (newsize <= oldsize) { + if(newsize <= oldsize) { size_t d = oldsize - newsize; - if (d < oldsize / 2 && d < (size_t)getpagesize()) { - memset((char *)ptr + newsize, 0, d); + if(d < oldsize / 2 && d < (size_t)getpagesize()) { + memset((char*)ptr + newsize, 0, d); return ptr; } } newptr = malloc(newsize); - if (newptr == NULL) + if(newptr == NULL) return NULL; - if (newsize > oldsize) { + if(newsize > oldsize) { memcpy(newptr, ptr, oldsize); - memset((char *)newptr + oldsize, 0, newsize - oldsize); + memset((char*)newptr + oldsize, 0, newsize - oldsize); } else memcpy(newptr, ptr, newsize); @@ -2474,51 +2403,55 @@ recallocarray(void *ptr, size_t oldnmemb, size_t newnmemb, size_t size) #include typedef enum { - NONE = 0, KILO = 1, MEGA = 2, GIGA = 3, TERA = 4, PETA = 5, EXA = 6 + NONE = 0, + KILO = 1, + MEGA = 2, + GIGA = 3, + TERA = 4, + PETA = 5, + EXA = 6 } unit_type; /* These three arrays MUST be in sync! XXX make a struct */ -static const unit_type units[] = { NONE, KILO, MEGA, GIGA, TERA, PETA, EXA }; -static const char scale_chars[] = "BKMGTPE"; +static const unit_type units[] = {NONE, KILO, MEGA, GIGA, TERA, PETA, EXA}; +static const char scale_chars[] = "BKMGTPE"; static const long long scale_factors[] = { - 1LL, - 1024LL, - 1024LL*1024, - 1024LL*1024*1024, - 1024LL*1024*1024*1024, - 1024LL*1024*1024*1024*1024, - 1024LL*1024*1024*1024*1024*1024, + 1LL, + 1024LL, + 1024LL * 1024, + 1024LL * 1024 * 1024, + 1024LL * 1024 * 1024 * 1024, + 1024LL * 1024 * 1024 * 1024 * 1024, + 1024LL * 1024 * 1024 * 1024 * 1024 * 1024, }; -#define SCALE_LENGTH (sizeof(units)/sizeof(units[0])) +#define SCALE_LENGTH (sizeof(units) / sizeof(units[0])) -#define MAX_DIGITS (SCALE_LENGTH * 3) /* XXX strlen(sprintf("%lld", -1)? */ +#define MAX_DIGITS (SCALE_LENGTH * 3) /* XXX strlen(sprintf("%lld", -1)? */ /* Convert the given input string "scaled" into numeric in "result". * Return 0 on success, -1 and errno set on error. */ -int -scan_scaled(char *scaled, long long *result) -{ - char *p = scaled; - int sign = 0; +int scan_scaled(char* scaled, long long* result) { + char* p = scaled; + int sign = 0; unsigned int i, ndigits = 0, fract_digits = 0; - long long scale_fact = 1, whole = 0, fpart = 0; + long long scale_fact = 1, whole = 0, fpart = 0; /* Skip leading whitespace */ - while (isascii((unsigned char)*p) && isspace((unsigned char)*p)) + while(isascii((unsigned char)*p) && isspace((unsigned char)*p)) ++p; /* Then at most one leading + or - */ - while (*p == '-' || *p == '+') { - if (*p == '-') { - if (sign) { + while(*p == '-' || *p == '+') { + if(*p == '-') { + if(sign) { errno = EINVAL; return -1; } sign = -1; ++p; - } else if (*p == '+') { - if (sign) { + } else if(*p == '+') { + if(sign) { errno = EINVAL; return -1; } @@ -2532,10 +2465,11 @@ scan_scaled(char *scaled, long long *result) * (but note that E for Exa might look like e to some!). * Advance 'p' to end, to get scale factor. */ - for (; isascii((unsigned char)*p) && - (isdigit((unsigned char)*p) || *p=='.'); ++p) { - if (*p == '.') { - if (fract_digits > 0) { /* oops, more than one '.' */ + for(; isascii((unsigned char)*p) && + (isdigit((unsigned char)*p) || *p == '.'); + ++p) { + if(*p == '.') { + if(fract_digits > 0) { /* oops, more than one '.' */ errno = EINVAL; return -1; } @@ -2543,33 +2477,33 @@ scan_scaled(char *scaled, long long *result) continue; } - i = (*p) - '0'; /* whew! finally a digit we can use */ - if (fract_digits > 0) { - if (fract_digits >= MAX_DIGITS-1) + i = (*p) - '0'; /* whew! finally a digit we can use */ + if(fract_digits > 0) { + if(fract_digits >= MAX_DIGITS - 1) /* ignore extra fractional digits */ continue; - fract_digits++; /* for later scaling */ - if (fpart > LLONG_MAX / 10) { + fract_digits++; /* for later scaling */ + if(fpart > LLONG_MAX / 10) { errno = ERANGE; return -1; } fpart *= 10; - if (i > LLONG_MAX - fpart) { + if(i > LLONG_MAX - fpart) { errno = ERANGE; return -1; } fpart += i; - } else { /* normal digit */ - if (++ndigits >= MAX_DIGITS) { + } else { /* normal digit */ + if(++ndigits >= MAX_DIGITS) { errno = ERANGE; return -1; } - if (whole > LLONG_MAX / 10) { + if(whole > LLONG_MAX / 10) { errno = ERANGE; return -1; } whole *= 10; - if (i > LLONG_MAX - whole) { + if(i > LLONG_MAX - whole) { errno = ERANGE; return -1; } @@ -2577,32 +2511,32 @@ scan_scaled(char *scaled, long long *result) } } - if (sign) + if(sign) whole *= sign; /* If no scale factor given, we're done. fraction is discarded. */ - if (!*p) { + if(!*p) { *result = whole; return 0; } /* Validate scale factor, and scale whole and fraction by it. */ - for (i = 0; i < SCALE_LENGTH; i++) { + for(i = 0; i < SCALE_LENGTH; i++) { /* Are we there yet? */ - if (*p == scale_chars[i] || - *p == tolower((unsigned char)scale_chars[i])) { + if(*p == scale_chars[i] || + *p == tolower((unsigned char)scale_chars[i])) { /* If it ends with alphanumerics after the scale char, bad. */ - if (isalnum((unsigned char)*(p+1))) { + if(isalnum((unsigned char)*(p + 1))) { errno = EINVAL; return -1; } scale_fact = scale_factors[i]; /* check for overflow and underflow after scaling */ - if (whole > LLONG_MAX / scale_fact || - whole < LLONG_MIN / scale_fact) { + if(whole > LLONG_MAX / scale_fact || + whole < LLONG_MIN / scale_fact) { errno = ERANGE; return -1; } @@ -2613,16 +2547,16 @@ scan_scaled(char *scaled, long long *result) /* truncate fpart so it does't overflow. * then scale fractional part. */ - while (fpart >= LLONG_MAX / scale_fact) { + while(fpart >= LLONG_MAX / scale_fact) { fpart /= 10; fract_digits--; } fpart *= scale_fact; - if (fract_digits > 0) { - for (i = 0; i < fract_digits -1; i++) + if(fract_digits > 0) { + for(i = 0; i < fract_digits - 1; i++) fpart /= 10; } - if (sign == -1) + if(sign == -1) whole -= fpart; else whole += fpart; @@ -2640,15 +2574,13 @@ scan_scaled(char *scaled, long long *result) * Result must point to an allocated buffer of length FMT_SCALED_STRSIZE. * Return 0 on success, -1 and errno set if error. */ -int -fmt_scaled(long long number, char *result) -{ - long long abval, fract = 0; +int fmt_scaled(long long number, char* result) { + long long abval, fract = 0; unsigned int i; - unit_type unit = NONE; + unit_type unit = NONE; /* Not every negative long long has a positive representation. */ - if (number == LLONG_MIN) { + if(number == LLONG_MIN) { errno = ERANGE; return -1; } @@ -2656,18 +2588,18 @@ fmt_scaled(long long number, char *result) abval = llabs(number); /* Also check for numbers that are just too darned big to format. */ - if (abval / 1024 >= scale_factors[SCALE_LENGTH-1]) { + if(abval / 1024 >= scale_factors[SCALE_LENGTH - 1]) { errno = ERANGE; return -1; } /* scale whole part; get unscaled fraction */ - for (i = 0; i < SCALE_LENGTH; i++) { - if (abval/1024 < scale_factors[i]) { - unit = units[i]; + for(i = 0; i < SCALE_LENGTH; i++) { + if(abval / 1024 < scale_factors[i]) { + unit = units[i]; fract = (i == 0) ? 0 : abval % scale_factors[i]; number /= scale_factors[i]; - if (i > 0) + if(i > 0) fract /= scale_factors[i - 1]; break; } @@ -2675,31 +2607,31 @@ fmt_scaled(long long number, char *result) fract = (10 * fract + 512) / 1024; /* if the result would be >= 10, round main number */ - if (fract >= 10) { - if (number >= 0) + if(fract >= 10) { + if(number >= 0) number++; else number--; fract = 0; - } else if (fract < 0) { + } else if(fract < 0) { /* shouldn't happen */ fract = 0; } - if (number == 0) + if(number == 0) strlcpy(result, "0B", FMT_SCALED_STRSIZE); - else if (unit == NONE || number >= 100 || number <= -100) { - if (fract >= 5) { - if (number >= 0) + else if(unit == NONE || number >= 100 || number <= -100) { + if(fract >= 5) { + if(number >= 0) number++; else number--; } (void)snprintf(result, FMT_SCALED_STRSIZE, "%lld%c", - number, scale_chars[unit]); + number, scale_chars[unit]); } else (void)snprintf(result, FMT_SCALED_STRSIZE, "%lld.%1lld%c", - number, fract, scale_chars[unit]); + number, fract, scale_chars[unit]); return 0; } @@ -2725,15 +2657,13 @@ fmt_scaled(long long number, char *result) #include #include -int -setresgid(gid_t rgid, gid_t egid, gid_t sgid) -{ +int setresgid(gid_t rgid, gid_t egid, gid_t sgid) { /* this is the only configuration tested */ - if (rgid != egid || egid != sgid) + if(rgid != egid || egid != sgid) return -1; - if (setregid(rgid, egid) == -1) + if(setregid(rgid, egid) == -1) return -1; return 0; @@ -2761,21 +2691,19 @@ setresgid(gid_t rgid, gid_t egid, gid_t sgid) #include #include -int -setresuid(uid_t ruid, uid_t euid, uid_t suid) -{ +int setresuid(uid_t ruid, uid_t euid, uid_t suid) { uid_t ouid; - int ret = -1; + int ret = -1; /* Allow only the tested configuration. */ - if (ruid != euid || euid != suid) { + if(ruid != euid || euid != suid) { errno = ENOSYS; return -1; } ouid = getuid(); - if ((ret = setreuid(euid, euid)) == -1) + if((ret = setreuid(euid, euid)) == -1) return -1; /* @@ -2783,8 +2711,8 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) * changed uids, sanity check that we cannot restore the old uid. */ - if (ruid == euid && euid == suid && ouid != ruid && - setuid(ouid) != -1 && seteuid(ouid) != -1) { + if(ruid == euid && euid == suid && ouid != ruid && + setuid(ouid) != -1 && seteuid(ouid) != -1) { errno = EINVAL; return -1; } @@ -2793,7 +2721,7 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) * Finally, check that the real and effective uids are what we * expect. */ - if (getuid() != ruid || geteuid() != euid) { + if(getuid() != ruid || geteuid() != euid) { errno = EACCES; return -1; } @@ -2807,7 +2735,7 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) /* * FILE: sha2.c * AUTHOR: Aaron D. Gifford - * + * * Copyright (c) 2000-2001, Aaron D. Gifford * All rights reserved. * @@ -2822,7 +2750,7 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) * 3. Neither the name of the copyright holder nor the names of contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -2841,7 +2769,7 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) /* OPENBSD ORIGINAL: lib/libc/hash/sha2.c */ /* no-op out, similar to DEF_WEAK but only needed here */ -#define MAKE_CLONE(x, y) void __ssh_compat_make_clone_##x_##y(void) +#define MAKE_CLONE(x, y) void __ssh_compat_make_clone_##x_##y(void) #include #include @@ -2854,22 +2782,22 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) #include #ifndef MINIMUM -# define MINIMUM(a, b) (((a) < (b)) ? (a) : (b)) +#define MINIMUM(a, b) (((a) < (b)) ? (a) : (b)) #endif #ifndef BYTE_ORDER -# if defined(LITTLE_ENDIAN) || defined(BIG_ENDIAN) -# error Confusion in endian macros. -# endif -# if !defined(__BYTE_ORDER__) -# error Byte order macro not found. -# endif -# if !defined(__ORDER_LITTLE_ENDIAN__) || !defined(__ORDER_BIG_ENDIAN__) -# error Little/big endian macros not found. -# endif -# define BYTE_ORDER __BYTE_ORDER__ -# define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ -# define BIG_ENDIAN __ORDER_BIG_ENDIAN__ +#if defined(LITTLE_ENDIAN) || defined(BIG_ENDIAN) +#error Confusion in endian macros. +#endif +#if !defined(__BYTE_ORDER__) +#error Byte order macro not found. +#endif +#if !defined(__ORDER_LITTLE_ENDIAN__) || !defined(__ORDER_BIG_ENDIAN__) +#error Little/big endian macros not found. +#endif +#define BYTE_ORDER __BYTE_ORDER__ +#define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ +#define BIG_ENDIAN __ORDER_BIG_ENDIAN__ #endif /*!BYTE_ORDER*/ /* @@ -2906,7 +2834,7 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) * * And for little-endian machines, add: * - * #define BYTE_ORDER LITTLE_ENDIAN + * #define BYTE_ORDER LITTLE_ENDIAN * * Or for big-endian machines: * @@ -2921,56 +2849,60 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) #error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN #endif - /*** SHA-224/256/384/512 Various Length Definitions ***********************/ /* NOTE: Most of these are in sha2.h */ -#define SHA224_SHORT_BLOCK_LENGTH (SHA224_BLOCK_LENGTH - 8) -#define SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8) -#define SHA384_SHORT_BLOCK_LENGTH (SHA384_BLOCK_LENGTH - 16) -#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) +#define SHA224_SHORT_BLOCK_LENGTH (SHA224_BLOCK_LENGTH - 8) +#define SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8) +#define SHA384_SHORT_BLOCK_LENGTH (SHA384_BLOCK_LENGTH - 16) +#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) /*** ENDIAN SPECIFIC COPY MACROS **************************************/ -#define BE_8_TO_32(dst, cp) do { \ - (dst) = (uint32_t)(cp)[3] | ((uint32_t)(cp)[2] << 8) | \ - ((uint32_t)(cp)[1] << 16) | ((uint32_t)(cp)[0] << 24); \ -} while(0) +#define BE_8_TO_32(dst, cp) \ + do { \ + (dst) = (uint32_t)(cp)[3] | ((uint32_t)(cp)[2] << 8) | \ + ((uint32_t)(cp)[1] << 16) | ((uint32_t)(cp)[0] << 24); \ + } while(0) -#define BE_8_TO_64(dst, cp) do { \ - (dst) = (uint64_t)(cp)[7] | ((uint64_t)(cp)[6] << 8) | \ - ((uint64_t)(cp)[5] << 16) | ((uint64_t)(cp)[4] << 24) | \ - ((uint64_t)(cp)[3] << 32) | ((uint64_t)(cp)[2] << 40) | \ - ((uint64_t)(cp)[1] << 48) | ((uint64_t)(cp)[0] << 56); \ -} while (0) +#define BE_8_TO_64(dst, cp) \ + do { \ + (dst) = (uint64_t)(cp)[7] | ((uint64_t)(cp)[6] << 8) | \ + ((uint64_t)(cp)[5] << 16) | ((uint64_t)(cp)[4] << 24) | \ + ((uint64_t)(cp)[3] << 32) | ((uint64_t)(cp)[2] << 40) | \ + ((uint64_t)(cp)[1] << 48) | ((uint64_t)(cp)[0] << 56); \ + } while(0) -#define BE_64_TO_8(cp, src) do { \ - (cp)[0] = (src) >> 56; \ - (cp)[1] = (src) >> 48; \ - (cp)[2] = (src) >> 40; \ - (cp)[3] = (src) >> 32; \ - (cp)[4] = (src) >> 24; \ - (cp)[5] = (src) >> 16; \ - (cp)[6] = (src) >> 8; \ - (cp)[7] = (src); \ -} while (0) +#define BE_64_TO_8(cp, src) \ + do { \ + (cp)[0] = (src) >> 56; \ + (cp)[1] = (src) >> 48; \ + (cp)[2] = (src) >> 40; \ + (cp)[3] = (src) >> 32; \ + (cp)[4] = (src) >> 24; \ + (cp)[5] = (src) >> 16; \ + (cp)[6] = (src) >> 8; \ + (cp)[7] = (src); \ + } while(0) -#define BE_32_TO_8(cp, src) do { \ - (cp)[0] = (src) >> 24; \ - (cp)[1] = (src) >> 16; \ - (cp)[2] = (src) >> 8; \ - (cp)[3] = (src); \ -} while (0) +#define BE_32_TO_8(cp, src) \ + do { \ + (cp)[0] = (src) >> 24; \ + (cp)[1] = (src) >> 16; \ + (cp)[2] = (src) >> 8; \ + (cp)[3] = (src); \ + } while(0) /* * Macro for incrementally adding the unsigned 64-bit integer n to the * unsigned 128-bit integer (represented using a two-element array of * 64-bit words): */ -#define ADDINC128(w,n) do { \ - (w)[0] += (uint64_t)(n); \ - if ((w)[0] < (n)) { \ - (w)[1]++; \ - } \ -} while (0) +#define ADDINC128(w, n) \ + do { \ + (w)[0] += (uint64_t)(n); \ + if((w)[0] < (n)) { \ + (w)[1]++; \ + } \ + } while(0) /*** THE SIX LOGICAL FUNCTIONS ****************************************/ /* @@ -2982,136 +2914,128 @@ setresuid(uid_t ruid, uid_t euid, uid_t suid) * same "backwards" definition. */ /* Shift-right (used in SHA-224, SHA-256, SHA-384, and SHA-512): */ -#define R(b,x) ((x) >> (b)) +#define R(b, x) ((x) >> (b)) /* 32-bit Rotate-right (used in SHA-224 and SHA-256): */ -#define S32(b,x) (((x) >> (b)) | ((x) << (32 - (b)))) +#define S32(b, x) (((x) >> (b)) | ((x) << (32 - (b)))) /* 64-bit Rotate-right (used in SHA-384 and SHA-512): */ -#define S64(b,x) (((x) >> (b)) | ((x) << (64 - (b)))) +#define S64(b, x) (((x) >> (b)) | ((x) << (64 - (b)))) /* Two of six logical functions used in SHA-224, SHA-256, SHA-384, and SHA-512: */ -#define Ch(x,y,z) (((x) & (y)) ^ ((~(x)) & (z))) -#define Maj(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) +#define Ch(x, y, z) (((x) & (y)) ^ ((~(x)) & (z))) +#define Maj(x, y, z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) /* Four of six logical functions used in SHA-224 and SHA-256: */ -#define Sigma0_256(x) (S32(2, (x)) ^ S32(13, (x)) ^ S32(22, (x))) -#define Sigma1_256(x) (S32(6, (x)) ^ S32(11, (x)) ^ S32(25, (x))) -#define sigma0_256(x) (S32(7, (x)) ^ S32(18, (x)) ^ R(3 , (x))) -#define sigma1_256(x) (S32(17, (x)) ^ S32(19, (x)) ^ R(10, (x))) +#define Sigma0_256(x) (S32(2, (x)) ^ S32(13, (x)) ^ S32(22, (x))) +#define Sigma1_256(x) (S32(6, (x)) ^ S32(11, (x)) ^ S32(25, (x))) +#define sigma0_256(x) (S32(7, (x)) ^ S32(18, (x)) ^ R(3, (x))) +#define sigma1_256(x) (S32(17, (x)) ^ S32(19, (x)) ^ R(10, (x))) /* Four of six logical functions used in SHA-384 and SHA-512: */ -#define Sigma0_512(x) (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x))) -#define Sigma1_512(x) (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x))) -#define sigma0_512(x) (S64( 1, (x)) ^ S64( 8, (x)) ^ R( 7, (x))) -#define sigma1_512(x) (S64(19, (x)) ^ S64(61, (x)) ^ R( 6, (x))) - +#define Sigma0_512(x) (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x))) +#define Sigma1_512(x) (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x))) +#define sigma0_512(x) (S64(1, (x)) ^ S64(8, (x)) ^ R(7, (x))) +#define sigma1_512(x) (S64(19, (x)) ^ S64(61, (x)) ^ R(6, (x))) /*** SHA-XYZ INITIAL HASH VALUES AND CONSTANTS ************************/ /* Hash constant words K for SHA-224 and SHA-256: */ static const uint32_t K256[64] = { - 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, - 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, - 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, - 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL, - 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, - 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, - 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, - 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL, - 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL, - 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, - 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, - 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, - 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL, - 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL, - 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, - 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL -}; + 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, + 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, + 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, + 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL, + 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, + 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, + 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, + 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL, + 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL, + 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, + 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, + 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, + 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL, + 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL, + 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, + 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL}; /* Initial hash value H for SHA-256: */ static const uint32_t sha256_initial_hash_value[8] = { - 0x6a09e667UL, - 0xbb67ae85UL, - 0x3c6ef372UL, - 0xa54ff53aUL, - 0x510e527fUL, - 0x9b05688cUL, - 0x1f83d9abUL, - 0x5be0cd19UL -}; + 0x6a09e667UL, + 0xbb67ae85UL, + 0x3c6ef372UL, + 0xa54ff53aUL, + 0x510e527fUL, + 0x9b05688cUL, + 0x1f83d9abUL, + 0x5be0cd19UL}; /* Hash constant words K for SHA-384 and SHA-512: */ static const uint64_t K512[80] = { - 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, - 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL, - 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, - 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, - 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL, - 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, - 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, - 0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL, - 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, - 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, - 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL, - 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, - 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, - 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL, - 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, - 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, - 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL, - 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL, - 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, - 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL, - 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, - 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, - 0xd192e819d6ef5218ULL, 0xd69906245565a910ULL, - 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, - 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, - 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL, - 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, - 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, - 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL, - 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL, - 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, - 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL, - 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, - 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, - 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL, - 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, - 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, - 0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL, - 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, - 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL -}; + 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, + 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL, + 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, + 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, + 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL, + 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, + 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, + 0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL, + 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, + 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, + 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL, + 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, + 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, + 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL, + 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, + 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, + 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL, + 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL, + 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, + 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL, + 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, + 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, + 0xd192e819d6ef5218ULL, 0xd69906245565a910ULL, + 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, + 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, + 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL, + 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, + 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, + 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL, + 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL, + 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, + 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL, + 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, + 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, + 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL, + 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, + 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, + 0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL, + 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, + 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL}; /* Initial hash value H for SHA-512 */ static const uint64_t sha512_initial_hash_value[8] = { - 0x6a09e667f3bcc908ULL, - 0xbb67ae8584caa73bULL, - 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, - 0x510e527fade682d1ULL, - 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, - 0x5be0cd19137e2179ULL -}; + 0x6a09e667f3bcc908ULL, + 0xbb67ae8584caa73bULL, + 0x3c6ef372fe94f82bULL, + 0xa54ff53a5f1d36f1ULL, + 0x510e527fade682d1ULL, + 0x9b05688c2b3e6c1fULL, + 0x1f83d9abfb41bd6bULL, + 0x5be0cd19137e2179ULL}; /* Initial hash value H for SHA-384 */ static const uint64_t sha384_initial_hash_value[8] = { - 0xcbbb9d5dc1059ed8ULL, - 0x629a292a367cd507ULL, - 0x9159015a3070dd17ULL, - 0x152fecd8f70e5939ULL, - 0x67332667ffc00b31ULL, - 0x8eb44a8768581511ULL, - 0xdb0c2e0d64f98fa7ULL, - 0x47b5481dbefa4fa4ULL -}; + 0xcbbb9d5dc1059ed8ULL, + 0x629a292a367cd507ULL, + 0x9159015a3070dd17ULL, + 0x152fecd8f70e5939ULL, + 0x67332667ffc00b31ULL, + 0x8eb44a8768581511ULL, + 0xdb0c2e0d64f98fa7ULL, + 0x47b5481dbefa4fa4ULL}; /*** SHA-256: *********************************************************/ -void -SHA256Init(SHA2_CTX *context) -{ +void SHA256Init(SHA2_CTX* context) { memcpy(context->state.st32, sha256_initial_hash_value, - sizeof(sha256_initial_hash_value)); + sizeof(sha256_initial_hash_value)); memset(context->buffer, 0, sizeof(context->buffer)); context->bitcount[0] = 0; } @@ -3120,33 +3044,33 @@ SHA256Init(SHA2_CTX *context) /* Unrolled SHA-256 round macros: */ -#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) do { \ - BE_8_TO_32(W256[j], data); \ - data += 4; \ - T1 = (h) + Sigma1_256((e)) + Ch((e), (f), (g)) + K256[j] + W256[j]; \ - (d) += T1; \ - (h) = T1 + Sigma0_256((a)) + Maj((a), (b), (c)); \ - j++; \ -} while(0) +#define ROUND256_0_TO_15(a, b, c, d, e, f, g, h) \ + do { \ + BE_8_TO_32(W256[j], data); \ + data += 4; \ + T1 = (h) + Sigma1_256((e)) + Ch((e), (f), (g)) + K256[j] + W256[j]; \ + (d) += T1; \ + (h) = T1 + Sigma0_256((a)) + Maj((a), (b), (c)); \ + j++; \ + } while(0) -#define ROUND256(a,b,c,d,e,f,g,h) do { \ - s0 = W256[(j+1)&0x0f]; \ - s0 = sigma0_256(s0); \ - s1 = W256[(j+14)&0x0f]; \ - s1 = sigma1_256(s1); \ - T1 = (h) + Sigma1_256((e)) + Ch((e), (f), (g)) + K256[j] + \ - (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); \ - (d) += T1; \ - (h) = T1 + Sigma0_256((a)) + Maj((a), (b), (c)); \ - j++; \ -} while(0) +#define ROUND256(a, b, c, d, e, f, g, h) \ + do { \ + s0 = W256[(j + 1) & 0x0f]; \ + s0 = sigma0_256(s0); \ + s1 = W256[(j + 14) & 0x0f]; \ + s1 = sigma1_256(s1); \ + T1 = (h) + Sigma1_256((e)) + Ch((e), (f), (g)) + K256[j] + \ + (W256[j & 0x0f] += s1 + W256[(j + 9) & 0x0f] + s0); \ + (d) += T1; \ + (h) = T1 + Sigma0_256((a)) + Maj((a), (b), (c)); \ + j++; \ + } while(0) -void -SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) -{ - uint32_t a, b, c, d, e, f, g, h, s0, s1; - uint32_t T1, W256[16]; - int j; +void SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) { + uint32_t a, b, c, d, e, f, g, h, s0, s1; + uint32_t T1, W256[16]; + int j; /* Initialize registers with the prev. intermediate value */ a = state[0]; @@ -3161,27 +3085,27 @@ SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) j = 0; do { /* Rounds 0 to 15 (unrolled): */ - ROUND256_0_TO_15(a,b,c,d,e,f,g,h); - ROUND256_0_TO_15(h,a,b,c,d,e,f,g); - ROUND256_0_TO_15(g,h,a,b,c,d,e,f); - ROUND256_0_TO_15(f,g,h,a,b,c,d,e); - ROUND256_0_TO_15(e,f,g,h,a,b,c,d); - ROUND256_0_TO_15(d,e,f,g,h,a,b,c); - ROUND256_0_TO_15(c,d,e,f,g,h,a,b); - ROUND256_0_TO_15(b,c,d,e,f,g,h,a); - } while (j < 16); + ROUND256_0_TO_15(a, b, c, d, e, f, g, h); + ROUND256_0_TO_15(h, a, b, c, d, e, f, g); + ROUND256_0_TO_15(g, h, a, b, c, d, e, f); + ROUND256_0_TO_15(f, g, h, a, b, c, d, e); + ROUND256_0_TO_15(e, f, g, h, a, b, c, d); + ROUND256_0_TO_15(d, e, f, g, h, a, b, c); + ROUND256_0_TO_15(c, d, e, f, g, h, a, b); + ROUND256_0_TO_15(b, c, d, e, f, g, h, a); + } while(j < 16); /* Now for the remaining rounds up to 63: */ do { - ROUND256(a,b,c,d,e,f,g,h); - ROUND256(h,a,b,c,d,e,f,g); - ROUND256(g,h,a,b,c,d,e,f); - ROUND256(f,g,h,a,b,c,d,e); - ROUND256(e,f,g,h,a,b,c,d); - ROUND256(d,e,f,g,h,a,b,c); - ROUND256(c,d,e,f,g,h,a,b); - ROUND256(b,c,d,e,f,g,h,a); - } while (j < 64); + ROUND256(a, b, c, d, e, f, g, h); + ROUND256(h, a, b, c, d, e, f, g); + ROUND256(g, h, a, b, c, d, e, f); + ROUND256(f, g, h, a, b, c, d, e); + ROUND256(e, f, g, h, a, b, c, d); + ROUND256(d, e, f, g, h, a, b, c); + ROUND256(c, d, e, f, g, h, a, b); + ROUND256(b, c, d, e, f, g, h, a); + } while(j < 64); /* Compute the current intermediate hash value */ state[0] += a; @@ -3199,12 +3123,10 @@ SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) #else /* SHA2_UNROLL_TRANSFORM */ -void -SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) -{ - uint32_t a, b, c, d, e, f, g, h, s0, s1; - uint32_t T1, T2, W256[16]; - int j; +void SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) { + uint32_t a, b, c, d, e, f, g, h, s0, s1; + uint32_t T1, T2, W256[16]; + int j; /* Initialize registers with the prev. intermediate value */ a = state[0]; @@ -3223,40 +3145,40 @@ SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) /* Apply the SHA-256 compression function to update a..h */ T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + W256[j]; T2 = Sigma0_256(a) + Maj(a, b, c); - h = g; - g = f; - f = e; - e = d + T1; - d = c; - c = b; - b = a; - a = T1 + T2; + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; j++; - } while (j < 16); + } while(j < 16); do { /* Part of the message block expansion: */ - s0 = W256[(j+1)&0x0f]; + s0 = W256[(j + 1) & 0x0f]; s0 = sigma0_256(s0); - s1 = W256[(j+14)&0x0f]; + s1 = W256[(j + 14) & 0x0f]; s1 = sigma1_256(s1); /* Apply the SHA-256 compression function to update a..h */ - T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + - (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); + T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + + (W256[j & 0x0f] += s1 + W256[(j + 9) & 0x0f] + s0); T2 = Sigma0_256(a) + Maj(a, b, c); - h = g; - g = f; - f = e; - e = d + T1; - d = c; - c = b; - b = a; - a = T1 + T2; + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; j++; - } while (j < 64); + } while(j < 64); /* Compute the current intermediate hash value */ state[0] += a; @@ -3274,21 +3196,19 @@ SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH]) #endif /* SHA2_UNROLL_TRANSFORM */ -void -SHA256Update(SHA2_CTX *context, const uint8_t *data, size_t len) -{ - uint64_t freespace, usedspace; +void SHA256Update(SHA2_CTX* context, const uint8_t* data, size_t len) { + uint64_t freespace, usedspace; /* Calling with no data is valid (we do nothing) */ - if (len == 0) + if(len == 0) return; usedspace = (context->bitcount[0] >> 3) % SHA256_BLOCK_LENGTH; - if (usedspace > 0) { + if(usedspace > 0) { /* Calculate how much free space is available in the buffer */ freespace = SHA256_BLOCK_LENGTH - usedspace; - if (len >= freespace) { + if(len >= freespace) { /* Fill the buffer completely and process it */ memcpy(&context->buffer[usedspace], data, freespace); context->bitcount[0] += freespace << 3; @@ -3304,14 +3224,14 @@ SHA256Update(SHA2_CTX *context, const uint8_t *data, size_t len) return; } } - while (len >= SHA256_BLOCK_LENGTH) { + while(len >= SHA256_BLOCK_LENGTH) { /* Process as many complete blocks as we can */ SHA256Transform(context->state.st32, data); context->bitcount[0] += SHA256_BLOCK_LENGTH << 3; len -= SHA256_BLOCK_LENGTH; data += SHA256_BLOCK_LENGTH; } - if (len > 0) { + if(len > 0) { /* There's left-overs, so save 'em */ memcpy(context->buffer, data, len); context->bitcount[0] += len << 3; @@ -3320,24 +3240,22 @@ SHA256Update(SHA2_CTX *context, const uint8_t *data, size_t len) usedspace = freespace = 0; } -void -SHA256Pad(SHA2_CTX *context) -{ - unsigned int usedspace; +void SHA256Pad(SHA2_CTX* context) { + unsigned int usedspace; usedspace = (context->bitcount[0] >> 3) % SHA256_BLOCK_LENGTH; - if (usedspace > 0) { + if(usedspace > 0) { /* Begin padding with a 1 bit: */ context->buffer[usedspace++] = 0x80; - if (usedspace <= SHA256_SHORT_BLOCK_LENGTH) { + if(usedspace <= SHA256_SHORT_BLOCK_LENGTH) { /* Set-up for the last transform: */ memset(&context->buffer[usedspace], 0, - SHA256_SHORT_BLOCK_LENGTH - usedspace); + SHA256_SHORT_BLOCK_LENGTH - usedspace); } else { - if (usedspace < SHA256_BLOCK_LENGTH) { + if(usedspace < SHA256_BLOCK_LENGTH) { memset(&context->buffer[usedspace], 0, - SHA256_BLOCK_LENGTH - usedspace); + SHA256_BLOCK_LENGTH - usedspace); } /* Do second-to-last transform: */ SHA256Transform(context->state.st32, context->buffer); @@ -3354,7 +3272,7 @@ SHA256Pad(SHA2_CTX *context) } /* Store the length of input data (in bits) in big endian format: */ BE_64_TO_8(&context->buffer[SHA256_SHORT_BLOCK_LENGTH], - context->bitcount[0]); + context->bitcount[0]); /* Final transform: */ SHA256Transform(context->state.st32, context->buffer); @@ -3363,16 +3281,14 @@ SHA256Pad(SHA2_CTX *context) usedspace = 0; } -void -SHA256Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA2_CTX *context) -{ +void SHA256Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA2_CTX* context) { SHA256Pad(context); #if BYTE_ORDER == LITTLE_ENDIAN - int i; + int i; /* Convert TO host byte order */ - for (i = 0; i < 8; i++) + for(i = 0; i < 8; i++) BE_32_TO_8(digest + i * 4, context->state.st32[i]); #else memcpy(digest, context->state.st32, SHA256_DIGEST_LENGTH); @@ -3380,49 +3296,45 @@ SHA256Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA2_CTX *context) explicit_bzero(context, sizeof(*context)); } - /*** SHA-512: *********************************************************/ -void -SHA512Init(SHA2_CTX *context) -{ +void SHA512Init(SHA2_CTX* context) { memcpy(context->state.st64, sha512_initial_hash_value, - sizeof(sha512_initial_hash_value)); + sizeof(sha512_initial_hash_value)); memset(context->buffer, 0, sizeof(context->buffer)); - context->bitcount[0] = context->bitcount[1] = 0; + context->bitcount[0] = context->bitcount[1] = 0; } #ifdef SHA2_UNROLL_TRANSFORM /* Unrolled SHA-512 round macros: */ -#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) do { \ - BE_8_TO_64(W512[j], data); \ - data += 8; \ - T1 = (h) + Sigma1_512((e)) + Ch((e), (f), (g)) + K512[j] + W512[j]; \ - (d) += T1; \ - (h) = T1 + Sigma0_512((a)) + Maj((a), (b), (c)); \ - j++; \ -} while(0) +#define ROUND512_0_TO_15(a, b, c, d, e, f, g, h) \ + do { \ + BE_8_TO_64(W512[j], data); \ + data += 8; \ + T1 = (h) + Sigma1_512((e)) + Ch((e), (f), (g)) + K512[j] + W512[j]; \ + (d) += T1; \ + (h) = T1 + Sigma0_512((a)) + Maj((a), (b), (c)); \ + j++; \ + } while(0) +#define ROUND512(a, b, c, d, e, f, g, h) \ + do { \ + s0 = W512[(j + 1) & 0x0f]; \ + s0 = sigma0_512(s0); \ + s1 = W512[(j + 14) & 0x0f]; \ + s1 = sigma1_512(s1); \ + T1 = (h) + Sigma1_512((e)) + Ch((e), (f), (g)) + K512[j] + \ + (W512[j & 0x0f] += s1 + W512[(j + 9) & 0x0f] + s0); \ + (d) += T1; \ + (h) = T1 + Sigma0_512((a)) + Maj((a), (b), (c)); \ + j++; \ + } while(0) -#define ROUND512(a,b,c,d,e,f,g,h) do { \ - s0 = W512[(j+1)&0x0f]; \ - s0 = sigma0_512(s0); \ - s1 = W512[(j+14)&0x0f]; \ - s1 = sigma1_512(s1); \ - T1 = (h) + Sigma1_512((e)) + Ch((e), (f), (g)) + K512[j] + \ - (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); \ - (d) += T1; \ - (h) = T1 + Sigma0_512((a)) + Maj((a), (b), (c)); \ - j++; \ -} while(0) - -void -SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) -{ - uint64_t a, b, c, d, e, f, g, h, s0, s1; - uint64_t T1, W512[16]; - int j; +void SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) { + uint64_t a, b, c, d, e, f, g, h, s0, s1; + uint64_t T1, W512[16]; + int j; /* Initialize registers with the prev. intermediate value */ a = state[0]; @@ -3437,27 +3349,27 @@ SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) j = 0; do { /* Rounds 0 to 15 (unrolled): */ - ROUND512_0_TO_15(a,b,c,d,e,f,g,h); - ROUND512_0_TO_15(h,a,b,c,d,e,f,g); - ROUND512_0_TO_15(g,h,a,b,c,d,e,f); - ROUND512_0_TO_15(f,g,h,a,b,c,d,e); - ROUND512_0_TO_15(e,f,g,h,a,b,c,d); - ROUND512_0_TO_15(d,e,f,g,h,a,b,c); - ROUND512_0_TO_15(c,d,e,f,g,h,a,b); - ROUND512_0_TO_15(b,c,d,e,f,g,h,a); - } while (j < 16); + ROUND512_0_TO_15(a, b, c, d, e, f, g, h); + ROUND512_0_TO_15(h, a, b, c, d, e, f, g); + ROUND512_0_TO_15(g, h, a, b, c, d, e, f); + ROUND512_0_TO_15(f, g, h, a, b, c, d, e); + ROUND512_0_TO_15(e, f, g, h, a, b, c, d); + ROUND512_0_TO_15(d, e, f, g, h, a, b, c); + ROUND512_0_TO_15(c, d, e, f, g, h, a, b); + ROUND512_0_TO_15(b, c, d, e, f, g, h, a); + } while(j < 16); /* Now for the remaining rounds up to 79: */ do { - ROUND512(a,b,c,d,e,f,g,h); - ROUND512(h,a,b,c,d,e,f,g); - ROUND512(g,h,a,b,c,d,e,f); - ROUND512(f,g,h,a,b,c,d,e); - ROUND512(e,f,g,h,a,b,c,d); - ROUND512(d,e,f,g,h,a,b,c); - ROUND512(c,d,e,f,g,h,a,b); - ROUND512(b,c,d,e,f,g,h,a); - } while (j < 80); + ROUND512(a, b, c, d, e, f, g, h); + ROUND512(h, a, b, c, d, e, f, g); + ROUND512(g, h, a, b, c, d, e, f); + ROUND512(f, g, h, a, b, c, d, e); + ROUND512(e, f, g, h, a, b, c, d); + ROUND512(d, e, f, g, h, a, b, c); + ROUND512(c, d, e, f, g, h, a, b); + ROUND512(b, c, d, e, f, g, h, a); + } while(j < 80); /* Compute the current intermediate hash value */ state[0] += a; @@ -3475,12 +3387,10 @@ SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) #else /* SHA2_UNROLL_TRANSFORM */ -void -SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) -{ - uint64_t a, b, c, d, e, f, g, h, s0, s1; - uint64_t T1, T2, W512[16]; - int j; +void SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) { + uint64_t a, b, c, d, e, f, g, h, s0, s1; + uint64_t T1, T2, W512[16]; + int j; /* Initialize registers with the prev. intermediate value */ a = state[0]; @@ -3499,40 +3409,40 @@ SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) /* Apply the SHA-512 compression function to update a..h */ T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j]; T2 = Sigma0_512(a) + Maj(a, b, c); - h = g; - g = f; - f = e; - e = d + T1; - d = c; - c = b; - b = a; - a = T1 + T2; + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; j++; - } while (j < 16); + } while(j < 16); do { /* Part of the message block expansion: */ - s0 = W512[(j+1)&0x0f]; + s0 = W512[(j + 1) & 0x0f]; s0 = sigma0_512(s0); - s1 = W512[(j+14)&0x0f]; - s1 = sigma1_512(s1); + s1 = W512[(j + 14) & 0x0f]; + s1 = sigma1_512(s1); /* Apply the SHA-512 compression function to update a..h */ T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + - (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); + (W512[j & 0x0f] += s1 + W512[(j + 9) & 0x0f] + s0); T2 = Sigma0_512(a) + Maj(a, b, c); - h = g; - g = f; - f = e; - e = d + T1; - d = c; - c = b; - b = a; - a = T1 + T2; + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; j++; - } while (j < 80); + } while(j < 80); /* Compute the current intermediate hash value */ state[0] += a; @@ -3550,21 +3460,19 @@ SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) #endif /* SHA2_UNROLL_TRANSFORM */ -void -SHA512Update(SHA2_CTX *context, const uint8_t *data, size_t len) -{ - size_t freespace, usedspace; +void SHA512Update(SHA2_CTX* context, const uint8_t* data, size_t len) { + size_t freespace, usedspace; /* Calling with no data is valid (we do nothing) */ - if (len == 0) + if(len == 0) return; usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; - if (usedspace > 0) { + if(usedspace > 0) { /* Calculate how much free space is available in the buffer */ freespace = SHA512_BLOCK_LENGTH - usedspace; - if (len >= freespace) { + if(len >= freespace) { /* Fill the buffer completely and process it */ memcpy(&context->buffer[usedspace], data, freespace); ADDINC128(context->bitcount, freespace << 3); @@ -3580,14 +3488,14 @@ SHA512Update(SHA2_CTX *context, const uint8_t *data, size_t len) return; } } - while (len >= SHA512_BLOCK_LENGTH) { + while(len >= SHA512_BLOCK_LENGTH) { /* Process as many complete blocks as we can */ SHA512Transform(context->state.st64, data); ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3); len -= SHA512_BLOCK_LENGTH; data += SHA512_BLOCK_LENGTH; } - if (len > 0) { + if(len > 0) { /* There's left-overs, so save 'em */ memcpy(context->buffer, data, len); ADDINC128(context->bitcount, len << 3); @@ -3596,21 +3504,19 @@ SHA512Update(SHA2_CTX *context, const uint8_t *data, size_t len) usedspace = freespace = 0; } -void -SHA512Pad(SHA2_CTX *context) -{ - unsigned int usedspace; +void SHA512Pad(SHA2_CTX* context) { + unsigned int usedspace; usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; - if (usedspace > 0) { + if(usedspace > 0) { /* Begin padding with a 1 bit: */ context->buffer[usedspace++] = 0x80; - if (usedspace <= SHA512_SHORT_BLOCK_LENGTH) { + if(usedspace <= SHA512_SHORT_BLOCK_LENGTH) { /* Set-up for the last transform: */ memset(&context->buffer[usedspace], 0, SHA512_SHORT_BLOCK_LENGTH - usedspace); } else { - if (usedspace < SHA512_BLOCK_LENGTH) { + if(usedspace < SHA512_BLOCK_LENGTH) { memset(&context->buffer[usedspace], 0, SHA512_BLOCK_LENGTH - usedspace); } /* Do second-to-last transform: */ @@ -3628,9 +3534,9 @@ SHA512Pad(SHA2_CTX *context) } /* Store the length of input data (in bits) in big endian format: */ BE_64_TO_8(&context->buffer[SHA512_SHORT_BLOCK_LENGTH], - context->bitcount[1]); + context->bitcount[1]); BE_64_TO_8(&context->buffer[SHA512_SHORT_BLOCK_LENGTH + 8], - context->bitcount[0]); + context->bitcount[0]); /* Final transform: */ SHA512Transform(context->state.st64, context->buffer); @@ -3639,16 +3545,14 @@ SHA512Pad(SHA2_CTX *context) usedspace = 0; } -void -SHA512Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA2_CTX *context) -{ +void SHA512Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA2_CTX* context) { SHA512Pad(context); #if BYTE_ORDER == LITTLE_ENDIAN - int i; + int i; /* Convert TO host byte order */ - for (i = 0; i < 8; i++) + for(i = 0; i < 8; i++) BE_64_TO_8(digest + i * 8, context->state.st64[i]); #else memcpy(digest, context->state.st64, SHA512_DIGEST_LENGTH); @@ -3657,11 +3561,9 @@ SHA512Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA2_CTX *context) } /*** SHA-384: *********************************************************/ -void -SHA384Init(SHA2_CTX *context) -{ +void SHA384Init(SHA2_CTX* context) { memcpy(context->state.st64, sha384_initial_hash_value, - sizeof(sha384_initial_hash_value)); + sizeof(sha384_initial_hash_value)); memset(context->buffer, 0, sizeof(context->buffer)); context->bitcount[0] = context->bitcount[1] = 0; } @@ -3671,34 +3573,26 @@ MAKE_CLONE(SHA384Update, SHA512Update); MAKE_CLONE(SHA384Pad, SHA512Pad); /* Equivalent of MAKE_CLONE (which is a no-op) for SHA384 funcs */ -void -SHA384Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) -{ +void SHA384Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH]) { SHA512Transform(state, data); } -void -SHA384Update(SHA2_CTX *context, const uint8_t *data, size_t len) -{ +void SHA384Update(SHA2_CTX* context, const uint8_t* data, size_t len) { SHA512Update(context, data, len); } -void -SHA384Pad(SHA2_CTX *context) -{ +void SHA384Pad(SHA2_CTX* context) { SHA512Pad(context); } -void -SHA384Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA2_CTX *context) -{ +void SHA384Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA2_CTX* context) { SHA384Pad(context); #if BYTE_ORDER == LITTLE_ENDIAN - int i; + int i; /* Convert TO host byte order */ - for (i = 0; i < 6; i++) + for(i = 0; i < 6; i++) BE_64_TO_8(digest + i * 8, context->state.st64[i]); #else memcpy(digest, context->state.st64, SHA384_DIGEST_LENGTH); @@ -3707,19 +3601,17 @@ SHA384Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA2_CTX *context) explicit_bzero(context, sizeof(*context)); } -char * -SHA256End(SHA2_CTX *ctx, char *buf) -{ - int i; - uint8_t digest[SHA256_DIGEST_LENGTH]; +char* SHA256End(SHA2_CTX* ctx, char* buf) { + int i; + uint8_t digest[SHA256_DIGEST_LENGTH]; static const char hex[] = "0123456789abcdef"; - if (buf == NULL && (buf = malloc(SHA256_DIGEST_STRING_LENGTH)) == NULL) + if(buf == NULL && (buf = malloc(SHA256_DIGEST_STRING_LENGTH)) == NULL) return (NULL); SHA256Final(digest, ctx); - for (i = 0; i < SHA256_DIGEST_LENGTH; i++) { - buf[i + i] = hex[digest[i] >> 4]; + for(i = 0; i < SHA256_DIGEST_LENGTH; i++) { + buf[i + i] = hex[digest[i] >> 4]; buf[i + i + 1] = hex[digest[i] & 0x0f]; } buf[i + i] = '\0'; @@ -3727,19 +3619,17 @@ SHA256End(SHA2_CTX *ctx, char *buf) return (buf); } -char * -SHA384End(SHA2_CTX *ctx, char *buf) -{ - int i; - uint8_t digest[SHA384_DIGEST_LENGTH]; +char* SHA384End(SHA2_CTX* ctx, char* buf) { + int i; + uint8_t digest[SHA384_DIGEST_LENGTH]; static const char hex[] = "0123456789abcdef"; - if (buf == NULL && (buf = malloc(SHA384_DIGEST_STRING_LENGTH)) == NULL) + if(buf == NULL && (buf = malloc(SHA384_DIGEST_STRING_LENGTH)) == NULL) return (NULL); SHA384Final(digest, ctx); - for (i = 0; i < SHA384_DIGEST_LENGTH; i++) { - buf[i + i] = hex[digest[i] >> 4]; + for(i = 0; i < SHA384_DIGEST_LENGTH; i++) { + buf[i + i] = hex[digest[i] >> 4]; buf[i + i + 1] = hex[digest[i] & 0x0f]; } buf[i + i] = '\0'; @@ -3747,19 +3637,17 @@ SHA384End(SHA2_CTX *ctx, char *buf) return (buf); } -char * -SHA512End(SHA2_CTX *ctx, char *buf) -{ - int i; - uint8_t digest[SHA512_DIGEST_LENGTH]; +char* SHA512End(SHA2_CTX* ctx, char* buf) { + int i; + uint8_t digest[SHA512_DIGEST_LENGTH]; static const char hex[] = "0123456789abcdef"; - if (buf == NULL && (buf = malloc(SHA512_DIGEST_STRING_LENGTH)) == NULL) + if(buf == NULL && (buf = malloc(SHA512_DIGEST_STRING_LENGTH)) == NULL) return (NULL); SHA512Final(digest, ctx); - for (i = 0; i < SHA512_DIGEST_LENGTH; i++) { - buf[i + i] = hex[digest[i] >> 4]; + for(i = 0; i < SHA512_DIGEST_LENGTH; i++) { + buf[i + i] = hex[digest[i] >> 4]; buf[i + i + 1] = hex[digest[i] & 0x0f]; } buf[i + i] = '\0'; @@ -3767,21 +3655,19 @@ SHA512End(SHA2_CTX *ctx, char *buf) return (buf); } -char * -SHA256FileChunk(const char *filename, char *buf, off_t off, off_t len) -{ +char* SHA256FileChunk(const char* filename, char* buf, off_t off, off_t len) { struct stat sb; - u_char buffer[BUFSIZ]; - SHA2_CTX ctx; - int fd, save_errno; - ssize_t nr; + u_char buffer[BUFSIZ]; + SHA2_CTX ctx; + int fd, save_errno; + ssize_t nr; SHA256Init(&ctx); - if ((fd = open(filename, O_RDONLY)) == -1) + if((fd = open(filename, O_RDONLY)) == -1) return (NULL); - if (len == 0) { - if (fstat(fd, &sb) == -1) { + if(len == 0) { + if(fstat(fd, &sb) == -1) { save_errno = errno; close(fd); errno = save_errno; @@ -3789,16 +3675,16 @@ SHA256FileChunk(const char *filename, char *buf, off_t off, off_t len) } len = sb.st_size; } - if (off > 0 && lseek(fd, off, SEEK_SET) == -1) { + if(off > 0 && lseek(fd, off, SEEK_SET) == -1) { save_errno = errno; close(fd); errno = save_errno; return (NULL); } - while ((nr = read(fd, buffer, MINIMUM(sizeof(buffer), (size_t)len))) > 0) { + while((nr = read(fd, buffer, MINIMUM(sizeof(buffer), (size_t)len))) > 0) { SHA256Update(&ctx, buffer, nr); - if (len > 0 && (len -= nr) == 0) + if(len > 0 && (len -= nr) == 0) break; } @@ -3808,27 +3694,23 @@ SHA256FileChunk(const char *filename, char *buf, off_t off, off_t len) return (nr == -1 ? NULL : SHA256End(&ctx, buf)); } -char * -SHA256File(const char *filename, char *buf) -{ +char* SHA256File(const char* filename, char* buf) { return (SHA256FileChunk(filename, buf, 0, 0)); } -char * -SHA384FileChunk(const char *filename, char *buf, off_t off, off_t len) -{ +char* SHA384FileChunk(const char* filename, char* buf, off_t off, off_t len) { struct stat sb; - u_char buffer[BUFSIZ]; - SHA2_CTX ctx; - int fd, save_errno; - ssize_t nr; + u_char buffer[BUFSIZ]; + SHA2_CTX ctx; + int fd, save_errno; + ssize_t nr; SHA384Init(&ctx); - if ((fd = open(filename, O_RDONLY)) == -1) + if((fd = open(filename, O_RDONLY)) == -1) return (NULL); - if (len == 0) { - if (fstat(fd, &sb) == -1) { + if(len == 0) { + if(fstat(fd, &sb) == -1) { save_errno = errno; close(fd); errno = save_errno; @@ -3836,16 +3718,16 @@ SHA384FileChunk(const char *filename, char *buf, off_t off, off_t len) } len = sb.st_size; } - if (off > 0 && lseek(fd, off, SEEK_SET) == -1) { + if(off > 0 && lseek(fd, off, SEEK_SET) == -1) { save_errno = errno; close(fd); errno = save_errno; return (NULL); } - while ((nr = read(fd, buffer, MINIMUM(sizeof(buffer), (size_t)len))) > 0) { + while((nr = read(fd, buffer, MINIMUM(sizeof(buffer), (size_t)len))) > 0) { SHA384Update(&ctx, buffer, nr); - if (len > 0 && (len -= nr) == 0) + if(len > 0 && (len -= nr) == 0) break; } @@ -3855,27 +3737,23 @@ SHA384FileChunk(const char *filename, char *buf, off_t off, off_t len) return (nr == -1 ? NULL : SHA384End(&ctx, buf)); } -char * -SHA384File(const char *filename, char *buf) -{ +char* SHA384File(const char* filename, char* buf) { return (SHA384FileChunk(filename, buf, 0, 0)); } -char * -SHA512FileChunk(const char *filename, char *buf, off_t off, off_t len) -{ +char* SHA512FileChunk(const char* filename, char* buf, off_t off, off_t len) { struct stat sb; - u_char buffer[BUFSIZ]; - SHA2_CTX ctx; - int fd, save_errno; - ssize_t nr; + u_char buffer[BUFSIZ]; + SHA2_CTX ctx; + int fd, save_errno; + ssize_t nr; SHA512Init(&ctx); - if ((fd = open(filename, O_RDONLY)) == -1) + if((fd = open(filename, O_RDONLY)) == -1) return (NULL); - if (len == 0) { - if (fstat(fd, &sb) == -1) { + if(len == 0) { + if(fstat(fd, &sb) == -1) { save_errno = errno; close(fd); errno = save_errno; @@ -3883,16 +3761,16 @@ SHA512FileChunk(const char *filename, char *buf, off_t off, off_t len) } len = sb.st_size; } - if (off > 0 && lseek(fd, off, SEEK_SET) == -1) { + if(off > 0 && lseek(fd, off, SEEK_SET) == -1) { save_errno = errno; close(fd); errno = save_errno; return (NULL); } - while ((nr = read(fd, buffer, MINIMUM(sizeof(buffer), (size_t)len))) > 0) { + while((nr = read(fd, buffer, MINIMUM(sizeof(buffer), (size_t)len))) > 0) { SHA512Update(&ctx, buffer, nr); - if (len > 0 && (len -= nr) == 0) + if(len > 0 && (len -= nr) == 0) break; } @@ -3902,15 +3780,11 @@ SHA512FileChunk(const char *filename, char *buf, off_t off, off_t len) return (nr == -1 ? NULL : SHA512End(&ctx, buf)); } -char * -SHA512File(const char *filename, char *buf) -{ +char* SHA512File(const char* filename, char* buf) { return (SHA512FileChunk(filename, buf, 0, 0)); } -char * -SHA256Data(const u_char *data, size_t len, char *buf) -{ +char* SHA256Data(const u_char* data, size_t len, char* buf) { SHA2_CTX ctx; SHA256Init(&ctx); @@ -3918,9 +3792,7 @@ SHA256Data(const u_char *data, size_t len, char *buf) return (SHA256End(&ctx, buf)); } -char * -SHA384Data(const u_char *data, size_t len, char *buf) -{ +char* SHA384Data(const u_char* data, size_t len, char* buf) { SHA2_CTX ctx; SHA384Init(&ctx); @@ -3928,9 +3800,7 @@ SHA384Data(const u_char *data, size_t len, char *buf) return (SHA384End(&ctx, buf)); } -char * -SHA512Data(const u_char *data, size_t len, char *buf) -{ +char* SHA512Data(const u_char* data, size_t len, char* buf) { SHA2_CTX ctx; SHA512Init(&ctx); @@ -3966,23 +3836,22 @@ SHA512Data(const u_char *data, size_t len, char *buf) * If retval >= siz, truncation occurred. */ size_t -strlcat(char *dst, const char *src, size_t siz) -{ - char *d = dst; - const char *s = src; - size_t n = siz; - size_t dlen; +strlcat(char* dst, const char* src, size_t siz) { + char* d = dst; + const char* s = src; + size_t n = siz; + size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end */ - while (n-- != 0 && *d != '\0') + while(n-- != 0 && *d != '\0') d++; dlen = d - dst; - n = siz - dlen; + n = siz - dlen; - if (n == 0) - return(dlen + strlen(s)); - while (*s != '\0') { - if (n != 1) { + if(n == 0) + return (dlen + strlen(s)); + while(*s != '\0') { + if(n != 1) { *d++ = *s; n--; } @@ -3990,7 +3859,7 @@ strlcat(char *dst, const char *src, size_t siz) } *d = '\0'; - return(dlen + (s - src)); /* count does not include NUL */ + return (dlen + (s - src)); /* count does not include NUL */ } #endif /* !HAVE_STRLCAT */ #if !HAVE_STRLCPY @@ -4019,29 +3888,27 @@ strlcat(char *dst, const char *src, size_t siz) * Returns strlen(src); if retval >= siz, truncation occurred. */ size_t -strlcpy(char *dst, const char *src, size_t siz) -{ - char *d = dst; - const char *s = src; - size_t n = siz; +strlcpy(char* dst, const char* src, size_t siz) { + char* d = dst; + const char* s = src; + size_t n = siz; /* Copy as many bytes as will fit */ - if (n != 0) { - while (--n != 0) { - if ((*d++ = *s++) == '\0') + if(n != 0) { + while(--n != 0) { + if((*d++ = *s++) == '\0') break; } } /* Not enough room in dst, add NUL and traverse rest of src */ - if (n == 0) { - if (siz != 0) - *d = '\0'; /* NUL-terminate dst */ - while (*s++) - ; + if(n == 0) { + if(siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while(*s++); } - return(s - src - 1); /* count does not include NUL */ + return (s - src - 1); /* count does not include NUL */ } #endif /* !HAVE_STRLCPY */ #if !HAVE_STRNDUP @@ -4068,15 +3935,13 @@ strlcpy(char *dst, const char *src, size_t siz) #include #include -char * -strndup(const char *str, size_t maxlen) -{ - char *copy; +char* strndup(const char* str, size_t maxlen) { + char* copy; size_t len; - len = strnlen(str, maxlen); + len = strnlen(str, maxlen); copy = malloc(len + 1); - if (copy != NULL) { + if(copy != NULL) { (void)memcpy(copy, str, len); copy[len] = '\0'; } @@ -4107,12 +3972,10 @@ strndup(const char *str, size_t maxlen) #include size_t -strnlen(const char *str, size_t maxlen) -{ - const char *cp; +strnlen(const char* str, size_t maxlen) { + const char* cp; - for (cp = str; maxlen != 0 && *cp != '\0'; cp++, maxlen--) - ; + for(cp = str; maxlen != 0 && *cp != '\0'; cp++, maxlen--); return (size_t)(cp - str); } @@ -4139,44 +4002,43 @@ strnlen(const char *str, size_t maxlen) #include #include -#define INVALID 1 -#define TOOSMALL 2 -#define TOOLARGE 3 +#define INVALID 1 +#define TOOSMALL 2 +#define TOOLARGE 3 long long -strtonum(const char *numstr, long long minval, long long maxval, - const char **errstrp) -{ - long long ll = 0; - int error = 0; - char *ep; +strtonum(const char* numstr, long long minval, long long maxval, + const char** errstrp) { + long long ll = 0; + int error = 0; + char* ep; struct errval { - const char *errstr; - int err; + const char* errstr; + int err; } ev[4] = { - { NULL, 0 }, - { "invalid", EINVAL }, - { "too small", ERANGE }, - { "too large", ERANGE }, + {NULL, 0}, + {"invalid", EINVAL}, + {"too small", ERANGE}, + {"too large", ERANGE}, }; ev[0].err = errno; - errno = 0; - if (minval > maxval) { + errno = 0; + if(minval > maxval) { error = INVALID; } else { ll = strtoll(numstr, &ep, 10); - if (numstr == ep || *ep != '\0') + if(numstr == ep || *ep != '\0') error = INVALID; - else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval) + else if((ll == LLONG_MIN && errno == ERANGE) || ll < minval) error = TOOSMALL; - else if ((ll == LLONG_MAX && errno == ERANGE) || ll > maxval) + else if((ll == LLONG_MAX && errno == ERANGE) || ll > maxval) error = TOOLARGE; } - if (errstrp != NULL) + if(errstrp != NULL) *errstrp = ev[error].errstr; errno = ev[error].err; - if (error) + if(error) ll = 0; return (ll); diff --git a/comuni.c b/comuni.c index 8c76a97..e1efec5 100644 --- a/comuni.c +++ b/comuni.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: comuni.c,v $ - * $SonyRevision: 1.4 $ + * $SonyRCSfile: comuni.c,v $ + * $SonyRevision: 1.4 $ * $SonyDate: 1994/11/16 07:34:05 $ * * $Id$ */ - #include #include #include @@ -57,7 +56,7 @@ #ifdef TLI #include #include -#include +#include #include #include #include @@ -68,109 +67,100 @@ #endif #if defined(__FD_SET) && !defined(FD_SET) -# define FD_SET __FD_SET -# define FD_ZERO __FD_ZERO -# define FD_CLR __FD_CLR -# define FD_ISSET __FD_ISSET +#define FD_SET __FD_SET +#define FD_ZERO __FD_ZERO +#define FD_CLR __FD_CLR +#define FD_ISSET __FD_ISSET #endif #ifndef SOMAXCONN -# define SOMAXCONN 5 +#define SOMAXCONN 5 #endif -int client_num = 0; -Client *client = NULL; -Client *cur_client; +int client_num = 0; +Client* client = NULL; +Client* cur_client; -int maxfds = 0; +int maxfds = 0; #ifdef SVR4 struct pollfd poll_fds[_NFILE]; #else -fd_set fds_org = { 0 }; +fd_set fds_org = {0}; #endif -jmp_buf client_dead; +jmp_buf client_dead; int client_fd; -extern char *socket_name; -extern char *port_name; +extern char* socket_name; +extern char* port_name; #ifdef TLI -extern char *port_number; -extern char *proto_name; +extern char* port_number; +extern char* proto_name; #else -extern int port_number; +extern int port_number; #endif -extern int max_client; +extern int max_client; -static int fd_inet = -1; -static int fd_unix = -1; +static int fd_inet = -1; +static int fd_unix = -1; -static char putbuf[BUFSIZ]; -static char getbuf[BUFSIZ]; -static int putpos = 0; -static int buflen = 0; -static int getpos = 0; +static char putbuf[BUFSIZ]; +static char getbuf[BUFSIZ]; +static int putpos = 0; +static int buflen = 0; +static int getpos = 0; - -void -socket_init(void) -{ +void socket_init(void) { #ifdef SVR4 int i; - - for (i = 0; i < _NFILE; i++) { - poll_fds[i].fd = -1; - poll_fds[i].events = 0; + + for(i = 0; i < _NFILE; i++) { + poll_fds[i].fd = -1; + poll_fds[i].events = 0; poll_fds[i].revents = 0; } #else FD_ZERO(&fds_org); #endif client_num = 0; - maxfds = 0; + maxfds = 0; } - - static void -set_fd(int fd) -{ +set_fd(int fd) { #ifdef SVR4 - poll_fds[maxfds].fd = fd; - poll_fds[maxfds].events = POLLIN; + poll_fds[maxfds].fd = fd; + poll_fds[maxfds].events = POLLIN; maxfds++; #else FD_SET(fd, &fds_org); - if (fd >= maxfds) maxfds = fd + 1; + if(fd >= maxfds) maxfds = fd + 1; #endif } - - static void -clr_fd(int fd) -{ +clr_fd(int fd) { #ifdef SVR4 int i, j; - for (i = 0; i < maxfds; i++) { - if (poll_fds[i].fd == fd) { + for(i = 0; i < maxfds; i++) { + if(poll_fds[i].fd == fd) { maxfds--; - for (j = i; j < maxfds; j++) { - poll_fds[j].fd = poll_fds[j+1].fd; - poll_fds[j].events = poll_fds[j+1].events; - poll_fds[j].revents = poll_fds[j+1].revents; + for(j = i; j < maxfds; j++) { + poll_fds[j].fd = poll_fds[j + 1].fd; + poll_fds[j].events = poll_fds[j + 1].events; + poll_fds[j].revents = poll_fds[j + 1].revents; } - poll_fds[j].fd = -1; - poll_fds[j].events = 0; + poll_fds[j].fd = -1; + poll_fds[j].events = 0; poll_fds[j].revents = 0; break; } } #else FD_CLR(fd, &fds_org); - if (maxfds == fd + 1) { - while (--fd >= 0) { - if (FD_ISSET(fd, &fds_org)) break; + if(maxfds == fd + 1) { + while(--fd >= 0) { + if(FD_ISSET(fd, &fds_org)) break; } maxfds = fd + 1; } @@ -179,26 +169,24 @@ clr_fd(int fd) #if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX))) - static void -open_af_unix(void) -{ - struct sockaddr_un sunix; +open_af_unix(void) { + struct sockaddr_un sunix; unlink(socket_name); - memset((char *)&sunix, '\0', sizeof(sunix)); + memset((char*)&sunix, '\0', sizeof(sunix)); sunix.sun_family = AF_UNIX; strcpy(sunix.sun_path, socket_name); - if ((fd_unix = socket(AF_UNIX, SOCK_STREAM, 0)) == ERROR) { + if((fd_unix = socket(AF_UNIX, SOCK_STREAM, 0)) == ERROR) { unlink(socket_name); fprintf(stderr, "Can't create AF_UNIX socket\n"); exit(1); } - if (bind(fd_unix, (struct sockaddr *)&sunix, strlen(sunix.sun_path) + 2) == ERROR) { - if (errno == EADDRINUSE) + if(bind(fd_unix, (struct sockaddr*)&sunix, strlen(sunix.sun_path) + 2) == ERROR) { + if(errno == EADDRINUSE) fprintf(stderr, "Port '%s' is already in use\n", socket_name); else @@ -209,7 +197,7 @@ open_af_unix(void) exit(1); } - if (listen(fd_unix, SOMAXCONN) == ERROR) { + if(listen(fd_unix, SOMAXCONN) == ERROR) { shutdown(fd_unix, 2); unlink(socket_name); close(fd_unix); @@ -221,144 +209,140 @@ open_af_unix(void) #endif #ifdef TLI -struct t_call *inet_callptr; -struct netconfig *nconf; +struct t_call* inet_callptr; +struct netconfig* nconf; #endif - static void -open_af_inet(void) -{ +open_af_inet(void) { #ifdef TLI - struct t_bind *req; - struct nd_hostserv hserv; - struct nd_addrlist *addrs; - struct t_optmgmt *opt; - struct opthdr *hdr; - void *handlep; - extern int t_errno; - extern void *setnetpath(void); - extern struct netconfig *getnetpath(void *); + struct t_bind* req; + struct nd_hostserv hserv; + struct nd_addrlist* addrs; + struct t_optmgmt* opt; + struct opthdr* hdr; + void* handlep; + extern int t_errno; + extern void* setnetpath(void); + extern struct netconfig* getnetpath(void*); #else - struct sockaddr_in sin; - struct servent *sp; - unsigned short port; + struct sockaddr_in sin; + struct servent* sp; + unsigned short port; #endif - int true = 1; + int true = 1; - #ifdef TLI - if (( handlep = setnetpath()) == NULL) { - fprintf(stderr, "Setnetpath fail\n"); - exit(1); - } + if((handlep = setnetpath()) == NULL) { + fprintf(stderr, "Setnetpath fail\n"); + exit(1); + } while((nconf = getnetpath(handlep)) != NULL) { - if ((nconf->nc_semantics == NC_TPI_COTS_ORD) && - (strncmp(nconf->nc_proto, proto_name, strlen(proto_name)) == 0)) - break; + if((nconf->nc_semantics == NC_TPI_COTS_ORD) && + (strncmp(nconf->nc_proto, proto_name, strlen(proto_name)) == 0)) + break; } - if (nconf == NULL) { - fprintf(stderr, "No connection mode transport\n"); - exit(1); + if(nconf == NULL) { + fprintf(stderr, "No connection mode transport\n"); + exit(1); } - hserv.h_host = HOST_SELF; - hserv.h_serv = port_number; - if (netdir_getbyname(nconf, &hserv, &addrs) != 0) { - hserv.h_serv = port_name; - if (netdir_getbyname(nconf, &hserv, &addrs) != 0) { - fprintf(stderr, "Can't get address\n"); - exit(1); + hserv.h_host = HOST_SELF; + hserv.h_serv = port_number; + if(netdir_getbyname(nconf, &hserv, &addrs) != 0) { + hserv.h_serv = port_name; + if(netdir_getbyname(nconf, &hserv, &addrs) != 0) { + fprintf(stderr, "Can't get address\n"); + exit(1); } } - if ((fd_inet = t_open(nconf->nc_device, O_RDWR, (struct t_info *) NULL)) < 0) { - fprintf(stderr,"Can't t_open\n"); - exit(1); + if((fd_inet = t_open(nconf->nc_device, O_RDWR, (struct t_info*)NULL)) < 0) { + fprintf(stderr, "Can't t_open\n"); + exit(1); } - if ((opt = (struct t_optmgmt *) t_alloc(fd_inet, T_OPTMGMT, T_ALL)) == NULL) { + if((opt = (struct t_optmgmt*)t_alloc(fd_inet, T_OPTMGMT, T_ALL)) == NULL) { fprintf(stderr, "Can't t_alloc error for T_OPTMGT\n"); exit(1); } - if ((hdr = (struct opthdr *) malloc(sizeof(*hdr) + sizeof(true))) == NULL) { + if((hdr = (struct opthdr*)malloc(sizeof(*hdr) + sizeof(true))) == NULL) { fprintf(stderr, "server: not malloc\n"); exit(1); } - hdr->level = SOL_SOCKET; - hdr->name = SO_REUSEADDR; - hdr->len = sizeof(true); - - (void) memcpy(&true, (char *)hdr + sizeof(*hdr), sizeof(true)); + hdr->level = SOL_SOCKET; + hdr->name = SO_REUSEADDR; + hdr->len = sizeof(true); - opt->opt.len = opt->opt.maxlen = sizeof(*hdr) + sizeof(true); - opt->flags = T_CHECK; - opt->opt.buf = (char *)hdr; + (void)memcpy(&true, (char*)hdr + sizeof(*hdr), sizeof(true)); - if ((t_optmgmt(fd_inet, opt, opt) < 0) || !(opt->flags & T_SUCCESS)){ + opt->opt.len = opt->opt.maxlen = sizeof(*hdr) + sizeof(true); + opt->flags = T_CHECK; + opt->opt.buf = (char*)hdr; + + if((t_optmgmt(fd_inet, opt, opt) < 0) || !(opt->flags & T_SUCCESS)) { fprintf(stderr, "Warning: Can't reuse address %s(%s)\n", port_name, port_number); } else { - opt->flags = T_NEGOTIATE; - - (void) memcpy(&true, (char *)hdr + sizeof(*hdr), sizeof(true)); - (void) t_optmgmt(fd_inet, opt, opt); + opt->flags = T_NEGOTIATE; + + (void)memcpy(&true, (char*)hdr + sizeof(*hdr), sizeof(true)); + (void)t_optmgmt(fd_inet, opt, opt); } - if ((req = (struct t_bind *) t_alloc(fd_inet, T_BIND, T_ALL)) == NULL) { - t_close(fd_inet); - fprintf(stderr, "Can't alloc bind data\n"); - exit(1); + if((req = (struct t_bind*)t_alloc(fd_inet, T_BIND, T_ALL)) == NULL) { + t_close(fd_inet); + fprintf(stderr, "Can't alloc bind data\n"); + exit(1); } - req->addr.maxlen = addrs->n_addrs->maxlen; - req->addr.len = addrs->n_addrs->len; - - (void) memcpy(addrs->n_addrs->buf, req->addr.buf, addrs->n_addrs->len); - req->qlen = 5; - - if (t_bind(fd_inet, req, req) < 0 ) { + req->addr.maxlen = addrs->n_addrs->maxlen; + req->addr.len = addrs->n_addrs->len; + + (void)memcpy(addrs->n_addrs->buf, req->addr.buf, addrs->n_addrs->len); + req->qlen = 5; + + if(t_bind(fd_inet, req, req) < 0) { fprintf(stderr, "Can't t_bind\n"); t_close(fd_inet); exit(1); } - if (memcmp(req->addr.buf, addrs->n_addrs->buf, addrs->n_addrs->len) != 0) { - fprintf(stderr, "Port '%s(%s)' is already in use\n", - port_name, port_number); - t_close(fd_inet); - exit(1); + if(memcmp(req->addr.buf, addrs->n_addrs->buf, addrs->n_addrs->len) != 0) { + fprintf(stderr, "Port '%s(%s)' is already in use\n", + port_name, port_number); + t_close(fd_inet); + exit(1); } - if ((inet_callptr = (struct t_call *) t_alloc(fd_inet, T_CALL, T_ALL)) == NULL) { - fprintf(stderr,"t_alloc error for T_CALL\n"); - t_close(fd_inet); - exit(1); + if((inet_callptr = (struct t_call*)t_alloc(fd_inet, T_CALL, T_ALL)) == NULL) { + fprintf(stderr, "t_alloc error for T_CALL\n"); + t_close(fd_inet); + exit(1); } inet_callptr->addr = *(addrs->n_addrs); - inet_callptr->udata.maxlen = 0; - inet_callptr->udata.len = 0; - inet_callptr->udata.buf = (char *) NULL; + inet_callptr->udata.len = 0; + inet_callptr->udata.buf = (char*)NULL; #else - if ((sp = getservbyname(port_name, "tcp")) != NULL) - port = ntohs(sp -> s_port); + if((sp = getservbyname(port_name, "tcp")) != NULL) + port = ntohs(sp->s_port); else port = port_number; - memset((char *)&sin, '\0', sizeof(sin)); - sin.sin_family = AF_INET; - sin.sin_port = htons(port); + memset((char*)&sin, '\0', sizeof(sin)); + sin.sin_family = AF_INET; + sin.sin_port = htons(port); sin.sin_addr.s_addr = htonl(INADDR_ANY); - if ((fd_inet = socket(AF_INET, SOCK_STREAM, 0)) == ERROR) { + if((fd_inet = socket(AF_INET, SOCK_STREAM, 0)) == ERROR) { fprintf(stderr, "Can't create AF_INET socket\n"); exit(1); } setsockopt(fd_inet, SOL_SOCKET, SO_REUSEADDR, &true, sizeof(true)); - if (bind(fd_inet, (struct sockaddr *)&sin, sizeof(sin)) == ERROR) { - if (errno == EADDRINUSE) { - if (sp) + if(bind(fd_inet, (struct sockaddr*)&sin, sizeof(sin)) == ERROR) { + if(errno == EADDRINUSE) { + if(sp) fprintf(stderr, "Port '%s(%d)' is already in use\n", port_name, port); @@ -366,15 +350,14 @@ open_af_inet(void) fprintf(stderr, "Port %d is already in use\n", port); - } - else + } else fprintf(stderr, "Can't bind AF_INET socket\n"); shutdown(fd_inet, 2); close(fd_inet); exit(1); } - if (listen(fd_inet, SOMAXCONN) == ERROR) { + if(listen(fd_inet, SOMAXCONN) == ERROR) { shutdown(fd_inet, 2); close(fd_inet); fprintf(stderr, "Can't listen AF_INET socket\n"); @@ -384,9 +367,7 @@ open_af_inet(void) set_fd(fd_inet); } -void -open_socket(void) -{ +void open_socket(void) { open_af_inet(); #if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX))) open_af_unix(); @@ -395,74 +376,66 @@ open_socket(void) #if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX))) - static int -connect_af_unix(void) -{ - struct sockaddr_un sunix; - int i = sizeof(sunix); - int fd; +connect_af_unix(void) { + struct sockaddr_un sunix; + int i = sizeof(sunix); + int fd; - if ((fd = accept(fd_unix, (struct sockaddr *)&sunix, &i)) == ERROR) + if((fd = accept(fd_unix, (struct sockaddr*)&sunix, &i)) == ERROR) warning_out("Can't accept AF_UNIX socket"); return fd; } #endif #ifdef TLI -int -accept_func(int fd, struct t_call* callptr, char* name, int closeflg) -{ - int newfd; - int look; - extern int t_errno; - - if ((newfd = t_open(name, O_RDWR, (struct t_info *)0)) < 0) { - if (!closeflg) warning_out("Can't t_open"); - return ERROR; +int accept_func(int fd, struct t_call* callptr, char* name, int closeflg) { + int newfd; + int look; + extern int t_errno; + + if((newfd = t_open(name, O_RDWR, (struct t_info*)0)) < 0) { + if(!closeflg) warning_out("Can't t_open"); + return ERROR; } - if (t_bind(newfd, (struct t_bind *)0, (struct t_bind *)0) < 0) { - if (!closeflg) warning_out("t_bind error"); - return ERROR; + if(t_bind(newfd, (struct t_bind*)0, (struct t_bind*)0) < 0) { + if(!closeflg) warning_out("t_bind error"); + return ERROR; } - t_errno = 0; - if (t_accept(fd, newfd, callptr) <0 ){ - t_close(newfd); - if (!closeflg) warning_out("t_accept error"); - return ERROR; + t_errno = 0; + if(t_accept(fd, newfd, callptr) < 0) { + t_close(newfd); + if(!closeflg) warning_out("t_accept error"); + return ERROR; } - if (ioctl(newfd, I_POP, (char *) 0) < 0) { - if (!closeflg) warning_out("I_POP timod failed"); - return ERROR; + if(ioctl(newfd, I_POP, (char*)0) < 0) { + if(!closeflg) warning_out("I_POP timod failed"); + return ERROR; } - if (ioctl(newfd, I_PUSH, "tirdwr") < 0) { - if (!closeflg) warning_out("I_PUSH tirdwr failed"); - return ERROR; + if(ioctl(newfd, I_PUSH, "tirdwr") < 0) { + if(!closeflg) warning_out("I_PUSH tirdwr failed"); + return ERROR; } - return(newfd); + return (newfd); } #endif - - static int -connect_af_inet(void) -{ +connect_af_inet(void) { #ifndef TLI - struct sockaddr_in sin; - int i = sizeof(sin); + struct sockaddr_in sin; + int i = sizeof(sin); #endif - int fd; + int fd; #ifdef TLI - if (t_listen(fd_inet, inet_callptr) < 0) { - warning_out("t_listen error"); + if(t_listen(fd_inet, inet_callptr) < 0) { + warning_out("t_listen error"); + } - } - - if ((fd = accept_func(fd_inet, inet_callptr, nconf->nc_device, FALSE)) == ERROR) + if((fd = accept_func(fd_inet, inet_callptr, nconf->nc_device, FALSE)) == ERROR) #else - if ((fd = accept(fd_inet, (struct sockaddr *)&sin, &i)) == ERROR) + if((fd = accept(fd_inet, (struct sockaddr*)&sin, &i)) == ERROR) #endif warning_out("Can't accept AF_INET socket"); return fd; @@ -470,18 +443,16 @@ connect_af_inet(void) #if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX))) - static void -close_af_unix(void) -{ - struct sockaddr_un sunix; - int true = 1; - int i; +close_af_unix(void) { + struct sockaddr_un sunix; + int true = 1; + int i; ioctl(fd_unix, FIONBIO, &true); - for ( ; ; ) { + for(;;) { i = sizeof(sunix); - if (accept(fd_unix, (struct sockaddr *)&sunix, &i) < 0) break; + if(accept(fd_unix, (struct sockaddr*)&sunix, &i) < 0) break; } shutdown(fd_unix, 2); close(fd_unix); @@ -490,31 +461,28 @@ close_af_unix(void) } #endif - - static void -close_af_inet(void) -{ +close_af_inet(void) { #ifndef TLI - struct sockaddr_in sin; + struct sockaddr_in sin; #endif - int true = 1; - int i; + int true = 1; + int i; ioctl(fd_inet, FIONBIO, &true); - for ( ; ; ) { + for(;;) { #ifdef TLI - if (accept_func(fd_inet, inet_callptr, nconf->nc_device, TRUE) < 0) + if(accept_func(fd_inet, inet_callptr, nconf->nc_device, TRUE) < 0) break; #else i = sizeof(sin); - if (accept(fd_inet, (struct sockaddr *)&sin, &i) < 0) break; + if(accept(fd_inet, (struct sockaddr*)&sin, &i) < 0) break; #endif } #ifdef TLI t_sndrel(fd_inet); - t_close(fd_inet); - clr_fd(fd_inet); + t_close(fd_inet); + clr_fd(fd_inet); #else shutdown(fd_inet, 2); close(fd_inet); @@ -522,44 +490,40 @@ close_af_inet(void) #endif } -void -close_socket(void) -{ +void close_socket(void) { #if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX))) close_af_unix(); #endif close_af_inet(); } - - static void #ifdef SVR4 -connect_client(struct pollfd *readfds) +connect_client(struct pollfd* readfds) #else -connect_client(fd_set *readfds) +connect_client(fd_set* readfds) #endif { - int fd; + int fd; #if (defined(TLI) && defined(SOCK_UNIX)) - int unix_flag=0; + int unix_flag = 0; #endif - Client *client_tmp; + Client* client_tmp; #ifdef SVR4 - int i; + int i; - for (i = 0; i < maxfds; i++) { - if ((readfds[i].fd == fd_inet) && - (readfds[i].revents == POLLIN)) { - fd = connect_af_inet(); + for(i = 0; i < maxfds; i++) { + if((readfds[i].fd == fd_inet) && + (readfds[i].revents == POLLIN)) { + fd = connect_af_inet(); readfds[i].revents = 0; break; } #if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX))) - if ((readfds[i].fd == fd_unix) && - (readfds[i].revents == POLLIN)) { - fd = connect_af_unix(); + if((readfds[i].fd == fd_unix) && + (readfds[i].revents == POLLIN)) { + fd = connect_af_unix(); readfds[i].revents = 0; #if (defined(TLI) && defined(SOCK_UNIX)) unix_flag = 1; @@ -568,15 +532,15 @@ connect_client(fd_set *readfds) } #endif } - if (i == maxfds) return; + if(i == maxfds) return; #else /* SVR4 */ - if (FD_ISSET(fd_inet, readfds)) + if(FD_ISSET(fd_inet, readfds)) fd = connect_af_inet(); #if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX))) - else if (FD_ISSET(fd_unix, readfds)) + else if(FD_ISSET(fd_unix, readfds)) #if (defined(TLI) && defined(SOCK_UNIX)) - { - fd = connect_af_unix(); + { + fd = connect_af_unix(); unix_flag = 1; } #else @@ -586,12 +550,9 @@ connect_client(fd_set *readfds) else return; #endif /* SVR4 */ - if (fd == ERROR) return; + if(fd == ERROR) return; - - - - if (client_num >= MaxClientNum || client_num >= max_client) { + if(client_num >= MaxClientNum || client_num >= max_client) { warning_out("No more client"); } @@ -599,26 +560,25 @@ connect_client(fd_set *readfds) debug_out(1, "client create(%d)\r\n", fd); logging_out("connect to client on %d", fd); - - if ((client_tmp = (Client *)malloc(sizeof(Client))) != NULL) { + if((client_tmp = (Client*)malloc(sizeof(Client))) != NULL) { memset(client_tmp, 0, sizeof(Client)); client_tmp->fd = fd; #if (defined(TLI) && defined(SOCK_UNIX)) client_tmp->unix_flag = unix_flag; #endif client_tmp->next = client; - client = client_tmp; + client = client_tmp; client_num++; - + set_fd(fd); - + return; } warning_out("No more client(Can't alloc)"); } #ifdef TLI #ifdef SOCK_UNIX - if (unix_flag) { + if(unix_flag) { shutdown(fd, 2); close(fd); } else { @@ -633,66 +593,62 @@ connect_client(fd_set *readfds) shutdown(fd, 2); close(fd); #endif - } - - static Client* -disconnect_client(Client *cp) -{ - WorkArea *wp; - StdyFile *sp; - int fd; - Client *cl_tmp, *cl_before; +disconnect_client(Client* cp) { + WorkArea* wp; + StdyFile* sp; + int fd; + Client * cl_tmp, *cl_before; + + if((sp = cp->stdy) != NULL) closestdy(sp); + if((wp = cp->work) != NULL) free_workarea(wp); - if ((sp = cp->stdy) != NULL) closestdy(sp); - if ((wp = cp->work) != NULL) free_workarea(wp); - debug_out(1, "client dead(%d)\r\n", cp->fd); logging_out("disconnect from client on %d", cp->fd); #ifdef TLI #ifdef SOCK_UNIX - if (cp->unix_flag) { + if(cp->unix_flag) { shutdown(fd = cp->fd, 2); close(fd); clr_fd(fd); - } else { + } else { fd = cp->fd; t_sndrel(fd); t_close(fd); clr_fd(fd); } #else - fd = cp->fd; + fd = cp->fd; t_sndrel(fd); - t_close(fd); - clr_fd(fd); + t_close(fd); + clr_fd(fd); #endif -#else +#else shutdown(fd = cp->fd, 2); close(fd); clr_fd(fd); #endif - if (cp == client) { + if(cp == client) { client = cp->next; free(cp); cp = client; } else { cl_before = client; - cl_tmp = client->next; - while (cl_tmp) { - if (cl_tmp == cp) { + cl_tmp = client->next; + while(cl_tmp) { + if(cl_tmp == cp) { cl_before->next = cp->next; free(cp); break; } cl_before = cl_tmp; - cl_tmp = cl_tmp->next; + cl_tmp = cl_tmp->next; } cp = cl_before->next; } - client_num--; + client_num--; return cp; } @@ -700,54 +656,51 @@ disconnect_client(Client *cp) #include #endif -void -communicate(void) -{ - +void communicate(void) { + signal(SIGPIPE, SIG_IGN); - - for ( ; ; ) { + + for(;;) { #ifdef SVR4 int i; - while(poll(poll_fds, maxfds, -1) == ERROR) { - if (errno != EINTR) error_out("poll"); + while(poll(poll_fds, maxfds, -1) == ERROR) { + if(errno != EINTR) error_out("poll"); errno = 0; } #else - fd_set readfds; + fd_set readfds; - readfds = fds_org; - while (select(maxfds,&readfds,NULL,NULL,NULL) == ERROR) { - if (errno != EINTR) error_out("select"); + while(select(maxfds, &readfds, NULL, NULL, NULL) == ERROR) { + if(errno != EINTR) error_out("select"); errno = 0; } #endif - - for (cur_client = client ; cur_client; ) { - if (setjmp(client_dead)) { + for(cur_client = client; cur_client;) { + + if(setjmp(client_dead)) { cur_client = disconnect_client(cur_client); continue; } #ifdef SVR4 - for ( i = 0; i < maxfds; i++) { - if ((poll_fds[i].fd == cur_client->fd) && - (poll_fds[i].revents == POLLIN)) { - poll_fds[i].revents = 0; - client_fd = cur_client->fd; - putpos = buflen = getpos = 0; - execute_cmd(); - break; - } + for(i = 0; i < maxfds; i++) { + if((poll_fds[i].fd == cur_client->fd) && + (poll_fds[i].revents == POLLIN)) { + poll_fds[i].revents = 0; + client_fd = cur_client->fd; + putpos = buflen = getpos = 0; + execute_cmd(); + break; + } } cur_client = cur_client->next; } connect_client(poll_fds); #else - if (FD_ISSET(cur_client->fd, &readfds)) { + if(FD_ISSET(cur_client->fd, &readfds)) { client_fd = cur_client->fd; putpos = buflen = getpos = 0; execute_cmd(); @@ -759,16 +712,13 @@ communicate(void) } } +void put_flush(void) { + int len; + int i; + char* p; -void -put_flush(void) -{ - int len; - int i; - char *p; - - for (len = putpos, p = putbuf ; len > 0 ; ) { - if ((i = write(client_fd, p, len)) == ERROR) { + for(len = putpos, p = putbuf; len > 0;) { + if((i = write(client_fd, p, len)) == ERROR) { longjmp(client_dead, -1); } len -= i; @@ -777,65 +727,48 @@ put_flush(void) putpos = 0; } - -void -put_byte(int c) -{ +void put_byte(int c) { putbuf[putpos++] = c; - if (putpos >= sizeof(putbuf)) put_flush(); + if(putpos >= sizeof(putbuf)) put_flush(); } - -void -put_work(int c) -{ +void put_work(int c) { put_byte(c >> 8); put_byte(c & 0xff); } - -void -put_int(int c) -{ +void put_int(int c) { put_byte(c >> (8 * 3)); put_byte(c >> (8 * 2)); put_byte(c >> (8 * 1)); put_byte(c); } - unsigned char* -put_string(unsigned char* p) -{ - if (p) { +put_string(unsigned char* p) { + if(p) { do { put_byte(*p); - } while (*p++); - } - else + } while(*p++); + } else put_byte(0); return p; } - unsigned char* -put_ndata(unsigned char* p, int n) -{ - while (n-- > 0) put_byte(p ? *p++ : 0); +put_ndata(unsigned char* p, int n) { + while(n-- > 0) put_byte(p ? *p++ : 0); return p; } +void get_buf(void) { + int i; -void -get_buf(void) -{ - int i; - - for (;;) { - if ((i = read(client_fd, getbuf, sizeof(getbuf))) > 0) break; - if (i == ERROR) { - if (errno == EINTR) continue; - if (errno == EWOULDBLOCK) continue; + for(;;) { + if((i = read(client_fd, getbuf, sizeof(getbuf))) > 0) break; + if(i == ERROR) { + if(errno == EINTR) continue; + if(errno == EWOULDBLOCK) continue; } longjmp(client_dead, -1); } @@ -843,56 +776,42 @@ get_buf(void) getpos = 0; } - -int -get_byte(void) -{ - if (getpos >= buflen) get_buf(); +int get_byte(void) { + if(getpos >= buflen) get_buf(); return (getbuf[getpos++] & 0xff); } - -int -get_word(void) -{ - int i; +int get_word(void) { + int i; i = get_byte(); return ((i << 8) | get_byte()); } - -int -get_int(void) -{ - int i0; - int i1; - int i2; +int get_int(void) { + int i0; + int i1; + int i2; i0 = get_byte(); i1 = get_byte(); i2 = get_byte(); - return((i0 << (8*3)) | (i1 << (8*2)) | (i2 << (8*1)) | get_byte()); + return ((i0 << (8 * 3)) | (i1 << (8 * 2)) | (i2 << (8 * 1)) | get_byte()); } - -int -get_nstring(unsigned char* p, int n) -{ - int c; +int get_nstring(unsigned char* p, int n) { + int c; do { c = get_byte(); - if (n-- > 0) *p++ = c; - } while (c); + if(n-- > 0) *p++ = c; + } while(c); return (n < 0) ? ERROR : 0; } - unsigned char* -get_ndata(unsigned char* p, int n) -{ - while (n-- > 0) *p++ = get_byte(); +get_ndata(unsigned char* p, int n) { + while(n-- > 0) *p++ = get_byte(); return p; } diff --git a/conjunc.c b/conjunc.c index 680b067..51da07b 100644 --- a/conjunc.c +++ b/conjunc.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,1218 +28,1150 @@ */ /* - * $SonyRCSfile: conjunc.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: conjunc.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:33 $ */ - #include "sj_rename.h" #include "sj_typedef.h" #include "sj_yomi.h" #include "sj_right.h" -static unsigned char sahencnj[] = { - 0x00, R_SGOKAN, - 0x01, _SA, R_MIZEN1, - 0x01, _SI, R_SI1, - 0x11, _RO, R_MEIREI1, - 0x02, _SU, _RU, R_SHUUSI, - 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, - 0x11, _RE, R_KATEI2, - 0x01, _SE, R_MIZEN2, - 0x12, _NA, _I, R_NAI, - 0x31, _DE, R_NAIDE, - 0x22, _KA, _XTU, R_ONBIN1, - 0x32, _RO, _U, R_KAROU, - 0x21, _KU, R_NAKU, - 0x22, _KE, _RE, R_KATEI3, - 0x12, _RA, _RE, R_RARE, - 0x31, _YO, R_MEIREI2, - 0x31, _RU, R_SHUUSI, - 0x31, _RE, R_KATEI2, - 0x31, _RO, R_MEIREI1, - 0x11, _YO, R_MEIREI2, - 0xff - }; - -static unsigned char zahencnj[] = { - 0x00, R_CUT, - 0x01, _ZI, R_JI, - 0x11, _YO, R_MEIREI2, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x11, _RO, R_MEIREI1, - 0x02, _ZU, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x01, _ZE, R_MIZEN3, - 0x11, _YO, R_MEIREI2, - 0xff - }; - -static unsigned char ka5cnj1[] = { - 0x01, _I, R_ONBIN2, - 0x01, _KA, R_MIZEN5, - 0x01, _KI, R_RENYOU5, - 0x01, _KU, R_SHUUSI, - 0x01, _KE, R_KAMEI, - 0x02, _KO, _U, R_AROU, - 0xff - }; - -static unsigned char ka5cnj3[] = { - 0x01, _I, R_ONBIN2, - 0x01, _KA, R_MIZEN5, - 0x01, _KI, R_RENYOU7, - 0x01, _KU, R_SHUUSI, - 0x01, _KE, R_KAMEI, - 0x02, _KO, _U, R_AROU, - 0xff - }; - -static unsigned char ka5cnj5[] = { - 0x01, _I, R_ONBIN2, - 0x01, _KA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _KI, R_RENYOU5, - 0x01, _KU, R_SHUUSI, - 0x01, _KE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _KO, _U, R_AROU, - 0xff - }; - -static unsigned char ka5cnj7[] = { - 0x01, _I, R_ONBIN2, - 0x01, _KA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _KI, R_RENYOU7, - 0x01, _KU, R_SHUUSI, - 0x01, _KE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _KO, _U, R_AROU, - 0xff - }; - -static unsigned char ga5cnj1[] = { - 0x01, _I, R_ONBIN3, - 0x01, _GA, R_MIZEN5, - 0x01, _GI, R_RENYOU5, - 0x01, _GU, R_SHUUSI, - 0x01, _GE, R_KAMEI, - 0x02, _GO, _U, R_AROU, - 0xff - }; - -static unsigned char ga5cnj3[] = { - 0x01, _I, R_ONBIN3, - 0x01, _GA, R_MIZEN5, - 0x01, _GI, R_RENYOU7, - 0x01, _GU, R_SHUUSI, - 0x01, _GE, R_KAMEI, - 0x02, _GO, _U, R_AROU, - 0xff - }; - -static unsigned char ga5cnj5[] = { - 0x01, _I, R_ONBIN3, - 0x01, _GA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _GI, R_RENYOU5, - 0x01, _GU, R_SHUUSI, - 0x01, _GE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _GO, _U, R_AROU, - 0xff - }; - -static unsigned char ga5cnj7[] = { - 0x01, _I, R_ONBIN3, - 0x01, _GA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _GI, R_RENYOU7, - 0x01, _GU, R_SHUUSI, - 0x01, _GE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _GO, _U, R_AROU, - 0xff - }; - -static unsigned char sa5cnj1[] = { - 0x01, _SA, R_MIZEN5, - 0x01, _SI, R_SA5RENYOU1, - 0x01, _SU, R_SHUUSI, - 0x01, _SE, R_KAMEI, - 0x02, _SO, _U, R_AROU, - 0xff - }; - -static unsigned char sa5cnj3[] = { - 0x01, _SA, R_MIZEN5, - 0x01, _SI, R_SA5RENYOU3, - 0x01, _SU, R_SHUUSI, - 0x01, _SE, R_KAMEI, - 0x02, _SO, _U, R_AROU, - 0xff - }; - -static unsigned char sa5cnj5[] = { - 0x01, _SA, R_MIZEN5, - 0x01, _SI, R_SA5RENYOU1, - 0x01, _SU, R_SHUUSI, - 0x01, _SE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _SO, _U, R_AROU, - 0xff - }; - -static unsigned char sa5cnj7[] = { - 0x01, _SA, R_MIZEN5, - 0x01, _SI, R_SA5RENYOU3, - 0x01, _SU, R_SHUUSI, - 0x01, _SE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _SO, _U, R_AROU, - 0xff - }; - -static unsigned char ta5cnj1[] = { - 0x01, _TA, R_MIZEN5, - 0x01, _TI, R_RENYOU5, - 0x01, _XTU, R_ONBIN2, - 0x01, _TU, R_SHUUSI, - 0x01, _TE, R_KAMEI, - 0x02, _TO, _U, R_AROU, - 0xff - }; - -static unsigned char ta5cnj3[] = { - 0x01, _TA, R_MIZEN5, - 0x01, _TI, R_RENYOU7, - 0x01, _XTU, R_ONBIN2, - 0x01, _TU, R_SHUUSI, - 0x01, _TE, R_KAMEI, - 0x02, _TO, _U, R_AROU, - 0xff - }; - -static unsigned char ta5cnj5[] = { - 0x01, _TA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _TI, R_RENYOU5, - 0x01, _XTU, R_ONBIN2, - 0x01, _TU, R_SHUUSI, - 0x01, _TE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _TO, _U, R_AROU, - 0xff - }; - -static unsigned char ta5cnj7[] = { - 0x01, _TA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _TI, R_RENYOU7, - 0x01, _XTU, R_ONBIN2, - 0x01, _TU, R_SHUUSI, - 0x01, _TE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _TO, _U, R_AROU, - 0xff - }; - - -static unsigned char na5cnj[] = { - 0x01, _NA, R_MIZEN5, - 0x01, _NI, R_RENYOU5, - 0x01, _NU, R_SHUUSI, - 0x01, _NE, R_KAMEI, - 0x02, _NO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ba5cnj1[] = { - 0x01, _BA, R_MIZEN5, - 0x01, _BI, R_RENYOU5, - 0x01, _BU, R_SHUUSI, - 0x01, _BE, R_KAMEI, - 0x02, _BO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ba5cnj3[] = { - 0x01, _BA, R_MIZEN5, - 0x01, _BI, R_RENYOU7, - 0x01, _BU, R_SHUUSI, - 0x01, _BE, R_KAMEI, - 0x02, _BO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ba5cnj5[] = { - 0x01, _BA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _BI, R_RENYOU5, - 0x01, _BU, R_SHUUSI, - 0x01, _BE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _BO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ba5cnj7[] = { - 0x01, _BA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _BI, R_RENYOU7, - 0x01, _BU, R_SHUUSI, - 0x01, _BE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _BO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ma5cnj1[] = { - 0x01, _MA, R_MIZEN5, - 0x01, _MI, R_RENYOU5, - 0x01, _MU, R_SHUUSI, - 0x01, _ME, R_KAMEI, - 0x02, _MO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ma5cnj3[] = { - 0x01, _MA, R_MIZEN5, - 0x01, _MI, R_RENYOU7, - 0x01, _MU, R_SHUUSI, - 0x01, _ME, R_KAMEI, - 0x02, _MO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ma5cnj5[] = { - 0x01, _MA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _MI, R_RENYOU5, - 0x01, _MU, R_SHUUSI, - 0x01, _ME, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _MO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ma5cnj7[] = { - 0x01, _MA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _MI, R_RENYOU7, - 0x01, _MU, R_SHUUSI, - 0x01, _ME, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _MO, _U, R_AROU, - 0x01, _NN, R_ONBIN3, - 0xff - }; - -static unsigned char ra5cnj1[] = { - 0x01, _XTU, R_ONBIN2, - 0x01, _RA, R_MIZEN5, - 0x01, _RI, R_RENYOU5, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_KAMEI, - 0x02, _RO, _U, R_AROU, - 0xff - }; - -static unsigned char ra5cnj3[] = { - 0x01, _XTU, R_ONBIN2, - 0x01, _RA, R_MIZEN5, - 0x01, _RI, R_RENYOU7, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_KAMEI, - 0x02, _RO, _U, R_AROU, - 0xff - }; - -static unsigned char ra5cnj5[] = { - 0x01, _XTU, R_ONBIN2, - 0x01, _RA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _RI, R_RENYOU5, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _RO, _U, R_AROU, - 0xff - }; - -static unsigned char ra5cnj7[] = { - 0x01, _XTU, R_ONBIN2, - 0x01, _RA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0x01, _RI, R_RENYOU7, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _RO, _U, R_AROU, - 0xff - }; - -static unsigned char wa5cnj1[] = { - 0x01, _I, R_RENYOU5, - 0x01, _U, R_SHUUSI, - 0x01, _E, R_KAMEI, - 0x02, _O, _U, R_AROU, - 0x01, _XTU, R_ONBIN2, - 0x01, _WA, R_MIZEN5, - 0xff - }; - -static unsigned char wa5cnj3[] = { - 0x01, _I, R_RENYOU7, - 0x01, _U, R_SHUUSI, - 0x01, _E, R_KAMEI, - 0x02, _O, _U, R_AROU, - 0x01, _XTU, R_ONBIN2, - 0x01, _WA, R_MIZEN5, - 0xff - }; - -static unsigned char wa5cnj5[] = { - 0x01, _I, R_RENYOU5, - 0x01, _U, R_SHUUSI, - 0x01, _E, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _O, _U, R_AROU, - 0x01, _XTU, R_ONBIN2, - 0x01, _WA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0xff - }; - -static unsigned char wa5cnj7[] = { - 0x01, _I, R_RENYOU7, - 0x01, _U, R_SHUUSI, - 0x01, _E, R_EXP, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KATEI2, - 0x02, _O, _U, R_AROU, - 0x01, _XTU, R_ONBIN2, - 0x01, _WA, R_MIZEN5, - 0x11, _SA, R_MIZEN5, - 0x11, _SI, R_SA5RENYOU3, - 0x11, _SU, R_SHUUSI, - 0x12, _SO, _U, R_AROU, - 0xff - }; - -static unsigned char ichicnj1[] = { - 0x00, R_RENYOU1, - 0x01, _YO, R_MEIREI2, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_KATEI2, - 0x01, _RO, R_MEIREI1, - 0xff - }; - -static unsigned char ichicnj3[] = { - 0x00, R_RENYOU3, - 0x01, _YO, R_MEIREI2, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_KATEI2, - 0x01, _RO, R_MEIREI1, - 0xff - }; - -static unsigned char keiyou1[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0xff - }; - -static unsigned char keiyou2[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _SA, R_FZKMEISI, - 0xff - }; - -static unsigned char keiyou3[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _GE, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0x01, _SA, R_FZKMEISI, - 0xff - }; - -static unsigned char keiyou4[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x02, _GA, _XTU, R_ONBIN2, - 0x11, _RA, R_MIZEN5, - 0x11, _RI, R_RENYOU5, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KAMEI, - 0x12, _RO, _U, R_AROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _SA, R_FZKMEISI, - 0xff - }; - -static unsigned char keiyou5[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x02, _GA, _XTU, R_ONBIN2, - 0x11, _RA, R_MIZEN5, - 0x11, _RI, R_RENYOU5, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KAMEI, - 0x12, _RO, _U, R_AROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _GE, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0x01, _SA, R_FZKMEISI, - 0xff - }; - -static unsigned char keiyou6[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _GE, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0x01, _SA, R_FZKMEISI, - 0x01, _ME, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keiyou7[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x02, _GA, _XTU, R_ONBIN2, - 0x11, _RA, R_MIZEN5, - 0x11, _RI, R_RENYOU5, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KAMEI, - 0x12, _RO, _U, R_AROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _GE, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0x01, _SA, R_FZKMEISI, - 0x01, _ME, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keiyou8[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x02, _GA, _XTU, R_ONBIN2, - 0x11, _RA, R_MIZEN5, - 0x11, _RI, R_RENYOU5, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KAMEI, - 0x12, _RO, _U, R_AROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _GE, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0x01, _SA, R_FZKMEISI, - 0x01, _MI, R_FZKMEISI, - 0x01, _ME, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keiyou9[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x02, _GA, _XTU, R_ONBIN2, - 0x11, _RA, R_MIZEN5, - 0x11, _RI, R_RENYOU5, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KAMEI, - 0x12, _RO, _U, R_AROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _GE, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0x01, _SA, R_FZKMEISI, - 0xff - }; - -static unsigned char keiyou10[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x02, _GA, _XTU, R_ONBIN2, - 0x11, _RA, R_MIZEN5, - 0x11, _RI, R_RENYOU5, - 0x11, _RU, R_SHUUSI, - 0x11, _RE, R_KAMEI, - 0x12, _RO, _U, R_AROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _GE, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0x01, _SA, R_FZKMEISI, - 0x01, _ME, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keiyou11[] = { - 0x80, R_KGOKAN, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0x01, _SA, R_FZKMEISI, - 0x01, _MI, R_FZKMEISI, - 0x01, _ME, R_DMEISI, - 0x11, _DA, R_DSHUUSI1, - 0x21, _XTU, R_ONBIN1, - 0x22, _RO, _U, R_DAROU, - 0x11, _DE, R_DRENYOU1, - 0x11, _NA, R_DRENTAI1, - 0x21, _RA, R_KATEI1, - 0x21, _RI, R_DSHUUSI2, - 0x21, _RU, R_DRENTAI3, - 0x21, _RE, R_KAMEI, - 0x11, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keidou1[] = { - 0x80, R_DGOKAN, - 0x01, _DA, R_DSHUUSI1, - 0x11, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_DAROU, - 0x01, _DE, R_DRENYOU1, - 0x01, _NA, R_DRENTAI1, - 0x11, _RA, R_KATEI1, - 0x11, _RI, R_DSHUUSI2, - 0x11, _RU, R_DRENTAI3, - 0x11, _RE, R_KAMEI, - 0x01, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keidou2[] = { - 0x80, R_DGOKAN, - 0x02, _TA, _RU, R_DRENTAI2, - 0x11, _RE, R_KATEI2, - 0x01, _TO, R_DRENYOU3, - 0xff - }; - -static unsigned char keidou4[] = { - 0x80, R_DGOKAN, - 0x01, _SA, R_FZKMEISI, - 0x01, _DA, R_DSHUUSI1, - 0x11, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_DAROU, - 0x01, _DE, R_DRENYOU1, - 0x01, _NA, R_DRENTAI1, - 0x11, _RA, R_KATEI1, - 0x11, _RI, R_DSHUUSI2, - 0x11, _RU, R_DRENTAI3, - 0x11, _RE, R_KAMEI, - 0x01, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keidou9[] = { - 0x80, R_DGOKAN, - 0x01, _DA, R_DSHUUSI1, - 0x11, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_DAROU, - 0x01, _DE, R_DRENYOU1, - 0x01, _NA, R_DRENTAI1, - 0x11, _RA, R_KATEI1, - 0x11, _RI, R_DSHUUSI2, - 0x11, _RU, R_DRENTAI3, - 0x11, _RE, R_KAMEI, - 0x01, _NI, R_DRENYOU2, - 0x01, _NO, R_CUT, - 0x12, _KO, _TO, R_KOTO, - 0xff - }; - -static unsigned char sahenmeisi1[] = { - 0x00, R_SMEISI1, - 0x01, _SA, R_MIZEN1, - 0x01, _SI, R_SI1, - 0x11, _RO, R_MEIREI1, - 0x02, _SU, _RU, R_SHUUSI, - 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, - 0x11, _RE, R_KATEI2, - 0x01, _SE, R_MIZEN2, - 0x11, _YO, R_MEIREI2, - 0xff - }; - -static unsigned char sahenmeisi2[] = { - 0x00, R_SMEISI1, - 0x01, _SA, R_MIZEN1, - 0x01, _SI, R_SI1, - 0x11, _RO, R_MEIREI1, - 0x02, _SU, _RU, R_SHUUSI, - 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, - 0x11, _RE, R_KATEI2, - 0x01, _SE, R_MIZEN2, - 0x11, _YO, R_MEIREI2, - 0xff - }; - -static unsigned char keidoumeisi[] = { - 0x00, R_DMEISI, - 0x01, _SA, R_FZKMEISI, - 0x01, _DA, R_DSHUUSI1, - 0x11, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_DAROU, - 0x01, _DE, R_DRENYOU1, - 0x01, _NA, R_DRENTAI1, - 0x11, _RA, R_KATEI1, - 0x11, _RI, R_DSHUUSI2, - 0x11, _RU, R_DRENTAI3, - 0x11, _RE, R_KAMEI, - 0x01, _NI, R_DRENYOU2, - 0xff - }; - -static unsigned char keiyoustb[] = { - 0x00, R_KSTB, - 0x01, _I, R_KSHUUSI, - 0x02, _KA, _XTU, R_ONBIN1, - 0x12, _RO, _U, R_KAROU, - 0x01, _KI, R_KRENTAI, - 0x01, _KU, R_KRENYOU, - 0x02, _KE, _RE, R_KATEI2, - 0xff - }; - -static unsigned char ichistb[] = { - 0x00, R_ICHISETUBI, - 0x01, _YO, R_MEIREI2, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_KATEI2, - 0x01, _RO, R_MEIREI1, - 0xff - }; - -static unsigned char fukusi2[] = { - 0x00, R_FUKUSI, - 0x01, _TO, R_F_FUKUSI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSI, - 0xff - }; - -static unsigned char fukusi3[] = { - 0x00, R_FUKUSI, - 0x01, _SA, R_MIZEN1, - 0x01, _SI, R_SI1, - 0x11, _RO, R_MEIREI1, - 0x02, _SU, _RU, R_SHUUSI, - 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, - 0x11, _RE, R_KATEI2, - 0x01, _SE, R_MIZEN2, - 0x11, _YO, R_MEIREI2, - 0x01, _TO, R_F_FUKUSI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSI, - 0xff - }; - -static unsigned char fukusi4[] = { - 0x00, R_FUKUSI, - 0x01, _SA, R_MIZEN1, - 0x01, _SI, R_SI1, - 0x11, _RO, R_MEIREI1, - 0x02, _SU, _RU, R_SHUUSI, - 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, - 0x11, _RE, R_KATEI2, - 0x01, _SE, R_MIZEN2, - 0x11, _YO, R_MEIREI2, - 0xff - }; - -static unsigned char fukusi5[] = { - 0x00, R_FUKUSI, - 0x01, _NI, R_F_FUKUSI, - 0xff - }; - -static unsigned char fukusi6[] = { - 0x00, R_FUKUSI, - 0x01, _MO, R_F_FUKUSI, - 0xff - }; - -static unsigned char fukusi7[] = { - 0x00, R_FUKUSI, - 0x01, _NO, R_F_FUKUSI, - 0xff - }; - -static unsigned char fukusi8[] = { - 0x00, R_FUKUSI, - 0x01, _DA, R_DSHUUSI1, - 0x11, _XTU, R_ONBIN1, - 0x02, _DE, _SI, R_DESHI, - 0x21, _XYO, R_SHO, - 0x31, _U, R_DESHOU, - 0x11, _SU, R_DESU, - 0x01, _TO, R_F_FUKUSI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSI, - 0xff - }; - -static unsigned char fukusi9[] = { - 0x00, R_FUKUSI, - 0x01, _SA, R_MIZEN1, - 0x01, _SI, R_SI1, - 0x11, _RO, R_MEIREI1, - 0x02, _SU, _RU, R_SHUUSI, - 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, - 0x11, _RE, R_KATEI2, - 0x01, _SE, R_MIZEN2, - 0x11, _YO, R_MEIREI2, - 0x01, _DA, R_DSHUUSI1, - 0x11, _XTU, R_ONBIN1, - 0x02, _DE, _SI, R_DESHI, - 0x21, _XYO, R_SHO, - 0x31, _U, R_DESHOU, - 0x11, _SU, R_DESU, - 0x01, _TO, R_F_FUKUSI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSI, - 0x01, _NO, R_F_FUKUSI, - 0xff - }; - -unsigned char *conjadr[] = { - 0, - 0, - 0, - 0, - 0, - sahenmeisi1, - sahenmeisi1, - sahenmeisi2, - keidoumeisi, - keidoumeisi, - keidoumeisi, - 0, - - 0, - 0, - 0, - sahenmeisi1, - keidoumeisi, - 0, - - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - keiyoustb, - keidoumeisi, - sahenmeisi1, - ichistb, - 0, - - 0, - fukusi2, - fukusi3, - fukusi4, - fukusi5, - fukusi6, - fukusi7, - fukusi8, - fukusi9, - 0, - 0, - 0, - 0, - 0, - 0, - - keiyou1, - keiyou2, - keiyou3, - keiyou4, - keiyou5, - keiyou6, - keiyou7, - keiyou8, - keiyou9, - keiyou10, - keiyou11, - - keidou1, - keidou2, - keidou1, - keidou4, - keidou4, - keidou1, - keidou4, - keidou1, - keidou9, - - sahencnj, - zahencnj, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - ichicnj1, - ka5cnj1, - ga5cnj1, - sa5cnj1, - ta5cnj1, - na5cnj, - ba5cnj1, - ma5cnj1, - ra5cnj1, - wa5cnj1, - - ichicnj1, - ka5cnj1, - ga5cnj1, - sa5cnj1, - ta5cnj1, - ba5cnj1, - ma5cnj1, - ra5cnj1, - wa5cnj1, - 0, - 0, - - ka5cnj5, - ga5cnj5, - sa5cnj5, - ta5cnj5, - ba5cnj5, - ma5cnj5, - ra5cnj5, - wa5cnj5, - 0, - 0, - - ka5cnj5, - ga5cnj5, - sa5cnj5, - ta5cnj5, - ba5cnj5, - ma5cnj5, - ra5cnj5, - wa5cnj5, - 0, - - ichicnj3, - ka5cnj3, - ga5cnj3, - sa5cnj3, - ta5cnj3, - ba5cnj3, - ma5cnj3, - ra5cnj3, - wa5cnj3, - 0, - - ichicnj3, - ka5cnj3, - ga5cnj3, - sa5cnj3, - ta5cnj3, - ba5cnj3, - ma5cnj3, - ra5cnj3, - wa5cnj3, - 0, - 0, - - ka5cnj7, - ga5cnj7, - sa5cnj7, - ta5cnj7, - ba5cnj7, - ma5cnj7, - ra5cnj7, - wa5cnj7, - 0, - 0, - - ka5cnj7, - ga5cnj7, - sa5cnj7, - ta5cnj7, - ba5cnj7, - ma5cnj7, - ra5cnj7, - wa5cnj7, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 -}; +static unsigned char sahencnj[] = { + 0x00, R_SGOKAN, + 0x01, _SA, R_MIZEN1, + 0x01, _SI, R_SI1, + 0x11, _RO, R_MEIREI1, + 0x02, _SU, _RU, R_SHUUSI, + 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, + 0x11, _RE, R_KATEI2, + 0x01, _SE, R_MIZEN2, + 0x12, _NA, _I, R_NAI, + 0x31, _DE, R_NAIDE, + 0x22, _KA, _XTU, R_ONBIN1, + 0x32, _RO, _U, R_KAROU, + 0x21, _KU, R_NAKU, + 0x22, _KE, _RE, R_KATEI3, + 0x12, _RA, _RE, R_RARE, + 0x31, _YO, R_MEIREI2, + 0x31, _RU, R_SHUUSI, + 0x31, _RE, R_KATEI2, + 0x31, _RO, R_MEIREI1, + 0x11, _YO, R_MEIREI2, + 0xff}; + +static unsigned char zahencnj[] = { + 0x00, R_CUT, + 0x01, _ZI, R_JI, + 0x11, _YO, R_MEIREI2, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x11, _RO, R_MEIREI1, + 0x02, _ZU, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x01, _ZE, R_MIZEN3, + 0x11, _YO, R_MEIREI2, + 0xff}; + +static unsigned char ka5cnj1[] = { + 0x01, _I, R_ONBIN2, + 0x01, _KA, R_MIZEN5, + 0x01, _KI, R_RENYOU5, + 0x01, _KU, R_SHUUSI, + 0x01, _KE, R_KAMEI, + 0x02, _KO, _U, R_AROU, + 0xff}; + +static unsigned char ka5cnj3[] = { + 0x01, _I, R_ONBIN2, + 0x01, _KA, R_MIZEN5, + 0x01, _KI, R_RENYOU7, + 0x01, _KU, R_SHUUSI, + 0x01, _KE, R_KAMEI, + 0x02, _KO, _U, R_AROU, + 0xff}; + +static unsigned char ka5cnj5[] = { + 0x01, _I, R_ONBIN2, + 0x01, _KA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _KI, R_RENYOU5, + 0x01, _KU, R_SHUUSI, + 0x01, _KE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _KO, _U, R_AROU, + 0xff}; + +static unsigned char ka5cnj7[] = { + 0x01, _I, R_ONBIN2, + 0x01, _KA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _KI, R_RENYOU7, + 0x01, _KU, R_SHUUSI, + 0x01, _KE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _KO, _U, R_AROU, + 0xff}; + +static unsigned char ga5cnj1[] = { + 0x01, _I, R_ONBIN3, + 0x01, _GA, R_MIZEN5, + 0x01, _GI, R_RENYOU5, + 0x01, _GU, R_SHUUSI, + 0x01, _GE, R_KAMEI, + 0x02, _GO, _U, R_AROU, + 0xff}; + +static unsigned char ga5cnj3[] = { + 0x01, _I, R_ONBIN3, + 0x01, _GA, R_MIZEN5, + 0x01, _GI, R_RENYOU7, + 0x01, _GU, R_SHUUSI, + 0x01, _GE, R_KAMEI, + 0x02, _GO, _U, R_AROU, + 0xff}; + +static unsigned char ga5cnj5[] = { + 0x01, _I, R_ONBIN3, + 0x01, _GA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _GI, R_RENYOU5, + 0x01, _GU, R_SHUUSI, + 0x01, _GE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _GO, _U, R_AROU, + 0xff}; + +static unsigned char ga5cnj7[] = { + 0x01, _I, R_ONBIN3, + 0x01, _GA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _GI, R_RENYOU7, + 0x01, _GU, R_SHUUSI, + 0x01, _GE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _GO, _U, R_AROU, + 0xff}; + +static unsigned char sa5cnj1[] = { + 0x01, _SA, R_MIZEN5, + 0x01, _SI, R_SA5RENYOU1, + 0x01, _SU, R_SHUUSI, + 0x01, _SE, R_KAMEI, + 0x02, _SO, _U, R_AROU, + 0xff}; + +static unsigned char sa5cnj3[] = { + 0x01, _SA, R_MIZEN5, + 0x01, _SI, R_SA5RENYOU3, + 0x01, _SU, R_SHUUSI, + 0x01, _SE, R_KAMEI, + 0x02, _SO, _U, R_AROU, + 0xff}; + +static unsigned char sa5cnj5[] = { + 0x01, _SA, R_MIZEN5, + 0x01, _SI, R_SA5RENYOU1, + 0x01, _SU, R_SHUUSI, + 0x01, _SE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _SO, _U, R_AROU, + 0xff}; + +static unsigned char sa5cnj7[] = { + 0x01, _SA, R_MIZEN5, + 0x01, _SI, R_SA5RENYOU3, + 0x01, _SU, R_SHUUSI, + 0x01, _SE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _SO, _U, R_AROU, + 0xff}; + +static unsigned char ta5cnj1[] = { + 0x01, _TA, R_MIZEN5, + 0x01, _TI, R_RENYOU5, + 0x01, _XTU, R_ONBIN2, + 0x01, _TU, R_SHUUSI, + 0x01, _TE, R_KAMEI, + 0x02, _TO, _U, R_AROU, + 0xff}; + +static unsigned char ta5cnj3[] = { + 0x01, _TA, R_MIZEN5, + 0x01, _TI, R_RENYOU7, + 0x01, _XTU, R_ONBIN2, + 0x01, _TU, R_SHUUSI, + 0x01, _TE, R_KAMEI, + 0x02, _TO, _U, R_AROU, + 0xff}; + +static unsigned char ta5cnj5[] = { + 0x01, _TA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _TI, R_RENYOU5, + 0x01, _XTU, R_ONBIN2, + 0x01, _TU, R_SHUUSI, + 0x01, _TE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _TO, _U, R_AROU, + 0xff}; + +static unsigned char ta5cnj7[] = { + 0x01, _TA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _TI, R_RENYOU7, + 0x01, _XTU, R_ONBIN2, + 0x01, _TU, R_SHUUSI, + 0x01, _TE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _TO, _U, R_AROU, + 0xff}; + +static unsigned char na5cnj[] = { + 0x01, _NA, R_MIZEN5, + 0x01, _NI, R_RENYOU5, + 0x01, _NU, R_SHUUSI, + 0x01, _NE, R_KAMEI, + 0x02, _NO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ba5cnj1[] = { + 0x01, _BA, R_MIZEN5, + 0x01, _BI, R_RENYOU5, + 0x01, _BU, R_SHUUSI, + 0x01, _BE, R_KAMEI, + 0x02, _BO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ba5cnj3[] = { + 0x01, _BA, R_MIZEN5, + 0x01, _BI, R_RENYOU7, + 0x01, _BU, R_SHUUSI, + 0x01, _BE, R_KAMEI, + 0x02, _BO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ba5cnj5[] = { + 0x01, _BA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _BI, R_RENYOU5, + 0x01, _BU, R_SHUUSI, + 0x01, _BE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _BO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ba5cnj7[] = { + 0x01, _BA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _BI, R_RENYOU7, + 0x01, _BU, R_SHUUSI, + 0x01, _BE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _BO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ma5cnj1[] = { + 0x01, _MA, R_MIZEN5, + 0x01, _MI, R_RENYOU5, + 0x01, _MU, R_SHUUSI, + 0x01, _ME, R_KAMEI, + 0x02, _MO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ma5cnj3[] = { + 0x01, _MA, R_MIZEN5, + 0x01, _MI, R_RENYOU7, + 0x01, _MU, R_SHUUSI, + 0x01, _ME, R_KAMEI, + 0x02, _MO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ma5cnj5[] = { + 0x01, _MA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _MI, R_RENYOU5, + 0x01, _MU, R_SHUUSI, + 0x01, _ME, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _MO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ma5cnj7[] = { + 0x01, _MA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _MI, R_RENYOU7, + 0x01, _MU, R_SHUUSI, + 0x01, _ME, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _MO, _U, R_AROU, + 0x01, _NN, R_ONBIN3, + 0xff}; + +static unsigned char ra5cnj1[] = { + 0x01, _XTU, R_ONBIN2, + 0x01, _RA, R_MIZEN5, + 0x01, _RI, R_RENYOU5, + 0x01, _RU, R_SHUUSI, + 0x01, _RE, R_KAMEI, + 0x02, _RO, _U, R_AROU, + 0xff}; + +static unsigned char ra5cnj3[] = { + 0x01, _XTU, R_ONBIN2, + 0x01, _RA, R_MIZEN5, + 0x01, _RI, R_RENYOU7, + 0x01, _RU, R_SHUUSI, + 0x01, _RE, R_KAMEI, + 0x02, _RO, _U, R_AROU, + 0xff}; + +static unsigned char ra5cnj5[] = { + 0x01, _XTU, R_ONBIN2, + 0x01, _RA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _RI, R_RENYOU5, + 0x01, _RU, R_SHUUSI, + 0x01, _RE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _RO, _U, R_AROU, + 0xff}; + +static unsigned char ra5cnj7[] = { + 0x01, _XTU, R_ONBIN2, + 0x01, _RA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0x01, _RI, R_RENYOU7, + 0x01, _RU, R_SHUUSI, + 0x01, _RE, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _RO, _U, R_AROU, + 0xff}; + +static unsigned char wa5cnj1[] = { + 0x01, _I, R_RENYOU5, + 0x01, _U, R_SHUUSI, + 0x01, _E, R_KAMEI, + 0x02, _O, _U, R_AROU, + 0x01, _XTU, R_ONBIN2, + 0x01, _WA, R_MIZEN5, + 0xff}; + +static unsigned char wa5cnj3[] = { + 0x01, _I, R_RENYOU7, + 0x01, _U, R_SHUUSI, + 0x01, _E, R_KAMEI, + 0x02, _O, _U, R_AROU, + 0x01, _XTU, R_ONBIN2, + 0x01, _WA, R_MIZEN5, + 0xff}; + +static unsigned char wa5cnj5[] = { + 0x01, _I, R_RENYOU5, + 0x01, _U, R_SHUUSI, + 0x01, _E, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _O, _U, R_AROU, + 0x01, _XTU, R_ONBIN2, + 0x01, _WA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0xff}; + +static unsigned char wa5cnj7[] = { + 0x01, _I, R_RENYOU7, + 0x01, _U, R_SHUUSI, + 0x01, _E, R_EXP, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KATEI2, + 0x02, _O, _U, R_AROU, + 0x01, _XTU, R_ONBIN2, + 0x01, _WA, R_MIZEN5, + 0x11, _SA, R_MIZEN5, + 0x11, _SI, R_SA5RENYOU3, + 0x11, _SU, R_SHUUSI, + 0x12, _SO, _U, R_AROU, + 0xff}; + +static unsigned char ichicnj1[] = { + 0x00, R_RENYOU1, + 0x01, _YO, R_MEIREI2, + 0x01, _RU, R_SHUUSI, + 0x01, _RE, R_KATEI2, + 0x01, _RO, R_MEIREI1, + 0xff}; + +static unsigned char ichicnj3[] = { + 0x00, R_RENYOU3, + 0x01, _YO, R_MEIREI2, + 0x01, _RU, R_SHUUSI, + 0x01, _RE, R_KATEI2, + 0x01, _RO, R_MEIREI1, + 0xff}; + +static unsigned char keiyou1[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0xff}; + +static unsigned char keiyou2[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _SA, R_FZKMEISI, + 0xff}; + +static unsigned char keiyou3[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _GE, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0x01, _SA, R_FZKMEISI, + 0xff}; + +static unsigned char keiyou4[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x02, _GA, _XTU, R_ONBIN2, + 0x11, _RA, R_MIZEN5, + 0x11, _RI, R_RENYOU5, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KAMEI, + 0x12, _RO, _U, R_AROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _SA, R_FZKMEISI, + 0xff}; + +static unsigned char keiyou5[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x02, _GA, _XTU, R_ONBIN2, + 0x11, _RA, R_MIZEN5, + 0x11, _RI, R_RENYOU5, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KAMEI, + 0x12, _RO, _U, R_AROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _GE, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0x01, _SA, R_FZKMEISI, + 0xff}; + +static unsigned char keiyou6[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _GE, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0x01, _SA, R_FZKMEISI, + 0x01, _ME, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keiyou7[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x02, _GA, _XTU, R_ONBIN2, + 0x11, _RA, R_MIZEN5, + 0x11, _RI, R_RENYOU5, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KAMEI, + 0x12, _RO, _U, R_AROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _GE, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0x01, _SA, R_FZKMEISI, + 0x01, _ME, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keiyou8[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x02, _GA, _XTU, R_ONBIN2, + 0x11, _RA, R_MIZEN5, + 0x11, _RI, R_RENYOU5, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KAMEI, + 0x12, _RO, _U, R_AROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _GE, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0x01, _SA, R_FZKMEISI, + 0x01, _MI, R_FZKMEISI, + 0x01, _ME, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keiyou9[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x02, _GA, _XTU, R_ONBIN2, + 0x11, _RA, R_MIZEN5, + 0x11, _RI, R_RENYOU5, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KAMEI, + 0x12, _RO, _U, R_AROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _GE, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0x01, _SA, R_FZKMEISI, + 0xff}; + +static unsigned char keiyou10[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x02, _GA, _XTU, R_ONBIN2, + 0x11, _RA, R_MIZEN5, + 0x11, _RI, R_RENYOU5, + 0x11, _RU, R_SHUUSI, + 0x11, _RE, R_KAMEI, + 0x12, _RO, _U, R_AROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _GE, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0x01, _SA, R_FZKMEISI, + 0x01, _ME, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keiyou11[] = { + 0x80, R_KGOKAN, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0x01, _SA, R_FZKMEISI, + 0x01, _MI, R_FZKMEISI, + 0x01, _ME, R_DMEISI, + 0x11, _DA, R_DSHUUSI1, + 0x21, _XTU, R_ONBIN1, + 0x22, _RO, _U, R_DAROU, + 0x11, _DE, R_DRENYOU1, + 0x11, _NA, R_DRENTAI1, + 0x21, _RA, R_KATEI1, + 0x21, _RI, R_DSHUUSI2, + 0x21, _RU, R_DRENTAI3, + 0x21, _RE, R_KAMEI, + 0x11, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keidou1[] = { + 0x80, R_DGOKAN, + 0x01, _DA, R_DSHUUSI1, + 0x11, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_DAROU, + 0x01, _DE, R_DRENYOU1, + 0x01, _NA, R_DRENTAI1, + 0x11, _RA, R_KATEI1, + 0x11, _RI, R_DSHUUSI2, + 0x11, _RU, R_DRENTAI3, + 0x11, _RE, R_KAMEI, + 0x01, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keidou2[] = { + 0x80, R_DGOKAN, + 0x02, _TA, _RU, R_DRENTAI2, + 0x11, _RE, R_KATEI2, + 0x01, _TO, R_DRENYOU3, + 0xff}; + +static unsigned char keidou4[] = { + 0x80, R_DGOKAN, + 0x01, _SA, R_FZKMEISI, + 0x01, _DA, R_DSHUUSI1, + 0x11, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_DAROU, + 0x01, _DE, R_DRENYOU1, + 0x01, _NA, R_DRENTAI1, + 0x11, _RA, R_KATEI1, + 0x11, _RI, R_DSHUUSI2, + 0x11, _RU, R_DRENTAI3, + 0x11, _RE, R_KAMEI, + 0x01, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keidou9[] = { + 0x80, R_DGOKAN, + 0x01, _DA, R_DSHUUSI1, + 0x11, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_DAROU, + 0x01, _DE, R_DRENYOU1, + 0x01, _NA, R_DRENTAI1, + 0x11, _RA, R_KATEI1, + 0x11, _RI, R_DSHUUSI2, + 0x11, _RU, R_DRENTAI3, + 0x11, _RE, R_KAMEI, + 0x01, _NI, R_DRENYOU2, + 0x01, _NO, R_CUT, + 0x12, _KO, _TO, R_KOTO, + 0xff}; + +static unsigned char sahenmeisi1[] = { + 0x00, R_SMEISI1, + 0x01, _SA, R_MIZEN1, + 0x01, _SI, R_SI1, + 0x11, _RO, R_MEIREI1, + 0x02, _SU, _RU, R_SHUUSI, + 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, + 0x11, _RE, R_KATEI2, + 0x01, _SE, R_MIZEN2, + 0x11, _YO, R_MEIREI2, + 0xff}; + +static unsigned char sahenmeisi2[] = { + 0x00, R_SMEISI1, + 0x01, _SA, R_MIZEN1, + 0x01, _SI, R_SI1, + 0x11, _RO, R_MEIREI1, + 0x02, _SU, _RU, R_SHUUSI, + 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, + 0x11, _RE, R_KATEI2, + 0x01, _SE, R_MIZEN2, + 0x11, _YO, R_MEIREI2, + 0xff}; + +static unsigned char keidoumeisi[] = { + 0x00, R_DMEISI, + 0x01, _SA, R_FZKMEISI, + 0x01, _DA, R_DSHUUSI1, + 0x11, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_DAROU, + 0x01, _DE, R_DRENYOU1, + 0x01, _NA, R_DRENTAI1, + 0x11, _RA, R_KATEI1, + 0x11, _RI, R_DSHUUSI2, + 0x11, _RU, R_DRENTAI3, + 0x11, _RE, R_KAMEI, + 0x01, _NI, R_DRENYOU2, + 0xff}; + +static unsigned char keiyoustb[] = { + 0x00, R_KSTB, + 0x01, _I, R_KSHUUSI, + 0x02, _KA, _XTU, R_ONBIN1, + 0x12, _RO, _U, R_KAROU, + 0x01, _KI, R_KRENTAI, + 0x01, _KU, R_KRENYOU, + 0x02, _KE, _RE, R_KATEI2, + 0xff}; + +static unsigned char ichistb[] = { + 0x00, R_ICHISETUBI, + 0x01, _YO, R_MEIREI2, + 0x01, _RU, R_SHUUSI, + 0x01, _RE, R_KATEI2, + 0x01, _RO, R_MEIREI1, + 0xff}; + +static unsigned char fukusi2[] = { + 0x00, R_FUKUSI, + 0x01, _TO, R_F_FUKUSI, + 0x11, _SI, R_SI1, + 0x11, _HA, R_F_FUKUSI, + 0xff}; + +static unsigned char fukusi3[] = { + 0x00, R_FUKUSI, + 0x01, _SA, R_MIZEN1, + 0x01, _SI, R_SI1, + 0x11, _RO, R_MEIREI1, + 0x02, _SU, _RU, R_SHUUSI, + 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, + 0x11, _RE, R_KATEI2, + 0x01, _SE, R_MIZEN2, + 0x11, _YO, R_MEIREI2, + 0x01, _TO, R_F_FUKUSI, + 0x11, _SI, R_SI1, + 0x11, _HA, R_F_FUKUSI, + 0xff}; + +static unsigned char fukusi4[] = { + 0x00, R_FUKUSI, + 0x01, _SA, R_MIZEN1, + 0x01, _SI, R_SI1, + 0x11, _RO, R_MEIREI1, + 0x02, _SU, _RU, R_SHUUSI, + 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, + 0x11, _RE, R_KATEI2, + 0x01, _SE, R_MIZEN2, + 0x11, _YO, R_MEIREI2, + 0xff}; + +static unsigned char fukusi5[] = { + 0x00, R_FUKUSI, + 0x01, _NI, R_F_FUKUSI, + 0xff}; + +static unsigned char fukusi6[] = { + 0x00, R_FUKUSI, + 0x01, _MO, R_F_FUKUSI, + 0xff}; + +static unsigned char fukusi7[] = { + 0x00, R_FUKUSI, + 0x01, _NO, R_F_FUKUSI, + 0xff}; + +static unsigned char fukusi8[] = { + 0x00, R_FUKUSI, + 0x01, _DA, R_DSHUUSI1, + 0x11, _XTU, R_ONBIN1, + 0x02, _DE, _SI, R_DESHI, + 0x21, _XYO, R_SHO, + 0x31, _U, R_DESHOU, + 0x11, _SU, R_DESU, + 0x01, _TO, R_F_FUKUSI, + 0x11, _SI, R_SI1, + 0x11, _HA, R_F_FUKUSI, + 0xff}; + +static unsigned char fukusi9[] = { + 0x00, R_FUKUSI, + 0x01, _SA, R_MIZEN1, + 0x01, _SI, R_SI1, + 0x11, _RO, R_MEIREI1, + 0x02, _SU, _RU, R_SHUUSI, + 0x25, _KA, _SI, _NA, _I, _KA, R_KA1, + 0x11, _RE, R_KATEI2, + 0x01, _SE, R_MIZEN2, + 0x11, _YO, R_MEIREI2, + 0x01, _DA, R_DSHUUSI1, + 0x11, _XTU, R_ONBIN1, + 0x02, _DE, _SI, R_DESHI, + 0x21, _XYO, R_SHO, + 0x31, _U, R_DESHOU, + 0x11, _SU, R_DESU, + 0x01, _TO, R_F_FUKUSI, + 0x11, _SI, R_SI1, + 0x11, _HA, R_F_FUKUSI, + 0x01, _NO, R_F_FUKUSI, + 0xff}; + +unsigned char* conjadr[] = { + 0, + 0, + 0, + 0, + 0, + sahenmeisi1, + sahenmeisi1, + sahenmeisi2, + keidoumeisi, + keidoumeisi, + keidoumeisi, + 0, + + 0, + 0, + 0, + sahenmeisi1, + keidoumeisi, + 0, + + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + keiyoustb, + keidoumeisi, + sahenmeisi1, + ichistb, + 0, + + 0, + fukusi2, + fukusi3, + fukusi4, + fukusi5, + fukusi6, + fukusi7, + fukusi8, + fukusi9, + 0, + 0, + 0, + 0, + 0, + 0, + + keiyou1, + keiyou2, + keiyou3, + keiyou4, + keiyou5, + keiyou6, + keiyou7, + keiyou8, + keiyou9, + keiyou10, + keiyou11, + + keidou1, + keidou2, + keidou1, + keidou4, + keidou4, + keidou1, + keidou4, + keidou1, + keidou9, + + sahencnj, + zahencnj, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + ichicnj1, + ka5cnj1, + ga5cnj1, + sa5cnj1, + ta5cnj1, + na5cnj, + ba5cnj1, + ma5cnj1, + ra5cnj1, + wa5cnj1, + + ichicnj1, + ka5cnj1, + ga5cnj1, + sa5cnj1, + ta5cnj1, + ba5cnj1, + ma5cnj1, + ra5cnj1, + wa5cnj1, + 0, + 0, + + ka5cnj5, + ga5cnj5, + sa5cnj5, + ta5cnj5, + ba5cnj5, + ma5cnj5, + ra5cnj5, + wa5cnj5, + 0, + 0, + + ka5cnj5, + ga5cnj5, + sa5cnj5, + ta5cnj5, + ba5cnj5, + ma5cnj5, + ra5cnj5, + wa5cnj5, + 0, + + ichicnj3, + ka5cnj3, + ga5cnj3, + sa5cnj3, + ta5cnj3, + ba5cnj3, + ma5cnj3, + ra5cnj3, + wa5cnj3, + 0, + + ichicnj3, + ka5cnj3, + ga5cnj3, + sa5cnj3, + ta5cnj3, + ba5cnj3, + ma5cnj3, + ra5cnj3, + wa5cnj3, + 0, + 0, + + ka5cnj7, + ga5cnj7, + sa5cnj7, + ta5cnj7, + ba5cnj7, + ma5cnj7, + ra5cnj7, + wa5cnj7, + 0, + 0, + + ka5cnj7, + ga5cnj7, + sa5cnj7, + ta5cnj7, + ba5cnj7, + ma5cnj7, + ra5cnj7, + wa5cnj7, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0}; diff --git a/connect.c b/connect.c index 9451153..9b21c5b 100644 --- a/connect.c +++ b/connect.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,8086 +28,7841 @@ */ /* - * $SonyRCSfile: connect.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: connect.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:34 $ */ - - #include "sj_rename.h" #include "sj_typedef.h" #include "sj_connect.h" #include "sj_right.h" -static unsigned char mizen1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_o+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_o+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mizen2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mizen3[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_o+ne2_o+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mizen4[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mizen5[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_o+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_o+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char arou[] = { - wo_x+ttatte_o +ttara_o +tte1_o +tte2_x +ppanasi_x +ppoi_x +ue_x, - uti_x +oite_x +okeru_x +ori_x +ka1_x +ka2_o +kai_x +kasira_o, - katagata_x+kadouka_x+kana_o+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_o+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_o+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char you1[] = { - wo_x+ttatte_o +ttara_o +tte1_o +tte2_x +ppanasi_x +ppoi_x +ue_x, - uti_x +oite_x +okeru_x +ori_x +ka1_x +ka2_o +kai_x +kasira_o, - katagata_x+kadouka_x+kana_o+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_o+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_o+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char karou[] = { - wo_x+ttatte_o +ttara_x +tte1_o +tte2_x +ppanasi_x +ppoi_x +ue_x, - uti_x +oite_x +okeru_x +ori_x +ka1_x +ka2_o +kai_x +kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - - -static unsigned char darou[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_o+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char deshou[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_o+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ko[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_x+zu_x+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_o+reru_o+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char bekara[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tagara[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_x+seru_o+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char si1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_o+kaneru_o, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ji[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_o+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_x+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_o+kaneru_o, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_x+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_o, - yasui_o+yoi_o+yaru_x+ttarasii_x - }; - -static unsigned char age[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_o+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char i[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_o+zu_o+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_x+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char e[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_o+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kake[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_o+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kane2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_o+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sugi[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_o+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_x+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char deki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mi[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_x+zu_o+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sase[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char rare[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_o+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char itadake[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_o+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char exp[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_o, - doori_x+dokoro_x+dokoroka_x+domo_o+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_o+zu_o+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char renyou1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_o+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_o+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_o+reru_o+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char renyou3[] = { - wo_x+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_o+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_o+nagara2_o+wo_s_o, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_o+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_o+you_o+youda_x+rasii_o+rareru_o+reru_o+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char renyou4[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_o+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_o+zu_o+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_o+tagaru_o+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_o+itadaku_o+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_o+gozai_x+sa1_o+si1_o+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_o+naru_x+nasai_o+nasaru_o+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char renyou5[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_o+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char renyou7[] = { - wo_x+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_o+wo_s_o, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_o+tagaru_o+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_o+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char renyou8[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_o+tagaru_o+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_o+itadaku_o+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_o+gozai_x+sa1_x+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_o+naru_x+nasai_o+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sa5renyou1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sa5renyou3[] = { - wo_x+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_o+nagara2_o+wo_s_o, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sa5renyou4[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_o+tagaru_o+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_o+itadaku_o+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_o+gozai_x+sa1_o+si1_o+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_o+naru_x+nasai_o+nasaru_x+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char krenyou[] = { - wo_x+ttatte_o+ttara_x+tte1_x+tte2_o+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_o+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_o+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_o+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char drenyou1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_o+ari2_x+ari3_x+are1_o+are2_x, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_o+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char drenyou2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_o+okeru_o+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_o+tuki_o+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_o, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_o+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_o+naru_o+nasai_o+nasaru_o+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char drenyou3[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_o+naru_o+nasai_o+nasaru_o+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char onbin1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - - -static unsigned char onbin2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char onbin3[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_o+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_o+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_o+jimau_o+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char deshi[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char axtu[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char onbin6[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char onbin8[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ari1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_o+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_o+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ari2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_o+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ari3[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_o+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char iki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char itasi[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char itadaki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_o+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ori2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gataku[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_o+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_o+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_o+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_o+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char fzkki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char deha[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kudasai[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_o+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gozai[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_o+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gotoku[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char beku[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char soude[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_x+ari3_o+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char souni[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tagari[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char taku[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_o+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_o+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_o+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char de[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_o+ari2_x+ari3_x+are1_o+are2_x, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_o+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char naide[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_o+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_o+iru_o+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_o+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char naku[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_o+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_o+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nasai[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char fuuni[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_o+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_o+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char yori2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char rashuu[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_o+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dshuusi1[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_o+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_o+wake_x, - wane_o+wayo_o+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_o+kke_o+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dshuusi2[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gotosi[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char besi[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char zu[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char souda[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_o+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_o+wake_x, - wane_o+wayo_o+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mai[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mitaida[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_o+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char shuusi[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_o+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_o+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_x, - koto_o+sa2_o+sae_x+si2_o+sika_o+sura_x+zutu_x+zo_o, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_o+toki_o+tokoro_o+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_o+nominrz_o+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_o+mama_o+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_o+yara_o+yue_o+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_x+wo_s_x, - ze_o+kke_x+n_si_x+deha_o, - - gotosi_o+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_o+desu_x+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_o+mai_o+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kshuusi[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_o, - koto_o+sa2_o+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_o+tokoro_o+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_x+no1_x+no2_o+node_o+noni_o, - nomi_o+nominrz_o+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_o+mama_o+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_x+wo_s_x, - ze_o+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_o+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char zaru[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_o+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_o+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_o+tokoro_o+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_o+hodo_x+made_o+mama_o+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char soudesu[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_o+wake_x, - wane_o+wayo_o+nn1_o+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ta[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_o+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_o+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_x, - koto_o+sa2_o+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_o+tokoro_o+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_o+nominrz_o+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_o+mama_o+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_x+wo_s_x, - ze_o+kke_o+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tai[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_x, - koto_o+sa2_o+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_o+tokoro_o+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char desu[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_x+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_o+yori_x+wa_o+wake_x, - wane_o+wayo_x+nn1_o+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nai[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_x, - koto_o+sa2_o+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_o+tokoro_o+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_o+mama_o+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_o+wo_s_x, - ze_o+kke_o+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nu[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_o+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_o+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_x+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_x+desu_x+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_o+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char masu[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_o+ka1_x+ka2_o+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_o+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_o+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_o+hodo_o+made_o+mama_o+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_o+yara_o+yue_x+yo_o+yori_o+wa_o+wake_x, - wane_o+wayo_o+nn1_o+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_o+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_o+masu_x+masure_x, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nn2[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_o+kurai_x+gurumi_x+kedo_o+koso_x, - koto_o+sa2_x+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_o+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_x+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_o+desi_o+desho_o+desu_x+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char rasii[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_o+koso_x, - koto_o+sa2_o+sae_x+si2_o+sika_x+sura_x+zutu_x+zo_o, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_o+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_o+wake_x, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_o+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char drentai1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_o+kuseni_o+kurai_o+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_o+tokoro_o+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_o+node_o+noni_o, - nomi_o+nominrz_o+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_o+mama_o+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_o+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_o+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char drentai2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char drentai3[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char krentai[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_o+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_o+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_o, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gotoki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_o+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_o+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_o, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char beki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_o+tokoro_o+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char souna1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char souna2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_o+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_o+hodo_o+made_o+mama_o+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_o+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char na2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_o+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char katei1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char katei2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_o, - doori_x+dokoro_x+dokoroka_x+domo_o+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char katei3[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kamei[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_o, - doori_x+dokoro_x+dokoroka_x+domo_o+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ike[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_o, - doori_x+dokoro_x+dokoroka_x+domo_o+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_o+zunba_o+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kure[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_o+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_o, - doori_x+dokoro_x+dokoroka_x+domo_o+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_o+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_o+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_o+ne2_o+nn2_x+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char meirei1[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char meirei2[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dgokan[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_o+desho_o+desu_o+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_o+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_o - }; - -static unsigned char kgokan[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_o+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_o+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_o - }; - -static unsigned char sgokan[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gati[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_x+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_o+desho_o+desu_o+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char jya[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sou[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mitai[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char yotte[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char you2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sho[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char meisi[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_o+kuseni_x+kurai_o+gurumi_o+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_o+zo_o, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_o+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_o+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_o+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char wo_meisi[] = { - wo_x+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_o+kuseni_x+kurai_o+gurumi_o+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_o+zo_o, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_o+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_o+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_o, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_o+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dmeisi[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_o+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_o+zo_o, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_o+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_o+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_o+desho_o+desu_o+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_o - }; - -static unsigned char smeisi1[] = { - wo_x+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_o+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_o+gurumi_o+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_o+zo_o, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_o+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_o, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_o+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_o+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_o+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char smeisi2[] = { - wo_x+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_o+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_o+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_o+zo_o, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_o+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_o, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_o+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_o+itadaku_o+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_o+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_o+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kstb[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_o+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_o+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ichisetubi[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_o+ppoi_o+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_x+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_o+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_o+zaru_o+zu_o+zunba_o+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_o+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_o, - nu_o+ne2_o+nn2_o+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_o+you_o+youda_x+rasii_o+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_o+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char josuusi[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_o+kuseni_x+kurai_o+gurumi_o+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_o+zo_o, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_o+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_o, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_o+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char rentaisi[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_o+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_o+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_o+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_o+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char cut[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char shuujo[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char wo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_o+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char wo_s[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_x, - katagata_x+kadouka_x+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_o+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_o+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ttatte[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ttara[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tte1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tte2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ppanasi[] = { - wo_o+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ppoi[] = { - wo_x+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_x, - koto_o+sa2_o+sae_x+si2_o+sika_o+sura_x+zutu_x+zo_o, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_o+tokoro_o+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_o+nominrz_o+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_o+desho_o+desu_o+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ue[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char uti[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char oite[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char okeru[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ori[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ka1[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_x+he_o+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - - -static unsigned char ka2[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char katagata[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kadouka[] = { - wo_o+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kamo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kara1[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_x+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kara2[] = { - wo_x+ttatte_o+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ga1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_o+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ga2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_o+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gatera[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kiri[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_o+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kuseni[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kurai[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_o+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char gurumi[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kedo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char koso[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char koto[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_o, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_o+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_o, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sae[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char si2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sika[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char sura[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char zutu[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_o+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tame[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_x+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_x+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tari[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_o+naru_x+nasai_o+nasaru_o+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dake[] = { - wo_o+ttatte_o+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dano[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_o+desi_o+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - - -static unsigned char darake[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_o+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tuite[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_x+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tuki[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tutu[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_x+ari3_o+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tumori[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char te1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char te2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_o+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_o+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_o+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_o+itasi_x+itadaku_o+iru_o+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_o+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_o+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char teru[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_o, - uti_o+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_o+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_x, - koto_o+sa2_o+sae_x+si2_o+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_o+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_o+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_o+ba_x+bakari_o+he_x+hou_o, - hoka_o+hodo_o+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_o+wake_o, - wane_o+wayo_o+nn1_o+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_x, - denbun_o+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_o+de_x+desi_x+desho_o+desu_x+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char to1[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_x+desi_o+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char to2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_x+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char totte[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char toiu[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_o+kana_x+kane_x+kamo_x+kara1_x+kara2_o+ga1_x, - ga2_o+gatera_x+kiri_x+kuseni_o+kurai_o+gurumi_x+kedo_o+koso_x, - koto_o+sa2_x+sae_x+si2_o+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_o, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_o, - nite_x+nimo_o+ne1_x+nee_x+no1_x+no2_o+node_o+noni_o, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_o+hodo_o+made_o+mama_x+mo1_x+mo2_x+motte_x+mono_o, - ya1_x+ya2_x+yara_x+yue_o+yo_x+yori_x+wa_x+wake_o, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char toori[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char toki[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tokoro[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tote[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tohaie[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char tomo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char fdo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char doori[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dokoro[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char dokoroka[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char domo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nagara[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_x+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nagara2[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_x+yue_o+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nazo[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_o+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nado[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nari[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_o+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nanka[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_o, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_o+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nanzo[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_o+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nante[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ni1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_o+okeru_o+ori_x+ka1_x+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_o+tuki_o+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_o, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_o+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_o+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_o+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_x+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_o - }; - -static unsigned char ni2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ni3[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_o, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nite[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nimo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char no1[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_o+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_o+kurai_o+gurumi_x+kedo_x+koso_o, - koto_o+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_o+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_o+tokoro_o+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_o+mo1_o+mo2_x+motte_x+mono_o, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_o+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_o+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char no2[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_x+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char node[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_x+ari1_x+ari2_x+ari3_o+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char noni[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nomi[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_o+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nominrz[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ha[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_x+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char hazu[] = { - wo_x+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ba[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_o+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char bakari[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_o+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_o+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_o+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_o+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char he[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char hou[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char hoka[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char hodo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char made[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_o, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_o+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_o+ara_x+ari1_x+ari2_o+ari3_x+are1_x+are2_o, - arou_o+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mama[] = { - wo_o+ttatte_x+ttara_o+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_o, - tame_x+dake_o+dano_o+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mo1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mo2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_o+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_o+sure_x+se_o+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char motte[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char mono[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_o+kara1_o+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_o+gurumi_x+kedo_x+koso_o, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_o, - tame_x+dake_o+dano_o+darake_o+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_o+dokoroka_o+domo_x+na1_o+naa_o+nagara_o+nazo_o, - nado_o+nari_o+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_o+nominrz_o+ha_o+hazu_x+ba_x+bakari_o+he_o+hou_x, - hoka_x+hodo_o+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_o+ya2_x+yara_o+yue_x+yo_o+yori_o+wa_x+wake_x, - wane_o+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_o+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ya1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char ya2[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char yara[] = { - wo_o+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_o+sura_x+zutu_x+zo_x, - tame_x+dake_o+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_o+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_o+hou_x, - hoka_x+hodo_x+made_o+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_o+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char yue[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char yori1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char wake[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_o+kai_x+kasira_o, - katagata_x+kadouka_o+kana_o+kane_o+kamo_x+kara1_x+kara2_x+ga1_o, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_o+to2_x+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_o+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_o+ni2_x+ni3_x, - nite_x+nimo_x+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char nn1[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_x+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char aisatu[] = { - wo_o+ttatte_x+ttara_x+tte1_o+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_o+totte_x, - toiu_o+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_o, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_o+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char kosodo[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_o+ka2_x+kai_x+kasira_o, - katagata_x+kadouka_x+kana_o+kane_x+kamo_o+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_o+sae_o+si2_x+sika_o+sura_o+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_o, - nado_o+nari_x+nanka_o+nanzo_o+nante_o+ni1_x+ni2_x+ni3_x, - nite_x+nimo_o+ne1_o+nee_o+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_o+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_o+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_o+daxtu_o, - darou_o+de_o+desi_o+desho_o+desu_o+na2_o+nara_o+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_o+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_o+si1_o+siro_o, - jyau_x+jimau_x+sugiru_x+subesi_o+suru_o+sure_o+se_o+seyo_o, - tamau_x+tayu_x+timau_x+dekiru_o+naru_o+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char site[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_x+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_x+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_x+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_x+tumori_x, - te1_x+te2_x+teru_x+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_x+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_x+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_o+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_o+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_x+nagara2_x+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_x+youtai_x, - denbun_x+ta_x+tai_x+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_x, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_x+masu_x+masure_x, - mase_x+mitaida_x+you_x+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_x+itasi_x+itadaku_x+iru_x+eru_x+kakeru_x+kaneru_x, - karazu_x+gatai_x+gatida_x+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_x+timau_x+dekiru_x+naru_x+nasai_x+nasaru_x+nikui_x, - yasui_x+yoi_x+yaru_x+ttarasii_x - }; - -static unsigned char n_si[] = { - wo_x+ttatte_x+ttara_x+tte1_x+tte2_x+ppanasi_o+ppoi_x+ue_x, - uti_x+oite_x+okeru_x+ori_x+ka1_x+ka2_x+kai_x+kasira_x, - katagata_x+kadouka_x+kana_x+kane_x+kamo_x+kara1_x+kara2_x+ga1_x, - ga2_x+gatera_o+kiri_x+kuseni_x+kurai_x+gurumi_x+kedo_x+koso_x, - koto_x+sa2_x+sae_o+si2_x+sika_x+sura_x+zutu_x+zo_x, - tame_x+dake_x+dano_x+darake_x+tuite_x+tuki_x+tutu_o+tumori_x, - te1_x+te2_o+teru_o+dearou_x+deru_x+to1_x+to2_x+totte_x, - toiu_x+toori_x+toki_x+tokoro_x+tote_x+tohaie_x+tomo_x+do_x, - doori_x+dokoro_x+dokoroka_x+domo_x+na1_o+naa_x+nagara_x+nazo_x, - nado_x+nari_x+nanka_x+nanzo_x+nante_x+ni1_x+ni2_o+ni3_x, - nite_x+nimo_x+ne1_x+nee_x+no1_x+no2_x+node_x+noni_x, - nomi_x+nominrz_x+ha_x+hazu_x+ba_x+bakari_x+he_x+hou_x, - hoka_x+hodo_x+made_x+mama_x+mo1_x+mo2_x+motte_x+mono_x, - ya1_x+ya2_x+yara_x+yue_x+yo_x+yori_x+wa_x+wake_x, - wane_x+wayo_x+nn1_x+jya_x+tya_o+nagara2_o+wo_s_x, - ze_x+kke_x+n_si_x+deha_x, - - gotosi_x+saseru_x+zaru_x+zu_x+zunba_x+seru_x+souda_o+youtai_o, - denbun_x+ta_o+tai_o+tagaru_x+taru_x+da1_x+da2_x+daxtu_x, - darou_x+de_x+desi_x+desho_x+desu_x+na2_x+nara_x+nai_o, - nu_x+ne2_x+nn2_x+fuuda_x+besi_x+mai_o+masu_o+masure_o, - mase_x+mitaida_x+you_o+youda_x+rasii_x+rareru_x+reru_x+site_x, - - yougen_x+aru_x+ara_x+ari1_x+ari2_x+ari3_x+are1_x+are2_x, - arou_x+ii_o+itasi_x+itadaku_x+iru_x+eru_x+kakeru_o+kaneru_o, - karazu_x+gatai_o+gatida_o+kudasaru_x+gozai_x+sa1_x+si1_x+siro_x, - jyau_x+jimau_x+sugiru_x+subesi_x+suru_x+sure_x+se_x+seyo_x, - tamau_x+tayu_o+timau_x+dekiru_x+naru_x+nasai_o+nasaru_o+nikui_o, - yasui_o+yoi_x+yaru_x+ttarasii_x - }; - -unsigned char connadr[] = { - 0, - R_MEISI, - R_MEISI, - R_MEISI, - R_MEISI, - 0, - 0, - 0, - 0, - 0, - 0, - R_MEISI, - - R_DAIMEISI, - R_DAIMEISI, - R_WO_MEISI, - 0, - 0, - R_DAIMEISI6, - - 0, - 0, - 0, - - R_MEISI, - R_MEISI, - R_MEISI, - R_MEISI, - R_MEISI, - R_RENTAISI, - R_SETUZOKU, - R_KANDOU, - R_JOSUUSI, - R_SUUSI, - - R_SETTOU, - R_SETTOU, - R_SETTOU, - R_SETTOU, - R_SETTOU, - - R_MEISI, - R_MEISI, - R_MEISI, - R_MEISI, - 0, - 0, - 0, - 0, - R_MEISI, - - R_FUKUSI, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - R_JOSUUSI, - - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - R_MIZEN1, - R_MIZEN2, - R_SI1, - R_SHUUSI, - R_KATEI2, - R_MEIREI1, - R_MEIREI2, - R_KO, - R_KI, - R_SHUUSI, - R_KATEI2, - R_MEIREI1, - R_KUDASAI, - R_GOZAI, - R_ONBIN2, - R_KOSODO, - R_AISATU, - R_KSHUUSI, - R_TANKAN, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - R_MEISI - }; - -unsigned char *rigtadr[] = { - 0, - de, - wo, - kara1, - ga1, - to1, - ni1, - no1, - ha, - he, - mo1, - ya1, - yori1, - sae, - sika, - dake, - i, - e, - kake, - kane2, - sugi, - deki, - mi, - sase, - rare, - itadake, - exp, - renyou1, - renyou5, - sa5renyou1, - renyou3, - renyou7, - sa5renyou3, - renyou4, - renyou8, - sa5renyou4, - 0, - 0, - 0, - krenyou, - drenyou1, - drenyou2, - drenyou3, - onbin1, - onbin2, - onbin3, - deshi, - axtu, - onbin6, - onbin8, - ari1, - ari2, - ari3, - iki, - itasi, - itadaki, - ori2, - gataku, - ki, - kudasai, - gozai, - gotoku, - beku, - soude, - souni, - tagari, - taku, - mizen1, - naide, - naku, - nasai, - fuuni, - yori2, - rashuu, - dshuusi1, - dshuusi2, - gotosi, - besi, - zu, - souda, - mai, - mitaida, - shuusi, - kshuusi, - zaru, - soudesu, - ta, - tai, - desu, - nai, - nu, - masu, - nn2, - rasii, - drentai1, - drentai2, - drentai3, - krentai, - gotoki, - beki, - souna1, - souna2, - na2, - katei1, - katei2, - katei3, - kamei, - ike, - kure, - meirei1, - meirei2, - dgokan, - kgokan, - sgokan, - gati, - jya, - sou, - mitai, - yotte, - you2, - sho, - meisi, - aisatu, - kosodo, - you1, - si1, - meisi, - meisi, - fzkki, - deha, - nagara2, - wo_s, - wo_meisi, - site, - n_si, - cut, - 0, - cut, - 0, 0, - mizen2, - mizen3, - mizen4, - si1, - ji, - age, - mizen5, - arou, - karou, - darou, - deshou, - ko, - bekara, - tagara, - shuujo, - ttatte, - ttara, - tte1, - tte2, - ppanasi, - ppoi, - ue, - uti, - oite, - okeru, - ori, - ka1, - ka2, - katagata, - kadouka, - kamo, - kara2, - ga2, - gatera, - kiri, - kuseni, - kurai, - gurumi, - kedo, - koso, - koto, - si2, - sura, - zutu, - tame, - tari, - dano, - darake, - tuite, - tuki, - tutu, - tumori, - te1, - te2, - teru, - to2, - totte, - toiu, - toori, - toki, - tokoro, - tote, - tohaie, - tomo, - fdo, - doori, - dokoro, - dokoroka, - domo, - nagara, - nazo, - nado, - nari, - nanka, - nanzo, - nante, - ni2, - ni3, - nite, - nimo, - no2, - node, - noni, - nomi, - nominrz, - hazu, - ba, - bakari, - hou, - hoka, - hodo, - made, - mama, - mo2, - motte, - mono, - ya2, - yara, - yue, - wake, - nn1, - josuusi, - cut, - cut, - cut, - cut, - cut, - meisi, - dmeisi, - smeisi1, - smeisi2, - kstb, - ichisetubi, - josuusi, - rentaisi, - cut - }; +static unsigned char mizen1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_o + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_o + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mizen2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mizen3[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_o + ne2_o + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mizen4[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mizen5[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_o + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_o + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char arou[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_o, + katagata_x + kadouka_x + kana_o + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_o + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_o + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char you1[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_o, + katagata_x + kadouka_x + kana_o + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_o + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_o + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char karou[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char darou[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_o + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char deshou[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_o + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ko[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_x + zu_x + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_o + reru_o + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char bekara[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tagara[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_x + seru_o + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char si1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_o + kaneru_o, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ji[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_o + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_x + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_o + kaneru_o, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_x + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_o, + yasui_o + yoi_o + yaru_x + ttarasii_x}; + +static unsigned char age[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_o + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char i[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_o + zu_o + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_x + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char e[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_o + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kake[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_o + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kane2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_o + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sugi[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_o + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_x + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char deki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mi[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_x + zu_o + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sase[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char rare[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_o + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char itadake[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_o + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char exp[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_o, + doori_x + dokoro_x + dokoroka_x + domo_o + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_o + zu_o + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char renyou1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_o + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_o + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_o + reru_o + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char renyou3[] = { + wo_x + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_o + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_o + nagara2_o + wo_s_o, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_o + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_o + you_o + youda_x + rasii_o + rareru_o + reru_o + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char renyou4[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_o + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_o + zu_o + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_o + tagaru_o + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_o + itadaku_o + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_o + gozai_x + sa1_o + si1_o + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_o + naru_x + nasai_o + nasaru_o + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char renyou5[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_o + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char renyou7[] = { + wo_x + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_o + wo_s_o, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_o + tagaru_o + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_o + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char renyou8[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_o + tagaru_o + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_o + itadaku_o + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_o + gozai_x + sa1_x + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_o + naru_x + nasai_o + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sa5renyou1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sa5renyou3[] = { + wo_x + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_o + nagara2_o + wo_s_o, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sa5renyou4[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_o + tagaru_o + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_o + itadaku_o + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_o + gozai_x + sa1_o + si1_o + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_o + naru_x + nasai_o + nasaru_x + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char krenyou[] = { + wo_x + ttatte_o + ttara_x + tte1_x + tte2_o + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_o + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_o + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_o + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char drenyou1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_o + ari2_x + ari3_x + are1_o + are2_x, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_o + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char drenyou2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_o + okeru_o + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_o + tuki_o + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_o, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_o + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_o + naru_o + nasai_o + nasaru_o + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char drenyou3[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_o + naru_o + nasai_o + nasaru_o + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char onbin1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char onbin2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char onbin3[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_o + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_o + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_o + jimau_o + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char deshi[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char axtu[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char onbin6[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char onbin8[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ari1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_o + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_o + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ari2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_o + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ari3[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_o + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char iki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char itasi[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char itadaki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_o + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ori2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gataku[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_o + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_o + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_o + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_o + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char fzkki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char deha[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kudasai[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_o + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gozai[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_o + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gotoku[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char beku[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char soude[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_x + ari3_o + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char souni[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tagari[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char taku[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_o + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_o + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_o + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char de[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_o + ari2_x + ari3_x + are1_o + are2_x, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_o + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char naide[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_o + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_o + iru_o + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_o + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char naku[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_o + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_o + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nasai[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char fuuni[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_o + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_o + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char yori2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char rashuu[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_o + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dshuusi1[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_o + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_o + wake_x, + wane_o + wayo_o + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_o + kke_o + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dshuusi2[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gotosi[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char besi[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char zu[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char souda[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_o + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_o + wake_x, + wane_o + wayo_o + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mai[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mitaida[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_o + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char shuusi[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_o + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_o + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_x, + koto_o + sa2_o + sae_x + si2_o + sika_o + sura_x + zutu_x + zo_o, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_o + toki_o + tokoro_o + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_o + nominrz_o + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_o + mama_o + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_o + yara_o + yue_o + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_x + wo_s_x, + ze_o + kke_x + n_si_x + deha_o, + + gotosi_o + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_o + desu_x + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_o + mai_o + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kshuusi[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_o, + koto_o + sa2_o + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_o + tokoro_o + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_x + no1_x + no2_o + node_o + noni_o, + nomi_o + nominrz_o + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_o + mama_o + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_x + wo_s_x, + ze_o + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_o + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char zaru[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_o + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_o + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_o + tokoro_o + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_o + hodo_x + made_o + mama_o + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char soudesu[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_o + wake_x, + wane_o + wayo_o + nn1_o + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ta[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_o + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_o + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_x, + koto_o + sa2_o + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_o + tokoro_o + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_o + nominrz_o + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_o + mama_o + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_x + wo_s_x, + ze_o + kke_o + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tai[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_x, + koto_o + sa2_o + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_o + tokoro_o + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char desu[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_x + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_o + yori_x + wa_o + wake_x, + wane_o + wayo_x + nn1_o + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nai[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_x, + koto_o + sa2_o + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_o + tokoro_o + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_o + mama_o + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_o + wo_s_x, + ze_o + kke_o + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nu[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_o + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_o + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_x + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_x + desu_x + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_o + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char masu[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_o + ka1_x + ka2_o + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_o + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_o + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_o + hodo_o + made_o + mama_o + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_o + yara_o + yue_x + yo_o + yori_o + wa_o + wake_x, + wane_o + wayo_o + nn1_o + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_o + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_o + masu_x + masure_x, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nn2[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_o + kurai_x + gurumi_x + kedo_o + koso_x, + koto_o + sa2_x + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_o + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_x + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_o + desi_o + desho_o + desu_x + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char rasii[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_o + koso_x, + koto_o + sa2_o + sae_x + si2_o + sika_x + sura_x + zutu_x + zo_o, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_o + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_o + wake_x, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_o + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char drentai1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_o + kuseni_o + kurai_o + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_o + tokoro_o + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_o + node_o + noni_o, + nomi_o + nominrz_o + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_o + mama_o + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_o + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_o + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char drentai2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char drentai3[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char krentai[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_o + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_o + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_o, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gotoki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_o + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_o + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_o, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char beki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_o + tokoro_o + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char souna1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char souna2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_o + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_o + hodo_o + made_o + mama_o + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_o + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char na2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_o + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char katei1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char katei2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_o, + doori_x + dokoro_x + dokoroka_x + domo_o + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char katei3[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kamei[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_o, + doori_x + dokoro_x + dokoroka_x + domo_o + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ike[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_o, + doori_x + dokoro_x + dokoroka_x + domo_o + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_o + zunba_o + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kure[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_o + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_o, + doori_x + dokoro_x + dokoroka_x + domo_o + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_o + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_o + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_o + ne2_o + nn2_x + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char meirei1[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char meirei2[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dgokan[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_o + desho_o + desu_o + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_o + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_o}; + +static unsigned char kgokan[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_o + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_o + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_o}; + +static unsigned char sgokan[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gati[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_x + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_o + desho_o + desu_o + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char jya[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sou[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mitai[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char yotte[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char you2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sho[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char meisi[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_o + kuseni_x + kurai_o + gurumi_o + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_o + zo_o, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_o + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_o + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_o + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char wo_meisi[] = { + wo_x + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_o + kuseni_x + kurai_o + gurumi_o + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_o + zo_o, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_o + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_o + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_o, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_o + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dmeisi[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_o + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_o + zo_o, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_o + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_o + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_o + desho_o + desu_o + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_o}; + +static unsigned char smeisi1[] = { + wo_x + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_o + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_o + gurumi_o + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_o + zo_o, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_o + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_o, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_o + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_o + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_o + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char smeisi2[] = { + wo_x + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_o + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_o + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_o + zo_o, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_o + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_o, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_o + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_o + itadaku_o + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_o + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_o + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kstb[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_o + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_o + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ichisetubi[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_o + ppoi_o + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_x + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_o + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_o + zaru_o + zu_o + zunba_o + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_o + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_o, + nu_o + ne2_o + nn2_o + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_o + you_o + youda_x + rasii_o + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_o + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char josuusi[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_o + kuseni_x + kurai_o + gurumi_o + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_o + zo_o, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_o + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_o, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_o + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char rentaisi[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_o + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_o + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_o + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_o + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char cut[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char shuujo[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char wo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_o + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char wo_s[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_x, + katagata_x + kadouka_x + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_o + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_o + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ttatte[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ttara[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tte1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tte2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ppanasi[] = { + wo_o + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ppoi[] = { + wo_x + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_x, + koto_o + sa2_o + sae_x + si2_o + sika_o + sura_x + zutu_x + zo_o, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_o + tokoro_o + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_o + nominrz_o + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_o + desho_o + desu_o + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ue[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char uti[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char oite[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char okeru[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ori[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ka1[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_x + he_o + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ka2[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char katagata[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kadouka[] = { + wo_o + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kamo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kara1[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_x + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kara2[] = { + wo_x + ttatte_o + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ga1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_o + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ga2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_o + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gatera[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kiri[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_o + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kuseni[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kurai[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_o + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char gurumi[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kedo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char koso[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char koto[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_o, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_o + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_o, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sae[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char si2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sika[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char sura[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char zutu[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_o + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tame[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_x + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_x + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tari[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_o + naru_x + nasai_o + nasaru_o + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dake[] = { + wo_o + ttatte_o + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dano[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_o + desi_o + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char darake[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_o + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tuite[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_x + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tuki[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tutu[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_x + ari3_o + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tumori[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char te1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char te2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_o + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_o + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_o + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_o + itasi_x + itadaku_o + iru_o + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_o + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_o + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char teru[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_o, + uti_o + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_o + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_x, + koto_o + sa2_o + sae_x + si2_o + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_o + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_o + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_o + ba_x + bakari_o + he_x + hou_o, + hoka_o + hodo_o + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_o + wake_o, + wane_o + wayo_o + nn1_o + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_x, + denbun_o + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_o + de_x + desi_x + desho_o + desu_x + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char to1[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_x + desi_o + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char to2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_x + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char totte[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char toiu[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_o + kana_x + kane_x + kamo_x + kara1_x + kara2_o + ga1_x, + ga2_o + gatera_x + kiri_x + kuseni_o + kurai_o + gurumi_x + kedo_o + koso_x, + koto_o + sa2_x + sae_x + si2_o + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_o, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_o, + nite_x + nimo_o + ne1_x + nee_x + no1_x + no2_o + node_o + noni_o, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_o + hodo_o + made_o + mama_x + mo1_x + mo2_x + motte_x + mono_o, + ya1_x + ya2_x + yara_x + yue_o + yo_x + yori_x + wa_x + wake_o, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char toori[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char toki[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tokoro[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tote[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tohaie[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char tomo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char fdo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char doori[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dokoro[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char dokoroka[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char domo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nagara[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_x + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nagara2[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_x + yue_o + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nazo[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_o + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nado[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nari[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_o + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nanka[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_o, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_o + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nanzo[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_o + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nante[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ni1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_o + okeru_o + ori_x + ka1_x + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_o + tuki_o + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_o, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_o + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_o + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_o + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_x + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_o}; + +static unsigned char ni2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ni3[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_o, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nite[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nimo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char no1[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_o + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_o + kurai_o + gurumi_x + kedo_x + koso_o, + koto_o + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_o + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_o + tokoro_o + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_o + mo1_o + mo2_x + motte_x + mono_o, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_o + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_o + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char no2[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_x + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char node[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_x + ari1_x + ari2_x + ari3_o + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char noni[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nomi[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_o + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nominrz[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ha[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_x + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char hazu[] = { + wo_x + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ba[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_o + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char bakari[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_o + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_o + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_o + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_o + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char he[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char hou[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char hoka[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char hodo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char made[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_o, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_o + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_o + ara_x + ari1_x + ari2_o + ari3_x + are1_x + are2_o, + arou_o + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mama[] = { + wo_o + ttatte_x + ttara_o + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_o, + tame_x + dake_o + dano_o + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mo1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mo2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_o + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_o + sure_x + se_o + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char motte[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char mono[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_o + kara1_o + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_o + gurumi_x + kedo_x + koso_o, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_o, + tame_x + dake_o + dano_o + darake_o + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_o + dokoroka_o + domo_x + na1_o + naa_o + nagara_o + nazo_o, + nado_o + nari_o + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_o + nominrz_o + ha_o + hazu_x + ba_x + bakari_o + he_o + hou_x, + hoka_x + hodo_o + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_o + ya2_x + yara_o + yue_x + yo_o + yori_o + wa_x + wake_x, + wane_o + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_o + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ya1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char ya2[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char yara[] = { + wo_o + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_o + sura_x + zutu_x + zo_x, + tame_x + dake_o + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_o + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_o + hou_x, + hoka_x + hodo_x + made_o + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_o + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char yue[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char yori1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char wake[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_o + kai_x + kasira_o, + katagata_x + kadouka_o + kana_o + kane_o + kamo_x + kara1_x + kara2_x + ga1_o, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_o + to2_x + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_o + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_o + ni2_x + ni3_x, + nite_x + nimo_x + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char nn1[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_x + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char aisatu[] = { + wo_o + ttatte_x + ttara_x + tte1_o + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_o + totte_x, + toiu_o + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_o, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_o + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char kosodo[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_o + ka2_x + kai_x + kasira_o, + katagata_x + kadouka_x + kana_o + kane_x + kamo_o + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_o + sae_o + si2_x + sika_o + sura_o + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_o, + nado_o + nari_x + nanka_o + nanzo_o + nante_o + ni1_x + ni2_x + ni3_x, + nite_x + nimo_o + ne1_o + nee_o + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_o + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_o + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_o + daxtu_o, + darou_o + de_o + desi_o + desho_o + desu_o + na2_o + nara_o + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_o + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_o + si1_o + siro_o, + jyau_x + jimau_x + sugiru_x + subesi_o + suru_o + sure_o + se_o + seyo_o, + tamau_x + tayu_x + timau_x + dekiru_o + naru_o + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char site[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_x + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_x + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_x + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_x + tumori_x, + te1_x + te2_x + teru_x + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_x + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_x + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_o + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_o + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_x + nagara2_x + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_x + youtai_x, + denbun_x + ta_x + tai_x + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_x, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_x + masu_x + masure_x, + mase_x + mitaida_x + you_x + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_x + itasi_x + itadaku_x + iru_x + eru_x + kakeru_x + kaneru_x, + karazu_x + gatai_x + gatida_x + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_x + timau_x + dekiru_x + naru_x + nasai_x + nasaru_x + nikui_x, + yasui_x + yoi_x + yaru_x + ttarasii_x}; + +static unsigned char n_si[] = { + wo_x + ttatte_x + ttara_x + tte1_x + tte2_x + ppanasi_o + ppoi_x + ue_x, + uti_x + oite_x + okeru_x + ori_x + ka1_x + ka2_x + kai_x + kasira_x, + katagata_x + kadouka_x + kana_x + kane_x + kamo_x + kara1_x + kara2_x + ga1_x, + ga2_x + gatera_o + kiri_x + kuseni_x + kurai_x + gurumi_x + kedo_x + koso_x, + koto_x + sa2_x + sae_o + si2_x + sika_x + sura_x + zutu_x + zo_x, + tame_x + dake_x + dano_x + darake_x + tuite_x + tuki_x + tutu_o + tumori_x, + te1_x + te2_o + teru_o + dearou_x + deru_x + to1_x + to2_x + totte_x, + toiu_x + toori_x + toki_x + tokoro_x + tote_x + tohaie_x + tomo_x + do_x, + doori_x + dokoro_x + dokoroka_x + domo_x + na1_o + naa_x + nagara_x + nazo_x, + nado_x + nari_x + nanka_x + nanzo_x + nante_x + ni1_x + ni2_o + ni3_x, + nite_x + nimo_x + ne1_x + nee_x + no1_x + no2_x + node_x + noni_x, + nomi_x + nominrz_x + ha_x + hazu_x + ba_x + bakari_x + he_x + hou_x, + hoka_x + hodo_x + made_x + mama_x + mo1_x + mo2_x + motte_x + mono_x, + ya1_x + ya2_x + yara_x + yue_x + yo_x + yori_x + wa_x + wake_x, + wane_x + wayo_x + nn1_x + jya_x + tya_o + nagara2_o + wo_s_x, + ze_x + kke_x + n_si_x + deha_x, + + gotosi_x + saseru_x + zaru_x + zu_x + zunba_x + seru_x + souda_o + youtai_o, + denbun_x + ta_o + tai_o + tagaru_x + taru_x + da1_x + da2_x + daxtu_x, + darou_x + de_x + desi_x + desho_x + desu_x + na2_x + nara_x + nai_o, + nu_x + ne2_x + nn2_x + fuuda_x + besi_x + mai_o + masu_o + masure_o, + mase_x + mitaida_x + you_o + youda_x + rasii_x + rareru_x + reru_x + site_x, + + yougen_x + aru_x + ara_x + ari1_x + ari2_x + ari3_x + are1_x + are2_x, + arou_x + ii_o + itasi_x + itadaku_x + iru_x + eru_x + kakeru_o + kaneru_o, + karazu_x + gatai_o + gatida_o + kudasaru_x + gozai_x + sa1_x + si1_x + siro_x, + jyau_x + jimau_x + sugiru_x + subesi_x + suru_x + sure_x + se_x + seyo_x, + tamau_x + tayu_o + timau_x + dekiru_x + naru_x + nasai_o + nasaru_o + nikui_o, + yasui_o + yoi_x + yaru_x + ttarasii_x}; + +unsigned char connadr[] = { + 0, + R_MEISI, + R_MEISI, + R_MEISI, + R_MEISI, + 0, + 0, + 0, + 0, + 0, + 0, + R_MEISI, + + R_DAIMEISI, + R_DAIMEISI, + R_WO_MEISI, + 0, + 0, + R_DAIMEISI6, + + 0, + 0, + 0, + + R_MEISI, + R_MEISI, + R_MEISI, + R_MEISI, + R_MEISI, + R_RENTAISI, + R_SETUZOKU, + R_KANDOU, + R_JOSUUSI, + R_SUUSI, + + R_SETTOU, + R_SETTOU, + R_SETTOU, + R_SETTOU, + R_SETTOU, + + R_MEISI, + R_MEISI, + R_MEISI, + R_MEISI, + 0, + 0, + 0, + 0, + R_MEISI, + + R_FUKUSI, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + R_JOSUUSI, + + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + + R_MIZEN1, + R_MIZEN2, + R_SI1, + R_SHUUSI, + R_KATEI2, + R_MEIREI1, + R_MEIREI2, + R_KO, + R_KI, + R_SHUUSI, + R_KATEI2, + R_MEIREI1, + R_KUDASAI, + R_GOZAI, + R_ONBIN2, + R_KOSODO, + R_AISATU, + R_KSHUUSI, + R_TANKAN, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + R_MEISI}; + +unsigned char* rigtadr[] = { + 0, + de, + wo, + kara1, + ga1, + to1, + ni1, + no1, + ha, + he, + mo1, + ya1, + yori1, + sae, + sika, + dake, + i, + e, + kake, + kane2, + sugi, + deki, + mi, + sase, + rare, + itadake, + exp, + renyou1, + renyou5, + sa5renyou1, + renyou3, + renyou7, + sa5renyou3, + renyou4, + renyou8, + sa5renyou4, + 0, + 0, + 0, + krenyou, + drenyou1, + drenyou2, + drenyou3, + onbin1, + onbin2, + onbin3, + deshi, + axtu, + onbin6, + onbin8, + ari1, + ari2, + ari3, + iki, + itasi, + itadaki, + ori2, + gataku, + ki, + kudasai, + gozai, + gotoku, + beku, + soude, + souni, + tagari, + taku, + mizen1, + naide, + naku, + nasai, + fuuni, + yori2, + rashuu, + dshuusi1, + dshuusi2, + gotosi, + besi, + zu, + souda, + mai, + mitaida, + shuusi, + kshuusi, + zaru, + soudesu, + ta, + tai, + desu, + nai, + nu, + masu, + nn2, + rasii, + drentai1, + drentai2, + drentai3, + krentai, + gotoki, + beki, + souna1, + souna2, + na2, + katei1, + katei2, + katei3, + kamei, + ike, + kure, + meirei1, + meirei2, + dgokan, + kgokan, + sgokan, + gati, + jya, + sou, + mitai, + yotte, + you2, + sho, + meisi, + aisatu, + kosodo, + you1, + si1, + meisi, + meisi, + fzkki, + deha, + nagara2, + wo_s, + wo_meisi, + site, + n_si, + cut, + 0, + cut, + 0, 0, + mizen2, + mizen3, + mizen4, + si1, + ji, + age, + mizen5, + arou, + karou, + darou, + deshou, + ko, + bekara, + tagara, + shuujo, + ttatte, + ttara, + tte1, + tte2, + ppanasi, + ppoi, + ue, + uti, + oite, + okeru, + ori, + ka1, + ka2, + katagata, + kadouka, + kamo, + kara2, + ga2, + gatera, + kiri, + kuseni, + kurai, + gurumi, + kedo, + koso, + koto, + si2, + sura, + zutu, + tame, + tari, + dano, + darake, + tuite, + tuki, + tutu, + tumori, + te1, + te2, + teru, + to2, + totte, + toiu, + toori, + toki, + tokoro, + tote, + tohaie, + tomo, + fdo, + doori, + dokoro, + dokoroka, + domo, + nagara, + nazo, + nado, + nari, + nanka, + nanzo, + nante, + ni2, + ni3, + nite, + nimo, + no2, + node, + noni, + nomi, + nominrz, + hazu, + ba, + bakari, + hou, + hoka, + hodo, + made, + mama, + mo2, + motte, + mono, + ya2, + yara, + yue, + wake, + nn1, + josuusi, + cut, + cut, + cut, + cut, + cut, + meisi, + dmeisi, + smeisi1, + smeisi2, + kstb, + ichisetubi, + josuusi, + rentaisi, + cut}; diff --git a/const.h b/const.h index 604d1a5..a97c0d0 100644 --- a/const.h +++ b/const.h @@ -34,224 +34,224 @@ #include "Paths.h" #include "sj_euc.h" -#define HostNameLen 128 -#define UserNameLen 128 -#define ProgNameLen 128 -#define PathNameLen 1024 -#define PassWordLen 16 +#define HostNameLen 128 +#define UserNameLen 128 +#define ProgNameLen 128 +#define PathNameLen 1024 +#define PassWordLen 16 -#define YomiBufSize 1024 -#define KanjiBufSize 2048 +#define YomiBufSize 1024 +#define KanjiBufSize 2048 -#define MinIdxLen 512 -#define MinSegLen 512 -#define MinSegNum 1 -#define MinStyNum 512 -#define MaxStyNum 0x7fff -#define MinClStep 1 -#define MaxClStep 256 -#define MinClLen 512 -#define MaxClLen 0x7fff +#define MinIdxLen 512 +#define MinSegLen 512 +#define MinSegNum 1 +#define MinStyNum 512 +#define MaxStyNum 0x7fff +#define MinClStep 1 +#define MaxClStep 256 +#define MinClLen 512 +#define MaxClLen 0x7fff -#define DebugOutFile ErrorOutFile -#define DebugLevel 0 -#define ForkFlag 1 -#define MaxClientNum 512 -#define LogOutFile ErrorOutFile -#define PortName "sj3" -#define PortNumber 3086 -#define DirectryMode 0755 -#define DictFileMode 0644 -#define MODE_MASK 0777 +#define DebugOutFile ErrorOutFile +#define DebugLevel 0 +#define ForkFlag 1 +#define MaxClientNum 512 +#define LogOutFile ErrorOutFile +#define PortName "sj3" +#define PortNumber 3086 +#define DirectryMode 0755 +#define DictFileMode 0644 +#define MODE_MASK 0777 -#define DefIdxLen 2048 -#define DefSegLen 2048 -#define DefSegNum 256 -#define DefStyNum 2048 -#define DefClStep 1 -#define DefClLen 2048 +#define DefIdxLen 2048 +#define DefSegLen 2048 +#define DefSegNum 256 +#define DefStyNum 2048 +#define DefClStep 1 +#define DefClLen 2048 -#define NotLocked -1 +#define NotLocked -1 -#define ERROR -1 +#define ERROR -1 -#ifndef FALSE -# define TRUE -1 -# define FALSE (!TRUE) +#ifndef FALSE +#define TRUE -1 +#define FALSE (!TRUE) #endif -#define MATCH 0 -#define OVER 1 -#define PARTLY 2 -#define CONT 3 -#define UNDER 4 +#define MATCH 0 +#define OVER 1 +#define PARTLY 2 +#define CONT 3 +#define UNDER 4 -#define AD_Done 0x0000 -#define AD_NotUserDict 0x0001 -#define AD_BadYomi 0x0002 -#define AD_BadKanji 0x0004 -#define AD_BadHinsi 0x0008 +#define AD_Done 0x0000 +#define AD_NotUserDict 0x0001 +#define AD_BadYomi 0x0002 +#define AD_BadKanji 0x0004 +#define AD_BadHinsi 0x0008 -#define AD_ArExist 0x0010 -#define AD_OvflwDouBlk 0x0020 -#define AD_OvflwDouNum 0x0040 -#define AD_OvflwUsrDic 0x0080 -#define AD_OvflwIndex 0x0100 +#define AD_ArExist 0x0010 +#define AD_OvflwDouBlk 0x0020 +#define AD_OvflwDouNum 0x0040 +#define AD_OvflwUsrDic 0x0080 +#define AD_OvflwIndex 0x0100 -#define AD_NoMidasi 0x0010 -#define AD_NoHinsi 0x0020 -#define AD_NoKanji 0x0040 +#define AD_NoMidasi 0x0010 +#define AD_NoHinsi 0x0020 +#define AD_NoKanji 0x0040 -#define C_WAKACHI 0x00 -#define C_MINASI 0x01 -#define C_BUNSETU 0x02 -#define C_DICT 0x03 -#define C_N_ARABIA 0x04 -#define C_N_ARACMA 0x05 -#define C_N_KAZU 0x06 -#define C_N_SUUJI 0x07 -#define C_N_NANSUU 0x08 -#define C_N_KANKURA 0x09 -#define C_N_ARAKURA 0x0a -#define C_N_KAZULONG 0x0b -#define C_N_KAZULCMA 0x0c -#define C_N_SUUJILONG 0x0d +#define C_WAKACHI 0x00 +#define C_MINASI 0x01 +#define C_BUNSETU 0x02 +#define C_DICT 0x03 +#define C_N_ARABIA 0x04 +#define C_N_ARACMA 0x05 +#define C_N_KAZU 0x06 +#define C_N_SUUJI 0x07 +#define C_N_NANSUU 0x08 +#define C_N_KANKURA 0x09 +#define C_N_ARAKURA 0x0a +#define C_N_KAZULONG 0x0b +#define C_N_KAZULCMA 0x0c +#define C_N_SUUJILONG 0x0d -#define JFLAG_N10 (1 << 15) -#define JFLAG_N_1 (1 << 14) -#define JFLAG_NS1 (1 << 13) -#define JFLAG_N01 (1 << 12) -#define JFLAG_N23 (1 << 11) -#define JFLAG_NK2 (1 << 10) -#define JFLAG_NK4 (1 << 9) -#define JFLAG_NN0 (1 << 8) -#define JFLAG_NSN (1 << 7) -#define JFLAG_KA (1 << 0) +#define JFLAG_N10 (1 << 15) +#define JFLAG_N_1 (1 << 14) +#define JFLAG_NS1 (1 << 13) +#define JFLAG_N01 (1 << 12) +#define JFLAG_N23 (1 << 11) +#define JFLAG_NK2 (1 << 10) +#define JFLAG_NK4 (1 << 9) +#define JFLAG_NN0 (1 << 8) +#define JFLAG_NSN (1 << 7) +#define JFLAG_KA (1 << 0) -#define DO_CLSTUDY 0x01 -#define DO_IKKATU 0x02 +#define DO_CLSTUDY 0x01 +#define DO_IKKATU 0x02 -#define K_DOUSHI 1 -#define K_YOUGEN 2 -#define K_TAIGEN 3 -#define K_FUKUSI 4 -#define K_RENTAISI 5 -#define K_SONOTA 6 +#define K_DOUSHI 1 +#define K_YOUGEN 2 +#define K_TAIGEN 3 +#define K_FUKUSI 4 +#define K_RENTAISI 5 +#define K_SONOTA 6 -#define EUC_a1 (unsigned char)0xa1 -#define EUC_a2 (unsigned char)0xa2 -#define EUC_a3 (unsigned char)0xa3 -#define EUC_a4 (unsigned char)0xa4 -#define EUC_a5 (unsigned char)0xa5 +#define EUC_a1 (unsigned char)0xa1 +#define EUC_a2 (unsigned char)0xa2 +#define EUC_a3 (unsigned char)0xa3 +#define EUC_a4 (unsigned char)0xa4 +#define EUC_a5 (unsigned char)0xa5 -#define EUC_START (unsigned char)0xa1 -#define EUC_END (unsigned char)0xfe -#define EUC_END_KIGOU (unsigned char)0xae -#define EUC_0 (unsigned char)0xb0 -#define EUC_END_0 (unsigned char)0xb9 -#define EUC_A (unsigned char)0xc1 -#define EUC_END_A (unsigned char)0xda -#define EUC_a (unsigned char)0xe1 -#define EUC_END_a (unsigned char)0xfa -#define EUC_END_HIRA (unsigned char)0xf3 -#define EUC_VU (unsigned char)0xf4 -#define EUC_XKA (unsigned char)0xf5 -#define EUC_XKE (unsigned char)0xf6 +#define EUC_START (unsigned char)0xa1 +#define EUC_END (unsigned char)0xfe +#define EUC_END_KIGOU (unsigned char)0xae +#define EUC_0 (unsigned char)0xb0 +#define EUC_END_0 (unsigned char)0xb9 +#define EUC_A (unsigned char)0xc1 +#define EUC_END_A (unsigned char)0xda +#define EUC_a (unsigned char)0xe1 +#define EUC_END_a (unsigned char)0xfa +#define EUC_END_HIRA (unsigned char)0xf3 +#define EUC_VU (unsigned char)0xf4 +#define EUC_XKA (unsigned char)0xf5 +#define EUC_XKE (unsigned char)0xf6 -#define isknj1(c) (((c) == SS2) || (((c) & 0x80) && ((c) != SS3))) +#define isknj1(c) (((c) == SS2) || (((c) & 0x80) && ((c) != SS3))) -#define SHU 0x01 -#define T_KANOU 0x80 -#define T_SHUUJO 0x40 +#define SHU 0x01 +#define T_KANOU 0x80 +#define T_SHUUJO 0x40 -#define DICTOP 0x01 -#define FZKTOP 0x02 -#define DEPEND 0x04 -#define NUMBER 0x08 -#define FZK_KGU 0x10 -#define TAI_KGU 0x20 -#define BEFORNUM 0x40 -#define MIDNUM 0x80 -#define NOTNRM 0xFE +#define DICTOP 0x01 +#define FZKTOP 0x02 +#define DEPEND 0x04 +#define NUMBER 0x08 +#define FZK_KGU 0x10 +#define TAI_KGU 0x20 +#define BEFORNUM 0x40 +#define MIDNUM 0x80 +#define NOTNRM 0xFE -#define CNJEND 0xff -#define TYOUONFLG 0x80 +#define CNJEND 0xff +#define TYOUONFLG 0x80 -#define MAXFREC 32 -#define MAXFLVL 10 -#define FZKEND 0xff +#define MAXFREC 32 +#define MAXFLVL 10 +#define FZKEND 0xff -#define SETTOU_O 1 -#define SETTOU_GO 2 -#define SETTOU_DAI 3 -#define SETTOU_KIGOU 4 +#define SETTOU_O 1 +#define SETTOU_GO 2 +#define SETTOU_DAI 3 +#define SETTOU_KIGOU 4 -#define NumKetaLength 16 -#define NumWordBuf ((NumKetaLength+3)/4) +#define NumKetaLength 16 +#define NumWordBuf ((NumKetaLength + 3) / 4) -#define MainSegmentLength 2048 -#define MainIndexLength 2048 -#define MainIndexNumber 512 +#define MainSegmentLength 2048 +#define MainIndexLength 2048 +#define MainIndexNumber 512 -#define MaxYomiLength 32 -#define MaxKanjiLength 32 -#define MaxHinsiNumber 16 -#define MaxAtrNumber 16 -#define MaxJosiNumber 16 +#define MaxYomiLength 32 +#define MaxKanjiLength 32 +#define MaxHinsiNumber 16 +#define MaxAtrNumber 16 +#define MaxJosiNumber 16 -#define MaxKnjAskNumber 16 -#define MaxYomiAskNumber 16 +#define MaxKnjAskNumber 16 +#define MaxYomiAskNumber 16 -#define DouonBlkSizeNumber 3 +#define DouonBlkSizeNumber 3 -#define DouonBlkTerm 0xff -#define HinsiBlkTerm 0xff +#define DouonBlkTerm 0xff +#define HinsiBlkTerm 0xff -#define NormalKanjiMask 0x7f -#define SS3Kanji 0x0080 -#define ZenHiraAssyuku 0x80 -#define OffsetAssyuku 0x90 -#define ZenKataAssyuku 0xa0 -#define AiAttribute 0xb0 -#define KanjiAssyuku 0xc0 -#define LeadingHankaku 0xd0 -#define KanjiStrEnd 0x00 -#define IsAssyuku 0x80 -#define AssukuUse2byte 0x90 -#define KnjAssyukuMask 0x0f -#define KanjiCodeMask 0x0f -#define KanjiModeMask 0xf0 -#define AtrMsKanjiOfs 0xc0c0 +#define NormalKanjiMask 0x7f +#define SS3Kanji 0x0080 +#define ZenHiraAssyuku 0x80 +#define OffsetAssyuku 0x90 +#define ZenKataAssyuku 0xa0 +#define AiAttribute 0xb0 +#define KanjiAssyuku 0xc0 +#define LeadingHankaku 0xd0 +#define KanjiStrEnd 0x00 +#define IsAssyuku 0x80 +#define AssukuUse2byte 0x90 +#define KnjAssyukuMask 0x0f +#define KanjiCodeMask 0x0f +#define KanjiModeMask 0xf0 +#define AtrMsKanjiOfs 0xc0c0 -#define MaxHindoNumber 2000 -#define MaxOffsetNumber 1000 +#define MaxHindoNumber 2000 +#define MaxOffsetNumber 1000 -#define IllegalFormat "\245\325\245\251\241\274\245\336\245\303\245\310\244\254\260\333\276\357\244\307\244\271" -#define TooLongYomi "\306\311\244\337\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271" -#define TooLongKanji "\264\301\273\372\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271" -#define TooLongHinsi "\311\312\273\354\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271" -#define TooLongGroup "\245\260\245\353\241\274\245\327\314\276\244\254\260\333\276\357\244\307\244\271" -#define TooLongJosi "\275\365\273\354\312\270\273\372\316\363\244\254\260\333\276\357\244\307\244\271" -#define BadHinsi "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\311\312\273\354\244\307\244\271" -#define BadGroup "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\245\260\245\353\241\274\245\327\244\307\244\271" -#define BadJosi "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\275\365\273\354\244\307\244\271" -#define NoYomiString "\306\311\244\337\312\270\273\372\316\363\244\254\274\350\306\300\244\307\244\255\244\336\244\273\244\363" -#define NoKanjiString "\264\301\273\372\312\270\273\372\316\363\244\254\274\350\306\300\244\307\244\255\244\336\244\273\244\363" -#define TooManyAtr "\302\260\300\255\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271" -#define TooManyHinsi "\311\312\273\354\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271" -#define TooManyJosi "\275\365\273\354\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271" -#define NoDataInMain "\245\341\245\244\245\363\274\255\275\361\244\313\302\270\272\337\244\267\244\336\244\273\244\363" -#define TooManyTarget "\311\312\273\354\244\362\243\261\244\304\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244" +#define IllegalFormat "\245\325\245\251\241\274\245\336\245\303\245\310\244\254\260\333\276\357\244\307\244\271" +#define TooLongYomi "\306\311\244\337\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271" +#define TooLongKanji "\264\301\273\372\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271" +#define TooLongHinsi "\311\312\273\354\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271" +#define TooLongGroup "\245\260\245\353\241\274\245\327\314\276\244\254\260\333\276\357\244\307\244\271" +#define TooLongJosi "\275\365\273\354\312\270\273\372\316\363\244\254\260\333\276\357\244\307\244\271" +#define BadHinsi "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\311\312\273\354\244\307\244\271" +#define BadGroup "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\245\260\245\353\241\274\245\327\244\307\244\271" +#define BadJosi "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\275\365\273\354\244\307\244\271" +#define NoYomiString "\306\311\244\337\312\270\273\372\316\363\244\254\274\350\306\300\244\307\244\255\244\336\244\273\244\363" +#define NoKanjiString "\264\301\273\372\312\270\273\372\316\363\244\254\274\350\306\300\244\307\244\255\244\336\244\273\244\363" +#define TooManyAtr "\302\260\300\255\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271" +#define TooManyHinsi "\311\312\273\354\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271" +#define TooManyJosi "\275\365\273\354\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271" +#define NoDataInMain "\245\341\245\244\245\363\274\255\275\361\244\313\302\270\272\337\244\267\244\336\244\273\244\363" +#define TooManyTarget "\311\312\273\354\244\362\243\261\244\304\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244" -#define HinsiTankan cnvhinsi("\303\261\264\301") +#define HinsiTankan cnvhinsi("\303\261\264\301") -#define DIVLIST 1 -#define ASSYUKUREC 2 -#define STRING 3 -#define HINDOREC 4 -#define OFFSETREC 5 -#define KANJIREC 6 -#define HINSIREC 7 -#define DOUONREC 8 +#define DIVLIST 1 +#define ASSYUKUREC 2 +#define STRING 3 +#define HINDOREC 4 +#define OFFSETREC 5 +#define KANJIREC 6 +#define HINSIREC 7 +#define DOUONREC 8 #endif /* SJ3_CONST_H_ */ diff --git a/conv.c b/conv.c index 5fb0a18..30ead29 100644 --- a/conv.c +++ b/conv.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: conv.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: conv.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:11 $ */ - - #include #include "wchar16.h" #include "select.h" @@ -42,195 +40,224 @@ #include "inkey.h" #include "common.h" +#define MSEC 300 -#define MSEC 300 +int keyvalue; +char* funckey[] = { + "\033OH", + "\033OP", + "\033OQ", + "\033OR", + "\033OS", + "\033OT", + "\033OU", + "\033OV", + "\033OW", + "\033OX", + "\033OY", + "\033OZ", + "\033[C", + "\033OC", + "\033[D", + "\033OD", + "\033[A", + "\033OA", + "\033[B", + "\033OB", + "\033[H", + "\033[4~", + "\033[11~", + "\033[8~", + "\033[12~", + "\033[13~", + "\033[9~", + "\033[14~", + "\033[15~", + "\033[17~", + "\033[18~", + "\033[19~", + "\033[20~", + "\033[21~", + "\033[7~", +}; +int funcvalue[] = { + KEY_CONV, + KEY_HENKAN, + KEY_MUHENKAN, + KEY_ETC, + KEY_KETTEI, + KEY_CODE, + KEY_HALPHA, + KEY_ZALPHA, + KEY_HKATA, + KEY_ZKATA, + KEY_ZHIRA, + KEY_OTHER, + KEY_RIGHT, + KEY_RIGHT, + KEY_LEFT, + KEY_LEFT, + KEY_UP, + KEY_UP, + KEY_DOWN, + KEY_DOWN, + KEY_CONV, + KEY_HENKAN, + KEY_HENKAN, + KEY_MUHENKAN, + KEY_MUHENKAN, + KEY_ETC, + KEY_KETTEI, + KEY_KETTEI, + KEY_CODE, + KEY_HALPHA, + KEY_ZALPHA, + KEY_HKATA, + KEY_ZKATA, + KEY_ZHIRA, + KEY_CONV, +}; -int keyvalue; +int keynumber = sizeof(funckey) / sizeof(char*); -char *funckey[] = { - "\033OH", "\033OP", "\033OQ", - "\033OR", "\033OS", "\033OT", - "\033OU", "\033OV", "\033OW", - "\033OX", "\033OY", "\033OZ", - "\033[C", "\033OC", "\033[D", - "\033OD", "\033[A", "\033OA", - "\033[B", "\033OB", "\033[H", - "\033[4~", "\033[11~", "\033[8~", - "\033[12~", "\033[13~", "\033[9~", - "\033[14~", "\033[15~", "\033[17~", - "\033[18~", "\033[19~", "\033[20~", - "\033[21~", "\033[7~", - }; +extern int Direct; +extern int master; +extern wchar16_t Ukey[UKEYNUM][SEQLEN + 1]; +extern int Uvalue[]; +extern int Unumber; -int funcvalue[] = { - KEY_CONV, KEY_HENKAN, KEY_MUHENKAN, - KEY_ETC, KEY_KETTEI, KEY_CODE, - KEY_HALPHA, KEY_ZALPHA, KEY_HKATA, - KEY_ZKATA, KEY_ZHIRA, KEY_OTHER, - KEY_RIGHT, KEY_RIGHT, KEY_LEFT, - KEY_LEFT, KEY_UP, KEY_UP, - KEY_DOWN, KEY_DOWN, KEY_CONV, - KEY_HENKAN, KEY_HENKAN, KEY_MUHENKAN, - KEY_MUHENKAN, KEY_ETC, KEY_KETTEI, - KEY_KETTEI, KEY_CODE, KEY_HALPHA, - KEY_ZALPHA, KEY_HKATA, KEY_ZKATA, - KEY_ZHIRA, KEY_CONV, - }; - -int keynumber = sizeof(funckey)/sizeof(char*); - - - -extern int Direct; -extern int master; -extern wchar16_t Ukey[UKEYNUM][SEQLEN+1]; -extern int Uvalue[]; -extern int Unumber; - - - -convert_stat () -{ - stat_init (); - stat_conv (); +convert_stat() { + stat_init(); + stat_conv(); } -inputprocess () -{ - int c; - wchar16_t obuf[2]; +inputprocess() { + int c; + wchar16_t obuf[2]; - if (Direct) { - set_guide_line (KEY_CONV); - convert_stat (); + if(Direct) { + set_guide_line(KEY_CONV); + convert_stat(); } - set_guide_line (KEY_NORMAL); - print_guide_line (); - for (;;) { - if ((c = inkey ()) == EOF) + set_guide_line(KEY_NORMAL); + print_guide_line(); + for(;;) { + if((c = inkey()) == EOF) continue; - switch (keyvalue) { + switch(keyvalue) { case KEY_NORMAL: obuf[0] = c; obuf[1] = 0; - SJ_write (obuf, 1); + SJ_write(obuf, 1); break; case KEY_CONV: - set_guide_line (KEY_CONV); - convert_stat (); - set_guide_line (KEY_NORMAL); - print_guide_line (); + set_guide_line(KEY_CONV); + convert_stat(); + set_guide_line(KEY_NORMAL); + print_guide_line(); break; default: - write_pseq (0); + write_pseq(0); break; } } } +wchar16_t ibuf[KEYBUFSIZ]; +wchar16_t pars_seq[KEYBUFSIZ]; +int buf_count = 0; +int pars_n; +static int escape = 0; -wchar16_t ibuf[KEYBUFSIZ]; -wchar16_t pars_seq[KEYBUFSIZ]; -int buf_count = 0; -int pars_n; -static int escape = 0; +inkey() { + Conversion* cv; + int i, j; + wchar16_t c; -inkey () -{ - Conversion *cv; - int i, j; - wchar16_t c; - - cv = current_conversion; + cv = current_conversion; keyvalue = KEY_NORMAL; - pars_n = 0; - if (buf_count) { - if (escape && cv->Cflag) - master_flush (); + pars_n = 0; + if(buf_count) { + if(escape && cv->Cflag) + master_flush(); c = *ibuf; - } - else { - if ((c = SJ_getchar ()) == (wchar16_t) EOF) - - return ((short) c); - *ibuf = c; + } else { + if((c = SJ_getchar()) == (wchar16_t)EOF) + + return ((short)c); + *ibuf = c; buf_count = 1; } - - if (*ibuf == ESC) { - keyvalue = sequence (ibuf, &buf_count); - escape = 1; - } - else { + if(*ibuf == ESC) { + keyvalue = sequence(ibuf, &buf_count); + escape = 1; + } else { escape = 0; } - if (keyvalue == KEY_NORMAL) - keyvalue = parse_command (ibuf, &buf_count); + if(keyvalue == KEY_NORMAL) + keyvalue = parse_command(ibuf, &buf_count); - if (keyvalue == KEY_NORMAL) { + if(keyvalue == KEY_NORMAL) { c = *ibuf; - for (i=1 ; i < buf_count ; i++) + for(i = 1; i < buf_count; i++) ibuf[i - 1] = ibuf[i]; buf_count--; } - if (buf_count > KEYBUFLIM) { - for (i = buf_count - 1; i >= 0 ; i --) { - if (ibuf[i] == ESC) { - - for (j = i ; j < buf_count ; j ++) - ibuf[j-i] = ibuf[j]; + if(buf_count > KEYBUFLIM) { + for(i = buf_count - 1; i >= 0; i--) { + if(ibuf[i] == ESC) { + + for(j = i; j < buf_count; j++) + ibuf[j - i] = ibuf[j]; buf_count -= i; - return(c); + return (c); } } - + buf_count = 0; } return (c); } -sequence (buf, count) -wchar16_t *buf; -int *count; +sequence(buf, count) + wchar16_t* buf; +int* count; { - + int n; + SELECT_FD ifds; + struct timeval t; + wchar16_t* s; + int value; - int n; - SELECT_FD ifds; - struct timeval t; - wchar16_t *s; - int value; - - - if (*count > 1 && (value = parse_escape (buf, count, 1)) != KEY_MORE) + if(*count > 1 && (value = parse_escape(buf, count, 1)) != KEY_MORE) return (value); s = buf + *count; - for (;;) { - t.tv_sec = 0; - t.tv_usec = UsecWeight (0); - FD_ZERO (&ifds); - FD_SET (STDIN, &ifds); - if (select (STDIN + 1, &ifds, 0, 0, &t) <= 0) { - if (errno == EINTR) { + for(;;) { + t.tv_sec = 0; + t.tv_usec = UsecWeight(0); + FD_ZERO(&ifds); + FD_SET(STDIN, &ifds); + if(select(STDIN + 1, &ifds, 0, 0, &t) <= 0) { + if(errno == EINTR) { errno = 0; continue; } else { - return (parse_escape (buf, count, 0)); + return (parse_escape(buf, count, 0)); } } - if ((n = SJ_read (s, KEYBUFLIM)) <= 0) { - return (parse_escape (buf, *count, 0)); + if((n = SJ_read(s, KEYBUFLIM)) <= 0) { + return (parse_escape(buf, *count, 0)); } s += n; *count += n; - if ((value = parse_escape (buf, count, 1)) == KEY_MORE) + if((value = parse_escape(buf, count, 1)) == KEY_MORE) continue; else { return (value); @@ -238,135 +265,113 @@ int *count; } } - - -parse_escape (s, count, more) -wchar16_t *s; -int *count; -int more; +parse_escape(s, count, more) + wchar16_t* s; +int* count; +int more; { - int i, j; - wchar16_t temp[KEYBUFSIZ]; - int possible; + int i, j; + wchar16_t temp[KEYBUFSIZ]; + int possible; possible = 0; - + for(i = 0; i < Unumber; i++) { - for (i = 0 ; i < Unumber ; i ++) { - - - for (j=0 ; j < *count ; j++) { - if (s[j] != Ukey[i][j]) + for(j = 0; j < *count; j++) { + if(s[j] != Ukey[i][j]) break; } - - if (j == wslen (&Ukey[i][0])) { + if(j == wslen(&Ukey[i][0])) { - - Strncpy (pars_seq, s, j); - pars_seq[j] = (wchar16_t) '\0'; - pars_n = j; + Strncpy(pars_seq, s, j); + pars_seq[j] = (wchar16_t)'\0'; + pars_n = j; - *count -= j; - - if (*count > 0) { - Strncpy (temp, &s[j], *count); - temp[*count] = (wchar16_t) '\0'; - wscpy(s, temp); + if(*count > 0) { + Strncpy(temp, &s[j], *count); + temp[*count] = (wchar16_t)'\0'; + wscpy(s, temp); } return (Uvalue[i]); - } - else if (j == *count) + } else if(j == *count) possible = 1; } - + for(i = 0; i < keynumber; i++) { - for (i = 0 ; i < keynumber ; i ++) { - - - for (j = 0 ; j < *count ; j ++) { - if (s[j] != (unsigned char)funckey[i][j]) + for(j = 0; j < *count; j++) { + if(s[j] != (unsigned char)funckey[i][j]) break; } - - if (j == strlen (funckey[i])) { + if(j == strlen(funckey[i])) { - - Strncpy (pars_seq, s, j); - pars_seq[j] = (wchar16_t) '\0'; - pars_n = j; + Strncpy(pars_seq, s, j); + pars_seq[j] = (wchar16_t)'\0'; + pars_n = j; - *count -= j; - - if (*count > 0) { - Strncpy (temp, &s[j], *count); - temp[*count] = (wchar16_t) '\0'; - wscpy (s, temp); + if(*count > 0) { + Strncpy(temp, &s[j], *count); + temp[*count] = (wchar16_t)'\0'; + wscpy(s, temp); } return (funcvalue[i]); - } - else if (j == *count) + } else if(j == *count) possible = 1; } - if (*count == 1) + if(*count == 1) return (KEY_NORMAL); - else if (more && possible) + else if(more && possible) return (KEY_MORE); else { - Strncpy (pars_seq, s, *count); - pars_seq[*count] = (wchar16_t) '\0'; - pars_n = *count; - *count = 0; - *s = '\0'; + Strncpy(pars_seq, s, *count); + pars_seq[*count] = (wchar16_t)'\0'; + pars_n = *count; + *count = 0; + *s = '\0'; return (KEY_OTHER); } } -write_pseq (mod) -int mod; +write_pseq(mod) int mod; { - - if (mod == 3) { - if (pars_n > 0) { + if(mod == 3) { + if(pars_n > 0) { pars_n = 0; return (*pars_seq); } } - if (mod == 2) { - if (pars_n == 1) { + if(mod == 2) { + if(pars_n == 1) { pars_n = 0; return (*pars_seq); } pars_n = 0; return (0); } - if (mod == 1) { - if (pars_n == 1) { + if(mod == 1) { + if(pars_n == 1) { pars_n = 0; return (*pars_seq); - } - else if (IsGoto (*pars_seq)) { - Strncpy (&ibuf[buf_count], &pars_seq[1], pars_n - 1); + } else if(IsGoto(*pars_seq)) { + Strncpy(&ibuf[buf_count], &pars_seq[1], pars_n - 1); buf_count += pars_n - 1; pars_n = 0; return (*pars_seq); } } - if (pars_n > 0) - SJ_through (pars_seq, pars_n); + if(pars_n > 0) + SJ_through(pars_seq, pars_n); pars_n = 0; return (0); } - diff --git a/conversion.h b/conversion.h index ddb3c39..7b75d86 100644 --- a/conversion.h +++ b/conversion.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,87 +28,84 @@ */ /* - * $SonyRCSfile: conversion.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: conversion.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:43 $ */ - - #include "sj2.h" #include "sj3libsj3.h" #include "henkan.h" -typedef struct bunsetu_sj3 Bunsetu; +typedef struct bunsetu_sj3 Bunsetu; typedef struct _Conversion { - unsigned short out_mode[BUFFLENGTH*2]; + unsigned short out_mode[BUFFLENGTH * 2]; - unsigned short Plen[BUFFLENGTH]; - unsigned short OrgPlen[BUFFLENGTH]; - unsigned short Bpoint[BUFFLENGTH]; - unsigned short Edit[BUFFLENGTH]; - unsigned short span_l[BUFFLENGTH]; - unsigned short Elen[BUFFLENGTH]; - unsigned short Displen[BUFFLENGTH]; + unsigned short Plen[BUFFLENGTH]; + unsigned short OrgPlen[BUFFLENGTH]; + unsigned short Bpoint[BUFFLENGTH]; + unsigned short Edit[BUFFLENGTH]; + unsigned short span_l[BUFFLENGTH]; + unsigned short Elen[BUFFLENGTH]; + unsigned short Displen[BUFFLENGTH]; unsigned short Vindex[BUFFLENGTH * 2]; - short ha_point; - short ha_epoint; - short out_point; - short out_epoint; - short span_point; - short Bnum; - short Enum; - short e_point; + short ha_point; + short ha_epoint; + short out_point; + short out_epoint; + short span_point; + short Bnum; + short Enum; + short e_point; unsigned short line; unsigned short column; - unsigned short PushCurrentVcol; - unsigned short Vlen; - unsigned short SavedRow; - unsigned short SavedCol; - unsigned short CurrentVcol; - unsigned short MaxVcol; + unsigned short PushCurrentVcol; + unsigned short Vlen; + unsigned short SavedRow; + unsigned short SavedCol; + unsigned short CurrentVcol; + unsigned short MaxVcol; - short CurBun; - short PreBun; + short CurBun; + short PreBun; - Bunsetu Bun[BUFFLENGTH]; + Bunsetu Bun[BUFFLENGTH]; - wchar16_t out_buf[BUFFLENGTH * 2]; - unsigned char in_mode[BUFFLENGTH * 2]; - wchar16_t *span_p[BUFFLENGTH]; - wchar16_t *Ppoint[BUFFLENGTH]; - wchar16_t *Epoint[BUFFLENGTH]; - wchar16_t Halpha[BUFFLENGTH]; - unsigned char kettei[BUFFLENGTH]; - unsigned char Pkettei[BUFFLENGTH]; - unsigned char Pedited[BUFFLENGTH]; - wchar16_t Ebuff[EDITLEN]; - unsigned char Bkettei[BUFFLENGTH]; - unsigned char Dispmod[BUFFLENGTH]; - wchar16_t yomiout[BUFFLENGTH * 2]; - wchar16_t kanjiout[BUFFLENGTH * 4]; + wchar16_t out_buf[BUFFLENGTH * 2]; + unsigned char in_mode[BUFFLENGTH * 2]; + wchar16_t* span_p[BUFFLENGTH]; + wchar16_t* Ppoint[BUFFLENGTH]; + wchar16_t* Epoint[BUFFLENGTH]; + wchar16_t Halpha[BUFFLENGTH]; + unsigned char kettei[BUFFLENGTH]; + unsigned char Pkettei[BUFFLENGTH]; + unsigned char Pedited[BUFFLENGTH]; + wchar16_t Ebuff[EDITLEN]; + unsigned char Bkettei[BUFFLENGTH]; + unsigned char Dispmod[BUFFLENGTH]; + wchar16_t yomiout[BUFFLENGTH * 2]; + wchar16_t kanjiout[BUFFLENGTH * 4]; - unsigned char Imode; - unsigned char BuffMode; - unsigned char Kanji; - unsigned char Dflag; - unsigned char word_regist; - unsigned char Cflag; - unsigned char henkanflag; + unsigned char Imode; + unsigned char BuffMode; + unsigned char Kanji; + unsigned char Dflag; + unsigned char word_regist; + unsigned char Cflag; + unsigned char henkanflag; - unsigned char wrap; + unsigned char wrap; } Conversion; - -wchar16_t osave_buf[BUFFLENGTH * 2]; +wchar16_t osave_buf[BUFFLENGTH * 2]; unsigned short osave_mode[BUFFLENGTH * 2]; unsigned short isave_mode[BUFFLENGTH * 2]; unsigned short os_point; -wchar16_t hsave_buf[BUFFLENGTH]; +wchar16_t hsave_buf[BUFFLENGTH]; unsigned short hs_point; diff --git a/cvtclknj.c b/cvtclknj.c index 152af11..b587a69 100644 --- a/cvtclknj.c +++ b/cvtclknj.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,44 +28,30 @@ */ /* - * $SonyRCSfile: cvtclknj.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: cvtclknj.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:38 $ */ - - - - #include "sj_kcnv.h" +void cvtkouho(), setstyrec(); +void cvtclknj() { + KHREC* krec; + int i; -void cvtkouho(), setstyrec(); + if(!selectid) selectid = khcount; + i = khcount; + krec = kouhotbl; - -void cvtclknj() -{ - KHREC *krec; - int i; - - - - - if (!selectid) selectid = khcount; - - i = khcount; - krec = kouhotbl; - - while (i--) { - if ((int)krec -> rank == (int)selectid) break; + while(i--) { + if((int)krec->rank == (int)selectid) break; krec++; } - setstyrec(krec); - cvtkouho(krec); } diff --git a/cvtdict.c b/cvtdict.c index 8edb459..1c13498 100644 --- a/cvtdict.c +++ b/cvtdict.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,80 +28,67 @@ */ /* - * $SonyRCSfile: cvtdict.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: cvtdict.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:40 $ * * $Id$ */ - #include "sj_euc.h" #include "sj_kcnv.h" #include "kanakan.h" +void cvtdict(KHREC* krec, CLREC* clrec, int flg) { + TypeDicOfs ofs; + unsigned char* yptr; + int jlen; + int stblen; + int sttlen; + unsigned char* fptr; + int cllen; + JREC* jrec; + int i, j; - -void -cvtdict(KHREC *krec, CLREC *clrec, int flg) -{ - TypeDicOfs ofs; - unsigned char *yptr; - int jlen; - int stblen; - int sttlen; - unsigned char *fptr; - int cllen; - JREC *jrec; - int i, j; - - - ofs = krec -> offs; - jrec = clrec -> jnode; - cllen = clrec -> cllen; + ofs = krec->offs; + jrec = clrec->jnode; + cllen = clrec->cllen; yptr = inputyomi; - - jlen = jrec -> jlen; + jlen = jrec->jlen; - - if ((i = jrec -> sttofs) != 0) { - - if (i == SETTOU_KIGOU) { + if((i = jrec->sttofs) != 0) { + + if(i == SETTOU_KIGOU) { sttlen = 1; - fptr = yptr; + fptr = yptr; } - else { - fptr = Settou_ptr(i); + fptr = Settou_ptr(i); sttlen = SttYomiLen(fptr); - fptr++; - if (!krec -> sttkj) fptr += 2; + fptr++; + if(!krec->sttkj) fptr += 2; } *kanjitmp++ = *fptr++; *kanjitmp++ = *fptr++; jlen -= sttlen; - yptr += sttlen * 2; + yptr += sttlen * 2; } - else sttlen = 0; - - if (flg) { - + if(flg) { + (*Cvtnum_func[krec->mode - 1])(ystart + sttlen, yptr, jrec); - - yptr += (i = jrec -> numlen) * 2; + yptr += (i = jrec->numlen) * 2; jlen -= i; - - if (jrec -> stbofs) { + if(jrec->stbofs) { *kanjitmp++ = *yptr++; *kanjitmp++ = *yptr++; jlen--; @@ -110,71 +97,60 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg) stblen = 0; } - - else if ((i = jrec -> stbofs) && (fptr = getstb(jrec -> hinsi))) { + else if((i = jrec->stbofs) && (fptr = getstb(jrec->hinsi))) { fptr += i - 1; stblen = StbYomiLen(fptr); jlen -= stblen; } - else { stblen = 0; } - - if (ofs) { - if (seldict(jrec -> dicid)) { - (*curdict->getdic)(curdict, jrec -> jseg); + if(ofs) { + if(seldict(jrec->dicid)) { + (*curdict->getdic)(curdict, jrec->jseg); get_askknj(); kanjitmp += - getkanji(yptr, jlen, dicbuf + ofs, kanjitmp); + getkanji(yptr, jlen, dicbuf + ofs, kanjitmp); yptr += jlen * 2; - } - else { - while (jlen-- > 0) { - for ( i = 0; i < euc_codesize(*yptr); i++) - *kanjitmp++ = yptr[i]; + } else { + while(jlen-- > 0) { + for(i = 0; i < euc_codesize(*yptr); i++) + *kanjitmp++ = yptr[i]; yptr += euc_codesize(*yptr); } } } - - if (stblen) { - i = StbKnjLen(fptr); + if(stblen) { + i = StbKnjLen(fptr); fptr += stblen + 2; - while (i-- > 0) *kanjitmp++ = *fptr++; + while(i-- > 0) *kanjitmp++ = *fptr++; yptr += stblen * 2; } - - i = cllen - (jrec -> jlen); - while (i-- > 0) { - for ( j = 0; j < euc_codesize(*yptr); j++) - *kanjitmp++ = yptr[j]; + i = cllen - (jrec->jlen); + while(i-- > 0) { + for(j = 0; j < euc_codesize(*yptr); j++) + *kanjitmp++ = yptr[j]; yptr += euc_codesize(*yptr); } } +void cvtminasi(int len) { + unsigned char* ptr; + ptr = inputyomi; -void -cvtminasi(int len) -{ - unsigned char *ptr; + while(len-- > 0) { - ptr = inputyomi; - - while (len-- > 0) { - - - if (isknj1(*ptr)) { + if(isknj1(*ptr)) { *kanjitmp++ = *ptr++; *kanjitmp++ = *ptr++; } - - else if (*ptr == SS3) { + + else if(*ptr == SS3) { *kanjitmp++ = *ptr++; *kanjitmp++ = *ptr++; *kanjitmp++ = *ptr++; @@ -184,40 +160,32 @@ cvtminasi(int len) } } +void cvtwakachi(CLREC* clrec) { + int jlen; + unsigned char* ym; + int cnt; + unsigned char ch; + ym = inputyomi; -void -cvtwakachi(CLREC *clrec) -{ - int jlen; - unsigned char *ym; - int cnt; - unsigned char ch; + cnt = jlen = clrec->jnode->jlen; + while(cnt-- > 0) { + if(isknj1(*ym)) { - ym = inputyomi; - - - cnt = jlen = clrec -> jnode -> jlen; - while (cnt-- > 0) { - if (isknj1(*ym)) { - - if (*ym == 0xa4) { + if(*ym == 0xa4) { ch = *++ym; - if (0xa1 <= ch && ch <= 0xf3) { + if(0xa1 <= ch && ch <= 0xf3) { *kanjitmp++ = 0xa5; - } - else { + } else { *kanjitmp++ = 0xa4; } *kanjitmp++ = ch; ym++; - } - else { + } else { *kanjitmp++ = *ym++; *kanjitmp++ = *ym++; } - } - else if (*ym == SS3) { + } else if(*ym == SS3) { *kanjitmp++ = *ym++; *kanjitmp++ = *ym++; *kanjitmp++ = *ym++; @@ -226,20 +194,18 @@ cvtwakachi(CLREC *clrec) } } - - cnt = clrec -> cllen - jlen; - while (cnt-- > 0) { + cnt = clrec->cllen - jlen; + while(cnt-- > 0) { - - if (isknj1(*ym)) { + if(isknj1(*ym)) { *kanjitmp++ = *ym++; *kanjitmp++ = *ym++; } - - else if (*ym == SS3) { + + else if(*ym == SS3) { + *kanjitmp++ = *ym++; + *kanjitmp++ = *ym++; *kanjitmp++ = *ym++; - *kanjitmp++ = *ym++; - *kanjitmp++ = *ym++; } else { *kanjitmp++ = *ym++; } diff --git a/cvtkanji.c b/cvtkanji.c index f0040ff..23a9e25 100644 --- a/cvtkanji.c +++ b/cvtkanji.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,186 +28,154 @@ */ /* - * $SonyRCSfile: cvtkanji.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: cvtkanji.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:41 $ * * $Id$ */ - #include #include "sj_kcnv.h" #include "kanakan.h" +void mkknjmax(); +void mvmemi(), free_clall(); +void free_jall(); -void mkknjmax(); -void mvmemi(), free_clall(); -void free_jall(); +void cvtphknj(void) { + int i, j; + CLREC* clrec; + CLREC* clkp; - - -void -cvtphknj (void) -{ - int i, j; - CLREC *clrec; - CLREC *clkp; - - if (!kanjilen) goto not_enough_memory; + if(!kanjilen) goto not_enough_memory; khcount = 0; - clkp = NULL; + clkp = NULL; stdytop = NULL; - clrec = clt1st; - while (clrec) { - if (ph_khtbl(clrec)) clkp = clrec; - clrec = clrec -> clsort; - } + clrec = clt1st; + while(clrec) { + if(ph_khtbl(clrec)) clkp = clrec; + clrec = clrec->clsort; + } - - if (clkp && stdytop) { - - if (stdytop -> nmflg) - ph_setkouho(clkp, (TypeDicOfs)0, (STDYIN *)0); - } + if(clkp && stdytop) { + + if(stdytop->nmflg) + ph_setkouho(clkp, (TypeDicOfs)0, (STDYIN*)0); + } kouhotbl[0].rank = 1; - kanjitmp = kanjibuf + 1; - setstyrec(kouhotbl); - cvtkouho(kouhotbl); - i = kanjitmp - kanjibuf; - if (i < kanjilen) { - + if(i < kanjilen) { + kanjilen -= i; - - ystart += clt1st -> cllen; + ystart += clt1st->cllen; - j = hzstrlen(inputyomi, (int)clt1st -> cllen); + j = hzstrlen(inputyomi, (int)clt1st->cllen); kanjibuf[0] = (unsigned char)j; - inputyomi += j; - memcpy(kanjibuf, kanjipos, i); kanjipos += i; - } - else + } else kanjilen = 0; not_enough_memory: - free_clall(clt1st); - free_jall (jrt1st); + free_jall(jrt1st); } +void cvtkouho(KHREC* krec) { + CLREC* clrec; + clrec = krec->clrec; -void -cvtkouho (KHREC *krec) -{ - CLREC *clrec; - - clrec = krec -> clrec; - - - switch (clrec -> jnode -> class) { - case C_DICT: + switch(clrec->jnode->class) { + case C_DICT: cvtdict(krec, clrec, FALSE); break; - case C_N_ARABIA: - case C_N_ARACMA: - case C_N_KAZU: - case C_N_SUUJI: - case C_N_NANSUU: - case C_N_KANKURA: - case C_N_ARAKURA: - case C_N_KAZULONG: - case C_N_KAZULCMA: - case C_N_SUUJILONG: + case C_N_ARABIA: + case C_N_ARACMA: + case C_N_KAZU: + case C_N_SUUJI: + case C_N_NANSUU: + case C_N_KANKURA: + case C_N_ARAKURA: + case C_N_KAZULONG: + case C_N_KAZULCMA: + case C_N_SUUJILONG: cvtdict(krec, clrec, TRUE); break; - case C_BUNSETU : - case C_MINASI : - cvtminasi((int)clrec -> cllen); + case C_BUNSETU: + case C_MINASI: + cvtminasi((int)clrec->cllen); break; - case C_WAKACHI : + case C_WAKACHI: cvtwakachi(clrec); break; } - *kanjitmp++ = 0; } +void setstyrec(KHREC* krec) { + JREC* jrec; + KHREC* kptr; + int ii; + unsigned char* fptr; + STDYOUT stdy; + jrec = krec->clrec->jnode; -void -setstyrec (KHREC *krec) -{ - JREC *jrec; - KHREC *kptr; - int ii; - unsigned char *fptr; - STDYOUT stdy; + if(krec->mode && !krec->offs) { - jrec = krec -> clrec -> jnode; + for(ii = khcount, kptr = kouhotbl; ii--; kptr++) + if(kptr->rank == 1) break; - - if (krec -> mode && !krec -> offs) { - - for (ii = khcount, kptr = kouhotbl ; ii--; kptr++) - if (kptr -> rank == 1) break; - - - stdy.stdy1.offset = kptr -> offs; - stdy.stdy1.seg = kptr -> clrec -> jnode -> jseg; - stdy.stdy1.styno = kptr -> styno; - stdy.stdy1.dicid = kptr -> clrec -> jnode -> dicid; + stdy.stdy1.offset = kptr->offs; + stdy.stdy1.seg = kptr->clrec->jnode->jseg; + stdy.stdy1.styno = kptr->styno; + stdy.stdy1.dicid = kptr->clrec->jnode->dicid; stdy.stdy1.nmflg = 1; } - + else { - stdy.stdy1.offset = krec -> offs; - stdy.stdy1.seg = jrec -> jseg; - stdy.stdy1.styno = krec -> styno; - stdy.stdy1.dicid = jrec -> dicid; + stdy.stdy1.offset = krec->offs; + stdy.stdy1.seg = jrec->jseg; + stdy.stdy1.styno = krec->styno; + stdy.stdy1.dicid = jrec->dicid; stdy.stdy1.nmflg = 0; } - stdy.stdy1.sttkj = krec -> sttkj; - stdy.stdy1.ka_kj = krec -> ka_kj; - stdy.hinshi = jrec -> hinsi; - stdy.len = jrec -> jlen; - stdy.sttfg = krec -> sttfg; - stdy.ka_fg = krec -> ka_fg; + stdy.stdy1.sttkj = krec->sttkj; + stdy.stdy1.ka_kj = krec->ka_kj; + stdy.hinshi = jrec->hinsi; + stdy.len = jrec->jlen; + stdy.sttfg = krec->sttfg; + stdy.ka_fg = krec->ka_fg; - - if (jrec -> stbofs && (fptr = getstb(jrec -> hinsi)) != NULL) - stdy.len -= StbYomiLen(fptr + jrec -> stbofs - 1); + if(jrec->stbofs && (fptr = getstb(jrec->hinsi)) != NULL) + stdy.len -= StbYomiLen(fptr + jrec->stbofs - 1); - - if ((fptr = Settou_ptr(jrec -> sttofs)) != NULL) + if((fptr = Settou_ptr(jrec->sttofs)) != NULL) stdy.sttlen = SttYomiLen(fptr); else stdy.sttlen = 0; - - memcpy((unsigned char *)&stdy, kanjitmp, sizeof(STDYOUT)); + memcpy((unsigned char*)&stdy, kanjitmp, sizeof(STDYOUT)); kanjitmp += sizeof(STDYOUT); } - diff --git a/deldic.c b/deldic.c index 3b84e2e..129d5b0 100644 --- a/deldic.c +++ b/deldic.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,86 +28,78 @@ */ /* - * $SonyRCSfile: deldic.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: deldic.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:42 $ * * $Id$ */ - #include #include #include "sj_kcnv.h" #include "kanakan.h" +void mvmemi(); +void mkidxtbl(); -void mvmemi(); -void mkidxtbl(); - - -static int del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs); -static int del_segment(TypeDicSeg seg); +static int del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs); +static int del_segment(TypeDicSeg seg); static void del_uidx(TypeDicSeg seg); static void del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size); - unsigned int -deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) -{ - unsigned char yptr[MaxWdYomiLen + 1]; - unsigned char kptr[MaxWdKanjiLen + 1]; - unsigned int err; - int knjlen; - TypeDicSeg useg; - TypeDicOfs ofs; - unsigned char *p1, *p2, *p3; - int dblknum; - int hblknum; - int kblknum; - int samlen; - unsigned char *stp, *edp; - int size, len; +deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) { + unsigned char yptr[MaxWdYomiLen + 1]; + unsigned char kptr[MaxWdKanjiLen + 1]; + unsigned int err; + int knjlen; + TypeDicSeg useg; + TypeDicOfs ofs; + unsigned char *p1, *p2, *p3; + int dblknum; + int hblknum; + int kblknum; + int samlen; + unsigned char *stp, *edp; + int size, len; - if ((err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr))) != 0) + if((err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr))) != 0) return err; - if ((curdict -> maxunit) == 0) return AD_NotUserDict; + if((curdict->maxunit) == 0) return AD_NotUserDict; knjlen = cvtknj(yomi, kanji, kptr); cnvstart = yptr; - cnvlen = strlen(yptr); + cnvlen = strlen(yptr); useg = srchidx((TypeDicSeg)DicSegBase, cnvlen); (*curdict->getdic)(curdict, useg); - if ((dblknum = srchkana(&p1, &samlen)) == 0) return AD_NoMidasi; + if((dblknum = srchkana(&p1, &samlen)) == 0) return AD_NoMidasi; - if ((hblknum = srchgram(p1, &p2, hinsi)) == 0) return AD_NoHinsi; + if((hblknum = srchgram(p1, &p2, hinsi)) == 0) return AD_NoHinsi; - p3 = p2; + p3 = p2; kblknum = srchkanji(&p3, kptr, knjlen); - if (*p3 == HinsiBlkTerm) return AD_NoKanji; + if(*p3 == HinsiBlkTerm) return AD_NoKanji; ofs = p3 - dicbuf; edp = skipkstr(p3); - if (kblknum == 1) { - if (hblknum == 1) { - if (dblknum == 1) { + if(kblknum == 1) { + if(hblknum == 1) { + if(dblknum == 1) { return del_segment(useg); - } - else { + } else { return del_douon(useg, p1, ofs); } - } - else { + } else { stp = p2; edp++; } - } - else { + } else { stp = p3; } @@ -120,7 +112,7 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) memset(edp, DicSegTerm, dicbuf + curdict->seglen - edp); set_size(p1, (int)(getsize(p1) - size), - (int)getplen(p1), (int)getnlen(p1)); + (int)getplen(p1), (int)getnlen(p1)); (*curdict->putdic)(curdict, useg); @@ -129,32 +121,28 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi) return AD_Done; } - static int -del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs) -{ - unsigned char *nxt, *p1, *p2; - int size; - int nlen, plen, len; +del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs) { + unsigned char *nxt, *p1, *p2; + int size; + int nlen, plen, len; nxt = getntag(ptr); - if (segend(nxt)) { + if(segend(nxt)) { size = nxt - ptr; memset(ptr, DicSegTerm, dicbuf + curdict->seglen - nxt); - } - else { + } else { size = getsize(nxt); nlen = getnlen(nxt); plen = getplen(nxt); - if (ptr == segtop()) { - if (nlen + plen > (unsigned int) count_uidx() - + strlen(get_idxptr(seg))) + if(ptr == segtop()) { + if(nlen + plen > (unsigned int)count_uidx() + strlen(get_idxptr(seg))) return AD_OvflwIndex; } - + len = ((len = getplen(ptr)) < plen) ? plen - len : 0; set_size(ptr, size + len, plen - len, nlen + len); @@ -167,7 +155,7 @@ del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs) size = p1 - p2; memset(dicbuf + curdict->seglen - size, DicSegTerm, size); - if (ptr == segtop()) { + if(ptr == segtop()) { chg_uidx(seg, ptr + DouonBlkSizeNumber, nlen + len); } } @@ -179,24 +167,21 @@ del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs) return AD_Done; } - static int -del_segment(TypeDicSeg seg) -{ - int i; - STDYIN *styp; - TypeDicID dicid; - TypeStyNum stdynum; - TypeDicSeg sg; +del_segment(TypeDicSeg seg) { + int i; + STDYIN* styp; + TypeDicID dicid; + TypeStyNum stdynum; + TypeDicSeg sg; - if (curdict->segunit > 1) { - for (sg = seg + 1 ; sg < curdict->segunit ; sg++) { + if(curdict->segunit > 1) { + for(sg = seg + 1; sg < curdict->segunit; sg++) { (*curdict->getdic)(curdict, sg); (*curdict->putdic)(curdict, sg - 1); } curdict->segunit--; - } - else { + } else { memset(dicbuf, DicSegTerm, (int)curdict->seglen); dicbuf[0] = 0; (*curdict->putdic)(curdict, DicSegBase); @@ -206,29 +191,29 @@ del_segment(TypeDicSeg seg) del_uidx(seg); - if (StudyExist()) { + if(StudyExist()) { dicid = curdict->dicid; - for (i = 0, styp = StudyDict ; i < StudyCount ; ) { - if (styp -> dicid != dicid) + for(i = 0, styp = StudyDict; i < StudyCount;) { + if(styp->dicid != dicid) ; - else if (styp -> seg > seg) - styp -> seg -= 1; - else if (styp -> seg < seg) + else if(styp->seg > seg) + styp->seg -= 1; + else if(styp->seg < seg) ; else { - stdynum = styp -> styno; + stdynum = styp->styno; StudyCount--; mvmemi((unsigned char*)(styp + 1), (unsigned char*)styp, - sizeof(*styp) * (StudyCount - i)); + sizeof(*styp) * (StudyCount - i)); continue; } i++; styp++; } - for (i = 0, styp = StudyDict ; i < StudyCount ; i++, styp++) - if (styp -> styno > stdynum) styp -> styno -= 1; + for(i = 0, styp = StudyDict; i < StudyCount; i++, styp++) + if(styp->styno > stdynum) styp->styno -= 1; putstydic(); } @@ -236,16 +221,13 @@ del_segment(TypeDicSeg seg) return AD_Done; } - static void -del_uidx(TypeDicSeg seg) -{ - unsigned char *p, *q; - int len; +del_uidx(TypeDicSeg seg) { + unsigned char *p, *q; + int len; p = get_idxptr(seg); - for (q = p ; *q++; ) - ; + for(q = p; *q++;); mvmemi(q, p, idxbuf + curdict->idxlen - q); @@ -257,41 +239,39 @@ del_uidx(TypeDicSeg seg) mkidxtbl(curdict); } - static void -del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size) -{ - int i; - TypeStyNum stdynum; - STDYIN *stdy; - TypeDicID dicid; +del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size) { + int i; + TypeStyNum stdynum; + STDYIN* stdy; + TypeDicID dicid; - if (StudyExist()) { + if(StudyExist()) { stdynum = 0; - dicid = curdict->dicid; - for (i = 0, stdy = StudyDict ; i < StudyCount ; ) { - if (stdy -> dicid != dicid) + dicid = curdict->dicid; + for(i = 0, stdy = StudyDict; i < StudyCount;) { + if(stdy->dicid != dicid) ; - else if (stdy -> seg != seg) + else if(stdy->seg != seg) ; - else if (stdy -> offset > ofs) - stdy -> offset -= size; + else if(stdy->offset > ofs) + stdy->offset -= size; - else if (stdy -> offset == ofs) { - stdynum = stdy -> styno; + else if(stdy->offset == ofs) { + stdynum = stdy->styno; StudyCount--; mvmemi((unsigned char*)(stdy + 1), (unsigned char*)stdy, - sizeof(*stdy) * (StudyCount - i)); + sizeof(*stdy) * (StudyCount - i)); continue; } i++; stdy++; } - for (i = 0, stdy = StudyDict ; i < StudyCount ; i++, stdy++) - if (stdy -> styno > stdynum) (stdy -> styno)--; + for(i = 0, stdy = StudyDict; i < StudyCount; i++, stdy++) + if(stdy->styno > stdynum) (stdy->styno)--; putstydic(); } diff --git a/depend.c b/depend.c index cbe1aa3..9e15fd6 100644 --- a/depend.c +++ b/depend.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: depend.c,v $ - * $SonyRevision: 1.4 $ + * $SonyRCSfile: depend.c,v $ + * $SonyRevision: 1.4 $ * $SonyDate: 1997/10/07 07:39:45 $ * * $Id$ */ - #include #include "sj_kcnv.h" #include @@ -48,24 +47,20 @@ #include "sj3err.h" #include "kanakan.h" - #if defined(__FD_SET) && !defined(FD_SET) -# define FD_SET __FD_SET -# define FD_CLR __FD_CLR +#define FD_SET __FD_SET +#define FD_CLR __FD_CLR #endif -extern int serv_errno; -extern Global *work_base; - - -DictFile *dictlink = NULL; -StdyFile *stdylink = NULL; +extern int serv_errno; +extern Global* work_base; +DictFile* dictlink = NULL; +StdyFile* stdylink = NULL; static long -get4byte(unsigned char* p) -{ - long i; +get4byte(unsigned char* p) { + long i; i = *p; i = (i << 8) + *++p; @@ -74,749 +69,687 @@ get4byte(unsigned char* p) } static void -Put4byte(unsigned char* p, long n) -{ +Put4byte(unsigned char* p, long n) { p += 3; - *p-- = n; n >>= 8; - *p-- = n; n >>= 8; - *p-- = n; n >>= 8; + *p-- = n; + n >>= 8; + *p-- = n; + n >>= 8; + *p-- = n; + n >>= 8; *p = n; } -#define put4byte(p, n) Put4byte((p), (long)(n)) - +#define put4byte(p, n) Put4byte((p), (long)(n)) static int -fgetfile(FILE* fp, long pos, int len, void* p) -{ - if (fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; return ERROR; +fgetfile(FILE* fp, long pos, int len, void* p) { + if(fseek(fp, pos, 0) == ERROR) { + serv_errno = SJ3_FileSeekError; + return ERROR; } - if (fread(p, len, 1, fp) != 1) { - serv_errno = SJ3_FileReadError; return ERROR; + if(fread(p, len, 1, fp) != 1) { + serv_errno = SJ3_FileReadError; + return ERROR; } return SJ3_NormalEnd; } static int -fputfile(FILE* fp, long pos, int len, unsigned char* p) -{ - if (fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; return ERROR; +fputfile(FILE* fp, long pos, int len, unsigned char* p) { + if(fseek(fp, pos, 0) == ERROR) { + serv_errno = SJ3_FileSeekError; + return ERROR; } - if (fwrite(p, len, 1, fp) != 1) { - serv_errno = SJ3_FileWriteError; return ERROR; + if(fwrite(p, len, 1, fp) != 1) { + serv_errno = SJ3_FileWriteError; + return ERROR; } return SJ3_NormalEnd; } static int -getfile(int fd, off_t pos, int len, void* p) -{ - if (lseek(fd, pos, L_SET) == ERROR) { - serv_errno = SJ3_FileSeekError; return ERROR; +getfile(int fd, off_t pos, int len, void* p) { + if(lseek(fd, pos, L_SET) == ERROR) { + serv_errno = SJ3_FileSeekError; + return ERROR; } - if (read(fd, p, len) != len) { - serv_errno = SJ3_FileReadError; return ERROR; + if(read(fd, p, len) != len) { + serv_errno = SJ3_FileReadError; + return ERROR; } return SJ3_NormalEnd; } static int -putfile(int fd, off_t pos, int len, void* p) -{ - if (lseek(fd, pos, L_SET) == ERROR) { - serv_errno = SJ3_FileSeekError; return ERROR; +putfile(int fd, off_t pos, int len, void* p) { + if(lseek(fd, pos, L_SET) == ERROR) { + serv_errno = SJ3_FileSeekError; + return ERROR; } - if (write(fd, p, len) != len) { - serv_errno = SJ3_FileWriteError; return ERROR; + if(write(fd, p, len) != len) { + serv_errno = SJ3_FileWriteError; + return ERROR; } return SJ3_NormalEnd; } - static int -check_passwd(unsigned char* buf, char* passwd) -{ +check_passwd(unsigned char* buf, char* passwd) { buf += PasswdPos; return (*buf && strncmp(passwd, buf, PasswdLen)) ? FALSE : TRUE; } static void -set_passwd(unsigned char* buf, char* passwd) -{ +set_passwd(unsigned char* buf, char* passwd) { strncpy(buf + PasswdPos, passwd, PasswdLen); } - static int -check_dictfile(unsigned char* buf) -{ +check_dictfile(unsigned char* buf) { return (DictVersion != get4byte(buf + VersionPos)) ? FALSE : TRUE; } - static DictFile* -search_same_dict(ino_t ino) -{ - DictFile *p; +search_same_dict(ino_t ino) { + DictFile* p; - for (p = dictlink ; p != NULL ; p = p -> link) - if (p->dict.dicid == ino) return p; + for(p = dictlink; p != NULL; p = p->link) + if(p->dict.dicid == ino) return p; return NULL; } - static int -getofs(DictFile* dp) -{ - idxofs = dp -> ofsptr; +getofs(DictFile* dp) { + idxofs = dp->ofsptr; return 0; } static int -getidx(DictFile* dp) -{ - idxbuf = dp -> buffer + dp -> idxstrt; +getidx(DictFile* dp) { + idxbuf = dp->buffer + dp->idxstrt; return 0; } static int -getdic(DictFile* dp, TypeDicSeg seg) -{ - if (seg >= dp->dict.segunit) return -1; +getdic(DictFile* dp, TypeDicSeg seg) { + if(seg >= dp->dict.segunit) return -1; dicbuf = dp->buffer + dp->segstrt + dp->dict.seglen * seg; return 0; } static int -putidx(DictFile* dp, TypeDicSeg seg) -{ +putidx(DictFile* dp, TypeDicSeg seg) { return putfile(dp->fd, dp->idxstrt, dp->dict.idxlen, idxbuf); } static int -putdic(DictFile* dp, TypeDicSeg seg) -{ - unsigned char *p; - long i, j; +putdic(DictFile* dp, TypeDicSeg seg) { + unsigned char* p; + long i, j; - if (seg >= dp->dict.maxunit) return -1; + if(seg >= dp->dict.maxunit) return -1; i = dp->segstrt + dp->dict.seglen * (seg + 1); - if (i > dp->bufsiz) { - if (!(p = (unsigned char *)malloc(i))) return -1; + if(i > dp->bufsiz) { + if(!(p = (unsigned char*)malloc(i))) return -1; memcpy(dp->buffer, p, dp->bufsiz); - if (idxbuf - dp->buffer == dp->idxstrt) + if(idxbuf - dp->buffer == dp->idxstrt) idxbuf = p + dp->idxstrt; - if ((dicbuf >= dp->buffer) && - ((j = dicbuf - dp->buffer) < dp->bufsiz)) + if((dicbuf >= dp->buffer) && + ((j = dicbuf - dp->buffer) < dp->bufsiz)) dicbuf = p + j; - free((char *)(dp -> buffer)); - dp -> buffer = p; - dp -> bufsiz = i; + free((char*)(dp->buffer)); + dp->buffer = p; + dp->bufsiz = i; } i = dp->segstrt + dp->dict.seglen * seg; - if ((p = dp->buffer + i) != dicbuf) memcpy(dicbuf, p, dp->dict.seglen); + if((p = dp->buffer + i) != dicbuf) memcpy(dicbuf, p, dp->dict.seglen); return putfile(dp->fd, i, dp->dict.seglen, p); } static int -rszdic(DictFile* dp, TypeDicSeg seg) -{ - long i; - unsigned char *p; +rszdic(DictFile* dp, TypeDicSeg seg) { + long i; + unsigned char* p; i = dp->segstrt + dp->dict.seglen * seg; - if (dp->bufsiz != i) { - if (!(p = (unsigned char *)malloc(i))) return -1; + if(dp->bufsiz != i) { + if(!(p = (unsigned char*)malloc(i))) return -1; memcpy(dp->buffer, p, ((i > dp->bufsiz) ? dp->bufsiz : i)); - if (idxbuf - dp->buffer == dp->idxstrt) + if(idxbuf - dp->buffer == dp->idxstrt) idxbuf = p + dp->idxstrt; - if ((dicbuf >= dp->buffer) && - ((i = dicbuf - dp->buffer) < dp->bufsiz)) + if((dicbuf >= dp->buffer) && + ((i = dicbuf - dp->buffer) < dp->bufsiz)) dicbuf = p + i; - free((char *)(dp -> buffer)); - dp -> buffer = p; - dp -> bufsiz = i; - if (ftruncate(dp->fd, i) == -1) return -1; + free((char*)(dp->buffer)); + dp->buffer = p; + dp->bufsiz = i; + if(ftruncate(dp->fd, i) == -1) return -1; } put4byte(dp->buffer + DictSegNum, seg); return putfile(dp->fd, 0, HeaderLength, dp->buffer); } - DictFile* -opendict(char* name, char* passwd) -{ - FILE *fp; - struct stat sbuf; - DictFile *dfp; - unsigned char tmp[HeaderLength]; - int i; - unsigned char *dp; +opendict(char* name, char* passwd) { + FILE* fp; + struct stat sbuf; + DictFile* dfp; + unsigned char tmp[HeaderLength]; + int i; + unsigned char* dp; - - if (stat(name, &sbuf) == ERROR) { - if (errno == ENOENT) + if(stat(name, &sbuf) == ERROR) { + if(errno == ENOENT) serv_errno = SJ3_FileNotExist; else serv_errno = SJ3_CannotAccessFile; return NULL; } - - if ((dfp = search_same_dict(sbuf.st_ino)) != NULL) { - dfp -> refcnt++; return dfp; + if((dfp = search_same_dict(sbuf.st_ino)) != NULL) { + dfp->refcnt++; + return dfp; } - - if ((fp = fopen(name, "r+")) == NULL) { - if ((fp = fopen(name, "r")) == NULL) { - serv_errno = SJ3_CannotOpenFile; return NULL; + if((fp = fopen(name, "r+")) == NULL) { + if((fp = fopen(name, "r")) == NULL) { + serv_errno = SJ3_CannotOpenFile; + return NULL; } i = FALSE; - } - else + } else i = TRUE; - - if (fgetfile(fp, 0L, sizeof(tmp), tmp) == ERROR) goto error1; + if(fgetfile(fp, 0L, sizeof(tmp), tmp) == ERROR) goto error1; - - if (!check_dictfile(tmp)) { - serv_errno = SJ3_IllegalDictFile; goto error1; + if(!check_dictfile(tmp)) { + serv_errno = SJ3_IllegalDictFile; + goto error1; } - - if (!check_passwd(tmp, passwd)) { - serv_errno = SJ3_IncorrectPasswd; goto error1; + if(!check_passwd(tmp, passwd)) { + serv_errno = SJ3_IncorrectPasswd; + goto error1; } #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__) - if ((dp = (unsigned char *)malloc((long)sbuf.st_size)) == NULL) { + if((dp = (unsigned char*)malloc((long)sbuf.st_size)) == NULL) { #else - if ((dp = (unsigned char *)malloc(sbuf.st_size)) == NULL) { + if((dp = (unsigned char*)malloc(sbuf.st_size)) == NULL) { #endif - serv_errno = SJ3_NotEnoughMemory; goto error1; + serv_errno = SJ3_NotEnoughMemory; + goto error1; } - if ((dfp = (DictFile *)malloc(sizeof(*dfp))) == NULL) { - serv_errno = SJ3_NotEnoughMemory; goto error2; + if((dfp = (DictFile*)malloc(sizeof(*dfp))) == NULL) { + serv_errno = SJ3_NotEnoughMemory; + goto error2; } memset(dfp, '\0', sizeof(*dfp)); #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__) - if (fgetfile(fp, 0L, (long)sbuf.st_size, dp) == ERROR) goto error3; + if(fgetfile(fp, 0L, (long)sbuf.st_size, dp) == ERROR) goto error3; #else - if (fgetfile(fp, 0L, sbuf.st_size, dp) == ERROR) goto error3; -#endif - dfp -> dict.dicid = sbuf.st_ino; - dfp -> dict.idxlen = get4byte(dp + DictIdxLen); - dfp -> dict.seglen = get4byte(dp + DictSegLen); - dfp -> dict.segunit = get4byte(dp + DictSegNum); - dfp -> dict.maxunit = i ? get4byte(dp + DictSegMax) : 0 ; - dfp -> dict.getofs = getofs; - dfp -> dict.getidx = getidx; - dfp -> dict.getdic = getdic; - dfp -> dict.putidx = putidx; - dfp -> dict.putdic = putdic; - dfp -> dict.rszdic = rszdic; - dfp -> refcnt = 1; - dfp -> fp = fp; - dfp -> fd = fileno(fp); - dfp -> buffer = dp; - dfp -> bufsiz = sbuf.st_size; - dfp -> idxstrt = get4byte(dp + DictIdxPos); - dfp -> segstrt = get4byte(dp + DictSegPos); + if(fgetfile(fp, 0L, sbuf.st_size, dp) == ERROR) goto error3; +#endif + dfp->dict.dicid = sbuf.st_ino; + dfp->dict.idxlen = get4byte(dp + DictIdxLen); + dfp->dict.seglen = get4byte(dp + DictSegLen); + dfp->dict.segunit = get4byte(dp + DictSegNum); + dfp->dict.maxunit = i ? get4byte(dp + DictSegMax) : 0; + dfp->dict.getofs = getofs; + dfp->dict.getidx = getidx; + dfp->dict.getdic = getdic; + dfp->dict.putidx = putidx; + dfp->dict.putdic = putdic; + dfp->dict.rszdic = rszdic; + dfp->refcnt = 1; + dfp->fp = fp; + dfp->fd = fileno(fp); + dfp->buffer = dp; + dfp->bufsiz = sbuf.st_size; + dfp->idxstrt = get4byte(dp + DictIdxPos); + dfp->segstrt = get4byte(dp + DictSegPos); - i = dfp -> dict.segunit; - if (i < dfp -> dict.maxunit) i = dfp -> dict.maxunit; + i = dfp->dict.segunit; + if(i < dfp->dict.maxunit) i = dfp->dict.maxunit; i *= sizeof(TypeIdxOfs); - if ((dfp -> ofsptr = (TypeIdxOfs *)malloc(i)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; goto error3; + if((dfp->ofsptr = (TypeIdxOfs*)malloc(i)) == NULL) { + serv_errno = SJ3_NotEnoughMemory; + goto error3; } - mkidxtbl(&(dfp -> dict)); + mkidxtbl(&(dfp->dict)); - dfp -> link = dictlink; - dictlink = dfp; + dfp->link = dictlink; + dictlink = dfp; return dfp; - - -error3: free((char *)dfp); -error2: free((char *)dp); -error1: fclose(fp); +error3: + free((char*)dfp); +error2: + free((char*)dp); +error1: + fclose(fp); return NULL; } +int closedict(DictFile* dfp) { + DictFile* df; -int -closedict(DictFile* dfp) -{ - DictFile *df; + if(--dfp->refcnt > 0) return 0; - - if (--dfp->refcnt > 0) return 0; - - - if (dictlink == dfp) - dictlink = dfp -> link; + if(dictlink == dfp) + dictlink = dfp->link; else { - for (df = dictlink ; df ; df = df -> link) - if (df -> link == dfp) { - df -> link = dfp -> link; + for(df = dictlink; df; df = df->link) + if(df->link == dfp) { + df->link = dfp->link; break; } } - - if (dfp -> fp) fclose(dfp ->fp); + if(dfp->fp) fclose(dfp->fp); - - free((char *)(dfp -> ofsptr)); - free((char *)(dfp -> buffer)); - free((char *)dfp); + free((char*)(dfp->ofsptr)); + free((char*)(dfp->buffer)); + free((char*)dfp); return 0; } +static fd_set zero_fd_set = {{0}}; -static fd_set zero_fd_set = { { 0 } }; - -void -lock_dict(DictFile* p, int fd) -{ - FD_SET(fd, &(p -> lock)); +void lock_dict(DictFile* p, int fd) { + FD_SET(fd, &(p->lock)); } -void -unlock_dict(DictFile* p, int fd) -{ - FD_CLR(fd, &(p -> lock)); +void unlock_dict(DictFile* p, int fd) { + FD_CLR(fd, &(p->lock)); } -int -is_dict_locked(DictFile* p) -{ - return memcmp(&(p -> lock), &zero_fd_set, sizeof(zero_fd_set)); +int is_dict_locked(DictFile* p) { + return memcmp(&(p->lock), &zero_fd_set, sizeof(zero_fd_set)); } - static int -check_stdyfile(unsigned char* buf) -{ +check_stdyfile(unsigned char* buf) { return (StdyVersion != get4byte(buf + VersionPos)) ? FALSE : TRUE; } - static StdyFile* -search_same_stdy(ino_t ino) -{ - StdyFile *p; +search_same_stdy(ino_t ino) { + StdyFile* p; - for (p = stdylink ; p != NULL ; p = p -> link) - if (p -> inode == ino) return p; + for(p = stdylink; p != NULL; p = p->link) + if(p->inode == ino) return p; return NULL; } - StdyFile* -openstdy(char* name, char* passwd) -{ - FILE *fp; +openstdy(char* name, char* passwd) { + FILE* fp; struct stat sbuf; - StdyFile *sfp; - unsigned char *hd; - STDYIN *sp; - unsigned short *cip; - unsigned char *clp; + StdyFile* sfp; + unsigned char* hd; + STDYIN* sp; + unsigned short* cip; + unsigned char* clp; long stdycnt, stdypos, stdylen, stdymax; long clidxpos, clidxlen; long clstdypos, clstdylen, clstdystep; long len; - - if (stat(name, &sbuf) == ERROR) { - if (errno == ENOENT) + if(stat(name, &sbuf) == ERROR) { + if(errno == ENOENT) serv_errno = SJ3_FileNotExist; else serv_errno = SJ3_CannotAccessFile; return NULL; } - - if ((sfp = search_same_stdy(sbuf.st_ino)) != NULL) { - sfp -> refcnt++; return sfp; + if((sfp = search_same_stdy(sbuf.st_ino)) != NULL) { + sfp->refcnt++; + return sfp; } - - if ((hd = (unsigned char *)malloc(HeaderLength+CommentLength)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; return NULL; + if((hd = (unsigned char*)malloc(HeaderLength + CommentLength)) == NULL) { + serv_errno = SJ3_NotEnoughMemory; + return NULL; } - - if ((fp = fopen(name, "r+")) == NULL) { - serv_errno = SJ3_CannotOpenFile; goto error0; + if((fp = fopen(name, "r+")) == NULL) { + serv_errno = SJ3_CannotOpenFile; + goto error0; } - - if (fgetfile(fp, 0L, HeaderLength+CommentLength, hd) == ERROR) + if(fgetfile(fp, 0L, HeaderLength + CommentLength, hd) == ERROR) goto error1; - - if (!check_stdyfile(hd)) { - serv_errno = SJ3_IllegalStdyFile; goto error1; + if(!check_stdyfile(hd)) { + serv_errno = SJ3_IllegalStdyFile; + goto error1; } - - if (!check_passwd(hd, passwd)) { - serv_errno = SJ3_IncorrectPasswd; goto error1; + if(!check_passwd(hd, passwd)) { + serv_errno = SJ3_IncorrectPasswd; + goto error1; } - - stdycnt = get4byte(hd + StdyNormCnt); - stdypos = get4byte(hd + StdyNormPos); - stdylen = get4byte(hd + StdyNormLen); - stdymax = get4byte(hd + StdyNormNum); + stdycnt = get4byte(hd + StdyNormCnt); + stdypos = get4byte(hd + StdyNormPos); + stdylen = get4byte(hd + StdyNormLen); + stdymax = get4byte(hd + StdyNormNum); clidxpos = get4byte(hd + StdyClIdxPos); clidxlen = get4byte(hd + StdyClIdxLen); clstdypos = get4byte(hd + StdyClSegPos); clstdylen = get4byte(hd + StdyClSegLen); clstdystep = get4byte(hd + StdyClIdxStep); - len = sizeof(STDYIN) * stdymax; + len = sizeof(STDYIN) * stdymax; - - if ((sfp = (StdyFile *)malloc(sizeof(*sfp))) == NULL) { - serv_errno = SJ3_NotEnoughMemory; goto error1; + if((sfp = (StdyFile*)malloc(sizeof(*sfp))) == NULL) { + serv_errno = SJ3_NotEnoughMemory; + goto error1; } memset(sfp, '\0', sizeof(*sfp)); - if ((sp = (STDYIN *)malloc(len)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; goto error2; + if((sp = (STDYIN*)malloc(len)) == NULL) { + serv_errno = SJ3_NotEnoughMemory; + goto error2; } - if ((cip = (unsigned short *)malloc(clidxlen)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; goto error3; + if((cip = (unsigned short*)malloc(clidxlen)) == NULL) { + serv_errno = SJ3_NotEnoughMemory; + goto error3; } - if ((clp = (unsigned char *)malloc(clstdylen)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; goto error4; + if((clp = (unsigned char*)malloc(clstdylen)) == NULL) { + serv_errno = SJ3_NotEnoughMemory; + goto error4; } - - if (fgetfile(fp, clidxpos, clidxlen, cip) == ERROR) goto error5; - if (fgetfile(fp, clstdypos, clstdylen, clp) == ERROR) goto error5; - if (fgetfile(fp, stdypos, len, sp) == ERROR) stdycnt = 0; + if(fgetfile(fp, clidxpos, clidxlen, cip) == ERROR) goto error5; + if(fgetfile(fp, clstdypos, clstdylen, clp) == ERROR) goto error5; + if(fgetfile(fp, stdypos, len, sp) == ERROR) stdycnt = 0; - - sfp -> stdy.stdycnt = stdycnt; - sfp -> stdy.stdymax = stdymax; - sfp -> stdy.stdydic = sp; - sfp -> stdy.clstdystep = clstdystep; - sfp -> stdy.clstdyidx = cip; - sfp -> stdy.clstdylen = clstdylen; - sfp -> stdy.clstdydic = clp; - sfp -> refcnt = 1; - sfp -> inode = sbuf.st_ino; - sfp -> fp = fp; - sfp -> fd = fileno(fp); - sfp -> header = hd; + sfp->stdy.stdycnt = stdycnt; + sfp->stdy.stdymax = stdymax; + sfp->stdy.stdydic = sp; + sfp->stdy.clstdystep = clstdystep; + sfp->stdy.clstdyidx = cip; + sfp->stdy.clstdylen = clstdylen; + sfp->stdy.clstdydic = clp; + sfp->refcnt = 1; + sfp->inode = sbuf.st_ino; + sfp->fp = fp; + sfp->fd = fileno(fp); + sfp->header = hd; - sfp -> link = stdylink; - stdylink = sfp; + sfp->link = stdylink; + stdylink = sfp; return sfp; - - -error5: free((char *)clp); -error4: free((char *)cip); -error3: free((char *)sp); -error2: free((char *)sfp); -error1: fclose(fp); -error0: free((char *)hd); +error5: + free((char*)clp); +error4: + free((char*)cip); +error3: + free((char*)sp); +error2: + free((char*)sfp); +error1: + fclose(fp); +error0: + free((char*)hd); return NULL; } +int closestdy(StdyFile* sfp) { + StdyFile* sf; -int -closestdy(StdyFile* sfp) -{ - StdyFile *sf; + if(--sfp->refcnt > 0) return 0; - - if (--sfp->refcnt > 0) return 0; - - - if (stdylink == sfp) - stdylink = sfp -> link; + if(stdylink == sfp) + stdylink = sfp->link; else { - for (sf = stdylink ; sf ; sf = sf -> link) - if (sf -> link == sfp) { - sf -> link = sfp -> link; + for(sf = stdylink; sf; sf = sf->link) + if(sf->link == sfp) { + sf->link = sfp->link; break; } } - - if (sfp -> fp) fclose(sfp ->fp); + if(sfp->fp) fclose(sfp->fp); - - free((char *)sfp -> stdy.stdydic); - free((char *)sfp -> stdy.clstdyidx); - free((char *)sfp -> stdy.clstdydic); - free((char *)sfp -> header); - free((char *)sfp); + free((char*)sfp->stdy.stdydic); + free((char*)sfp->stdy.clstdyidx); + free((char*)sfp->stdy.clstdydic); + free((char*)sfp->header); + free((char*)sfp); return 0; } +int putstydic(void) { + int fd; + unsigned char* hd; + StdyFile* sf; + long len; -int -putstydic(void) -{ - int fd; - unsigned char *hd; - StdyFile *sf; - long len; + sf = (StdyFile*)stdy_base; + fd = sf->fd; + hd = sf->header; - sf = (StdyFile *)stdy_base; - fd = sf -> fd; - hd = sf -> header; + put4byte(hd + StdyNormCnt, sf->stdy.stdycnt); - - put4byte(hd + StdyNormCnt, sf -> stdy.stdycnt); - - - len = sizeof(STDYIN) * sf -> stdy.stdymax; + len = sizeof(STDYIN) * sf->stdy.stdymax; put4byte(hd + StdyNormLen, len); - - if (putfile(fd, 0, HeaderLength+CommentLength, hd)) return ERROR; + if(putfile(fd, 0, HeaderLength + CommentLength, hd)) return ERROR; - - return putfile(fd, get4byte(hd + StdyNormPos), len, sf -> stdy.stdydic); + return putfile(fd, get4byte(hd + StdyNormPos), len, sf->stdy.stdydic); } -int -putcldic(void) -{ - int fd; - unsigned char *hd; - StdyFile *sf; +int putcldic(void) { + int fd; + unsigned char* hd; + StdyFile* sf; - sf = (StdyFile *)stdy_base; - fd = sf -> fd; - hd = sf -> header; + sf = (StdyFile*)stdy_base; + fd = sf->fd; + hd = sf->header; - if (putfile(fd, get4byte(hd + StdyClIdxPos), - get4byte(hd + StdyClIdxLen), sf -> stdy.clstdyidx)) + if(putfile(fd, get4byte(hd + StdyClIdxPos), + get4byte(hd + StdyClIdxLen), sf->stdy.clstdyidx)) return ERROR; return putfile(fd, get4byte(hd + StdyClSegPos), - get4byte(hd + StdyClSegLen), sf -> stdy.clstdydic); + get4byte(hd + StdyClSegLen), sf->stdy.clstdydic); } +int makedict(char* path, int idxlen, int seglen, int segnum) { + FILE* fp; + unsigned char tmp[HeaderLength + CommentLength]; + long pos = HeaderLength + CommentLength; + int ret = ERROR; + int i; -int -makedict(char* path, int idxlen, int seglen, int segnum) -{ - FILE *fp; - unsigned char tmp[HeaderLength + CommentLength]; - long pos = HeaderLength + CommentLength; - int ret = ERROR; - int i; - - - if (idxlen < MinIdxLen || seglen < MinSegLen || segnum < MinSegNum) { - serv_errno = SJ3_IllegalParameter; return ret; + if(idxlen < MinIdxLen || seglen < MinSegLen || segnum < MinSegNum) { + serv_errno = SJ3_IllegalParameter; + return ret; } - if (!(fp = fopen(path, "w"))) { - serv_errno = SJ3_CannotCreateFile; return ret; + if(!(fp = fopen(path, "w"))) { + serv_errno = SJ3_CannotCreateFile; + return ret; } memset(tmp, '\0', sizeof(tmp)); put4byte(tmp + VersionPos, DictVersion); - put4byte(tmp + DictIdxPos, pos); put4byte(tmp + DictIdxLen, idxlen); - if (fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; goto error; + if(fseek(fp, pos, 0) == ERROR) { + serv_errno = SJ3_FileSeekError; + goto error; } - for (i = 0 ; i < idxlen ; i++) - if (putc(0, fp)) { - serv_errno = SJ3_FileWriteError; goto error; + for(i = 0; i < idxlen; i++) + if(putc(0, fp)) { + serv_errno = SJ3_FileWriteError; + goto error; } pos += idxlen; - put4byte(tmp + DictSegPos, pos); put4byte(tmp + DictSegLen, seglen); put4byte(tmp + DictSegNum, 1); put4byte(tmp + DictSegMax, segnum); - if (fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; goto error; + if(fseek(fp, pos, 0) == ERROR) { + serv_errno = SJ3_FileSeekError; + goto error; } - if (putc(0, fp)) { - serv_errno = SJ3_FileWriteError; goto error; + if(putc(0, fp)) { + serv_errno = SJ3_FileWriteError; + goto error; } - for (i = 1 ; i < seglen ; i++) - if (putc(0xff, fp) != 0xff) { - serv_errno = SJ3_FileWriteError; goto error; + for(i = 1; i < seglen; i++) + if(putc(0xff, fp) != 0xff) { + serv_errno = SJ3_FileWriteError; + goto error; } - - if (fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd) + if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd) ret = SJ3_NormalEnd; error: fclose(fp); - if (ret != SJ3_NormalEnd) unlink(path); + if(ret != SJ3_NormalEnd) unlink(path); return ret; } +int makestdy(char* path, int stynum, int clstep, int cllen) { + FILE* fp; + unsigned char tmp[HeaderLength + CommentLength]; + long pos = HeaderLength + CommentLength; + int ret = ERROR; + int i, j; -int -makestdy(char* path, int stynum, int clstep, int cllen) -{ - FILE *fp; - unsigned char tmp[HeaderLength + CommentLength]; - long pos = HeaderLength + CommentLength; - int ret = ERROR; - int i, j; + if(stynum == 0) stynum = MinStyNum; + if(clstep == 0) clstep = MinClStep; + if(cllen == 0) cllen = MinClLen; - - if (stynum == 0) stynum = MinStyNum; - if (clstep == 0) clstep = MinClStep; - if (cllen == 0) cllen = MinClLen; - - - if (stynum < MinStyNum || clstep < MinClStep || cllen < MinClLen) { - serv_errno = SJ3_IllegalParameter; return ret; + if(stynum < MinStyNum || clstep < MinClStep || cllen < MinClLen) { + serv_errno = SJ3_IllegalParameter; + return ret; } - if (stynum > MaxStyNum || clstep > MaxClStep || cllen > MaxClLen) { - serv_errno = SJ3_IllegalParameter; return ret; + if(stynum > MaxStyNum || clstep > MaxClStep || cllen > MaxClLen) { + serv_errno = SJ3_IllegalParameter; + return ret; } - if (!(fp = fopen(path, "w"))) { - serv_errno = SJ3_CannotCreateFile; return ret; + if(!(fp = fopen(path, "w"))) { + serv_errno = SJ3_CannotCreateFile; + return ret; } memset(tmp, '\0', sizeof(tmp)); put4byte(tmp + VersionPos, StdyVersion); - j = 256 * sizeof(unsigned short); put4byte(tmp + StdyClIdxPos, pos); put4byte(tmp + StdyClIdxLen, j); put4byte(tmp + StdyClIdxStep, clstep); - if (fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; goto error; + if(fseek(fp, pos, 0) == ERROR) { + serv_errno = SJ3_FileSeekError; + goto error; } - for (i = 0 ; i < j ; i++) - if (putc(0, fp)) { - serv_errno = SJ3_FileWriteError; goto error; + for(i = 0; i < j; i++) + if(putc(0, fp)) { + serv_errno = SJ3_FileWriteError; + goto error; } pos += j; - put4byte(tmp + StdyClSegPos, pos); put4byte(tmp + StdyClSegLen, cllen); - if (fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; goto error; + if(fseek(fp, pos, 0) == ERROR) { + serv_errno = SJ3_FileSeekError; + goto error; } - for (i = 0 ; i < cllen ; i++) - if (putc(0, fp)) { - serv_errno = SJ3_FileWriteError; goto error; + for(i = 0; i < cllen; i++) + if(putc(0, fp)) { + serv_errno = SJ3_FileWriteError; + goto error; } pos += cllen; - j = sizeof(STDYIN) * stynum; put4byte(tmp + StdyNormPos, pos); put4byte(tmp + StdyNormLen, j); put4byte(tmp + StdyNormNum, stynum); put4byte(tmp + StdyNormCnt, 0); - if (fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; goto error; + if(fseek(fp, pos, 0) == ERROR) { + serv_errno = SJ3_FileSeekError; + goto error; } - for (i = 0 ; i < j ; i++) { - if (putc(0, fp)) { - serv_errno = SJ3_FileWriteError; goto error; + for(i = 0; i < j; i++) { + if(putc(0, fp)) { + serv_errno = SJ3_FileWriteError; + goto error; } } pos += j; - - if (fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd) + if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd) ret = SJ3_NormalEnd; error: fclose(fp); - if (ret != SJ3_NormalEnd) unlink(path); + if(ret != SJ3_NormalEnd) unlink(path); return ret; } - -void -sj_closeall(void) -{ - while (dictlink) closedict(dictlink); - while (stdylink) closestdy(stdylink); +void sj_closeall(void) { + while(dictlink) closedict(dictlink); + while(stdylink) closestdy(stdylink); } - -int -set_dictpass(DictFile* dp, char* pass) -{ - set_passwd(dp -> buffer, pass); - return putfile(dp->fd, 0, HeaderLength+CommentLength, dp->buffer); +int set_dictpass(DictFile* dp, char* pass) { + set_passwd(dp->buffer, pass); + return putfile(dp->fd, 0, HeaderLength + CommentLength, dp->buffer); } -int -set_stdypass(char* pass) -{ - StdyFile *sp; +int set_stdypass(char* pass) { + StdyFile* sp; - sp = (StdyFile *)stdy_base; - set_passwd(sp -> header, pass); - return putfile(sp->fd, 0, HeaderLength+CommentLength, sp->header); + sp = (StdyFile*)stdy_base; + set_passwd(sp->header, pass); + return putfile(sp->fd, 0, HeaderLength + CommentLength, sp->header); } - - static void -set_comment(unsigned char* buf, char* comment) -{ +set_comment(unsigned char* buf, char* comment) { strncpy(buf + HeaderLength, comment, CommentLength); } -int -set_dictcmnt(DictFile* dp, char* cmnt) -{ - set_comment(dp -> buffer, cmnt); - return putfile(dp->fd, 0, HeaderLength+CommentLength, dp->buffer); +int set_dictcmnt(DictFile* dp, char* cmnt) { + set_comment(dp->buffer, cmnt); + return putfile(dp->fd, 0, HeaderLength + CommentLength, dp->buffer); } -int -set_stdycmnt(char* cmnt) -{ - StdyFile *sp; +int set_stdycmnt(char* cmnt) { + StdyFile* sp; - sp = (StdyFile *)stdy_base; - set_comment(sp -> header, cmnt); - return putfile(sp->fd, 0, HeaderLength+CommentLength, sp->header); + sp = (StdyFile*)stdy_base; + set_comment(sp->header, cmnt); + return putfile(sp->fd, 0, HeaderLength + CommentLength, sp->header); } - -void -get_stdysize(int* stynum, int* clstep, int* cllen) -{ +void get_stdysize(int* stynum, int* clstep, int* cllen) { *stynum = StudyMax; *clstep = ClStudyStep; - *cllen = ClStudyLen; + *cllen = ClStudyLen; } diff --git a/dict.c b/dict.c index a452ff6..ebc5810 100644 --- a/dict.c +++ b/dict.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,59 +28,52 @@ */ /* - * $SonyRCSfile: dict.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: dict.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:45 $ * * $Id$ */ - #include #include "sj_euc.h" #include "sj_kcnv.h" #include "kanakan.h" - -void -get_askknj(void) -{ - unsigned char *p; - unsigned char *q; - unsigned char *r; - int i = 0, csize; - int flg; +void get_askknj(void) { + unsigned char* p; + unsigned char* q; + unsigned char* r; + int i = 0, csize; + int flg; p = q = dicbuf; q += *p++; - while (p < q) { + while(p < q) { askknj[i] = p; - r = NULL; - flg = TRUE; + r = NULL; + flg = TRUE; do { csize = codesize(*p); - if (p[csize] == KanjiStrEnd) flg = FALSE; + if(p[csize] == KanjiStrEnd) flg = FALSE; - if (!r && (*p != AiAttribute)) + if(!r && (*p != AiAttribute)) r = p; p += csize; - } while (flg); - + } while(flg); + p++; askknj_k[i++] = r; } } +int seldict(TypeDicID id) { + DICTL* dp; -int -seldict(TypeDicID id) -{ - DICTL *dp; - - for (dp = dictlist ; dp ; dp = dp -> next) { - if ((curdict = dp -> dict) -> dicid == id) + for(dp = dictlist; dp; dp = dp->next) { + if((curdict = dp->dict)->dicid == id) return TRUE; } curdict = NULL; @@ -88,10 +81,8 @@ seldict(TypeDicID id) return FALSE; } - unsigned char* -get_idxptr(TypeDicSeg seg) -{ +get_idxptr(TypeDicSeg seg) { (*curdict->getofs)(curdict); (*curdict->getidx)(curdict); diff --git a/dictdisp.c b/dictdisp.c index b2eb146..d2872f2 100644 --- a/dictdisp.c +++ b/dictdisp.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,65 +28,61 @@ */ /* - * $SonyRCSfile: dictdisp.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: dictdisp.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:34 $ */ - - #include #include #include void -dictdisp(output) -char *output; + dictdisp(output) char* output; { - unsigned char buf[BUFSIZ]; - unsigned char *p; - FILE *fp; - int flg; - int i; + unsigned char buf[BUFSIZ]; + unsigned char* p; + FILE* fp; + int flg; + int i; - if (output && *output) { + if(output && *output) { fp = fopen(output, "w"); - if (!fp) { + if(!fp) { error_out("%s \244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", output); exit(1); } - } - else + } else fp = stdout; - + flg = sj3_getdict_mb(buf); - while (flg == 0) { + while(flg == 0) { p = buf; printout_mb(fp, p); i = strlen(p); - if (i < 24) - while (i < 24) { + if(i < 24) + while(i < 24) { printout_mb(fp, "\t"); i += 8; } else printout_mb(fp, " "); - while (*p++) ; + while(*p++); printout_mb(fp, p); i = strlen(p); - if (i < 24) - while (i < 24) { + if(i < 24) + while(i < 24) { printout_mb(fp, "\t"); i += 8; } else printout_mb(fp, " "); - while (*p++) ; + while(*p++); printout(fp, hns2str(*p)); printout_mb(fp, ":\n"); flg = sj3_nextdict_mb(buf); } - if (fp != stdout) fclose(fp); + if(fp != stdout) fclose(fp); } diff --git a/dictmake.c b/dictmake.c index b2e7448..ef8796a 100644 --- a/dictmake.c +++ b/dictmake.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,11 @@ */ /* - * $SonyRCSfile: dictmake.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: dictmake.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:35 $ */ - - - #include "sj_sysvdef.h" #include #ifdef SVR4 @@ -48,41 +45,40 @@ #include "sj3lib.h" #include "sjtool.h" -#define IsEOL(c) ((c) == '\0') -#define IsBlank(c) ((c) == ' ' || (c) == '\t') +#define IsEOL(c) ((c) == '\0') +#define IsBlank(c) ((c) == ' ' || (c) == '\t') -extern int force_flag; -extern int verbose_flag; -extern int _sys_code; +extern int force_flag; +extern int verbose_flag; +extern int _sys_code; -static void touroku(y, k, h) -char *y, *k, *h; +static void touroku(y, k, h) char *y, *k, *h; { - int err; - int grm; + int err; + int grm; unsigned char buf[BUFSIZ], *hp; - if (_sys_code == SYS_SJIS) { - (void) sjistoeuc(buf, BUFSIZ, h, strlen(h)+1); + if(_sys_code == SYS_SJIS) { + (void)sjistoeuc(buf, BUFSIZ, h, strlen(h) + 1); hp = buf; } else { - hp = (unsigned char *) h; + hp = (unsigned char*)h; } - if (!(grm = str2hns(hp))) { + if(!(grm = str2hns(hp))) { error_out("\311\312\273\354\312\270\273\372\316\363\244\362\262\341\244\303\244\306\244\244\244\336\244\271 %s:%s:%s", y, k, h); - if (force_flag) return; + if(force_flag) return; exit(1); } err = sj3_touroku_mb(y, k, grm); - switch (err) { + switch(err) { case -1: error_out("\245\265\241\274\245\320\244\254\315\356\244\301\244\336\244\267\244\277"); exit(1); case 0: - if (verbose_flag) + if(verbose_flag) normal_out("%s:%s:%s \244\362\305\320\317\277\244\267\244\336\244\267\244\277\n", y, k, h); break; @@ -95,7 +91,7 @@ char *y, *k, *h; exit(1); case SJ3_WORD_EXIST: - if (verbose_flag) + if(verbose_flag) normal_out("%s:%s:%s \244\317\305\320\317\277\244\265\244\354\244\306\244\244\244\336\244\271\n", y, k, h); break; @@ -105,22 +101,22 @@ char *y, *k, *h; case SJ3_DICT_FULL: error_out("\244\263\244\354\260\312\276\345\274\255\275\361\244\362\302\347\244\255\244\257\244\307\244\255\244\336\244\273\244\363 %s:%s:%s", y, k, h); - if (force_flag) break; + if(force_flag) break; exit(1); case SJ3_BAD_YOMI_STR: error_out("\305\320\317\277\244\307\244\255\244\312\244\244\306\311\244\337\244\307\244\271 %s", y); - if (force_flag) break; + if(force_flag) break; exit(1); case SJ3_BAD_KANJI_STR: error_out("\305\320\317\277\244\307\244\255\244\312\244\244\264\301\273\372\244\307\244\271 %s:%s", y, k); - if (force_flag) break; + if(force_flag) break; exit(1); case SJ3_BAD_HINSI_CODE: error_out("\305\320\317\277\244\307\244\255\244\312\244\244\311\312\273\354\244\307\244\271 %s:%s:%s", y, k, h); - if (force_flag) break; + if(force_flag) break; exit(1); case SJ3_INDEX_FULL: @@ -129,94 +125,92 @@ char *y, *k, *h; case SJ3_TOUROKU_FAILED: default: error_out("\305\320\317\277\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277 %s:%s:%s(%d)", - y, k, hns2str(h), h); + y, k, hns2str(h), h); break; } } void -dictmake(input) -char *input; + dictmake(input) char* input; { - unsigned char buf[BUFSIZ]; - FILE *fp; - unsigned char *p; - unsigned char *yom, *knj, *grm; - int c; - int flg; - static char *FormatErrorString = "\245\325\245\251\241\274\245\336\245\303\245\310\245\250\245\351\241\274:%s"; + unsigned char buf[BUFSIZ]; + FILE* fp; + unsigned char* p; + unsigned char *yom, *knj, *grm; + int c; + int flg; + static char* FormatErrorString = "\245\325\245\251\241\274\245\336\245\303\245\310\245\250\245\351\241\274:%s"; - if (input && *input) { + if(input && *input) { fp = fopen(input, "r"); - if (!fp) { + if(!fp) { error_out("%s \244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", input); exit(1); } - } - else + } else fp = stdin; - while (fgets((char *)buf, sizeof(buf), fp)) { - if ((p = (unsigned char *)strchr((char *)buf, '\n'))) + while(fgets((char*)buf, sizeof(buf), fp)) { + if((p = (unsigned char*)strchr((char*)buf, '\n'))) *p = '\0'; else { do { c = fgetc(fp); - } while (c != '\n' && c != EOF); + } while(c != '\n' && c != EOF); } yom = buf; - while (IsBlank(*yom)) yom++; - if (IsEOL(*yom)) { + while(IsBlank(*yom)) yom++; + if(IsEOL(*yom)) { error_out(FormatErrorString, buf); - if (force_flag) continue; + if(force_flag) continue; break; } knj = yom; - while (!IsEOL(*knj) && !IsBlank(*knj)) knj++; - if (IsEOL(*knj)) { + while(!IsEOL(*knj) && !IsBlank(*knj)) knj++; + if(IsEOL(*knj)) { error_out(FormatErrorString, buf); - if (force_flag) continue; + if(force_flag) continue; break; } *knj++ = '\0'; - while (IsBlank(*knj)) knj++; - if (IsEOL(*knj)) { + while(IsBlank(*knj)) knj++; + if(IsEOL(*knj)) { error_out(FormatErrorString, buf); - if (force_flag) continue; + if(force_flag) continue; break; } grm = knj; - while (!IsEOL(*grm) && !IsBlank(*grm)) grm++; - if (IsEOL(*grm)) { + while(!IsEOL(*grm) && !IsBlank(*grm)) grm++; + if(IsEOL(*grm)) { error_out(FormatErrorString, buf); - if (force_flag) continue; + if(force_flag) continue; break; } *grm++ = '\0'; - while (IsBlank(*grm)) grm++; - if (IsEOL(*grm)) { + while(IsBlank(*grm)) grm++; + if(IsEOL(*grm)) { error_out(FormatErrorString, buf); - if (force_flag) continue; + if(force_flag) continue; break; } flg = -1; - while (*grm && flg) { + while(*grm && flg) { p = grm; - while (!IsEOL(*p) && !IsBlank(*p) && (*p != ':')) p++; - if (IsEOL(*p)) + while(!IsEOL(*p) && !IsBlank(*p) && (*p != ':')) p++; + if(IsEOL(*p)) flg = 0; else *p++ = '\0'; touroku(yom, knj, grm); - if (flg) { + if(flg) { grm = p; - while (IsBlank(*grm)) grm++; + while(IsBlank(*grm)) grm++; } } } diff --git a/dicttool.h b/dicttool.h index f7ec0b4..e0b44c1 100644 --- a/dicttool.h +++ b/dicttool.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2004 Hiroo Ono - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,84 +32,83 @@ */ #ifndef _DICTTOOL_H_ -#define _DICTTOOL_H_ 1 +#define _DICTTOOL_H_ 1 #include #include #include "sj_struct2.h" /* char.c */ -int cnvyomi (int code); -int h2kcode (int code); -int codesize (unsigned char code); -void output_knj (FILE* fp, unsigned char* p, int l); -void output_str (FILE* fp, char* p); -void output_int (FILE* fp, int* p); -void output_yomi (FILE* fp, unsigned char* p); +int cnvyomi(int code); +int h2kcode(int code); +int codesize(unsigned char code); +void output_knj(FILE* fp, unsigned char* p, int l); +void output_str(FILE* fp, char* p); +void output_int(FILE* fp, int* p); +void output_yomi(FILE* fp, unsigned char* p); /* cnvhinsi.c */ -int cnvhinsi (unsigned char *buf); +int cnvhinsi(unsigned char* buf); /* file.c */ -FILE* Fopen (char* filename, char* type); -void Fclose (FILE* fp); -int Fseek (FILE* fp, long ofs, int ptr); -long Ftell (FILE* fp); -off_t Fsize (char* filename); -int Fread (char* p, int s, int n, FILE* fp); -int Fwrite (char* p, int s, int n, FILE* fp); -int Fgetc (FILE* fp); -void Fflush (FILE* fp); +FILE* Fopen(char* filename, char* type); +void Fclose(FILE* fp); +int Fseek(FILE* fp, long ofs, int ptr); +long Ftell(FILE* fp); +off_t Fsize(char* filename); +int Fread(char* p, int s, int n, FILE* fp); +int Fwrite(char* p, int s, int n, FILE* fp); +int Fgetc(FILE* fp); +void Fflush(FILE* fp); /* hindo.c */ -int check_hindo (unsigned char* ptr, int len); -void knjhnd_set (unsigned char* p, int l); -void knjhnd_reset (unsigned char* p, int l); -int decide_knjask (void); -void clear_hindo (void); -void clear_assyuku (void); +int check_hindo(unsigned char* ptr, int len); +void knjhnd_set(unsigned char* p, int l); +void knjhnd_reset(unsigned char* p, int l); +int decide_knjask(void); +void clear_hindo(void); +void clear_assyuku(void); /* knjcvt.c */ -unsigned char* knjofscvt (unsigned char* ptr, int len, int* ret); -unsigned char* knjcvt (unsigned char* ptr, int len, int* ret); +unsigned char* knjofscvt(unsigned char* ptr, int len, int* ret); +unsigned char* knjcvt(unsigned char* ptr, int len, int* ret); /* makedict.c */ -void parse (int argc, char** argv); -void usage (char* name); -int getch (void); -void mark_file (FILE* out); +void parse(int argc, char** argv); +void usage(char* name); +int getch(void); +void mark_file(FILE* out); /* makelist.c */ -void clear_list (void); -void flush_douon (void); -void makelist (int* yomi, int* kanji, int hinsi, int* atr); +void clear_list(void); +void flush_douon(void); +void makelist(int* yomi, int* kanji, int hinsi, int* atr); /* makeseg.c */ -size_t make_knjstr (unsigned char* src, int len, unsigned char* dst); -void makeseg (void); -void makehead (unsigned char* dict_name); +size_t make_knjstr(unsigned char* src, int len, unsigned char* dst); +void makeseg(void); +void makehead(unsigned char* dict_name); /* memory.c */ -void* Malloc (size_t size); -void* Zalloc (size_t size); -void Free (void *p); +void* Malloc(size_t size); +void* Zalloc(size_t size); +void Free(void* p); /* offset.c */ -void set_ofsrec (unsigned char* ptr, int len, int ofs); -int isknjexist (unsigned char* knj, int len); -void clear_ofsrec (void); -OffsetRec* real_ofsrec (unsigned char* ptr); +void set_ofsrec(unsigned char* ptr, int len, int ofs); +int isknjexist(unsigned char* knj, int len); +void clear_ofsrec(void); +OffsetRec* real_ofsrec(unsigned char* ptr); /* readline.c */ -int* readline (void); -void setline (void (*func)(int*, int*, int, int*)); +int* readline(void); +void setline(void (*func)(int*, int*, int, int*)); /* string.c */ -int bubun_str (unsigned char* p1, int l1, unsigned char* p2, int l2); -int overlap_str (unsigned char *p1, int l1, unsigned char* p2, int l2); -int top_strcmp (int* src, int* dst); -int last_strcmp (int* src, int* dst); -int string_cmp (unsigned char* p1, int l1, unsigned char* p2, int l2); +int bubun_str(unsigned char* p1, int l1, unsigned char* p2, int l2); +int overlap_str(unsigned char* p1, int l1, unsigned char* p2, int l2); +int top_strcmp(int* src, int* dst); +int last_strcmp(int* src, int* dst); +int string_cmp(unsigned char* p1, int l1, unsigned char* p2, int l2); #endif /* _DICTTOOL_H_ */ - diff --git a/display.c b/display.c index 0d3364c..4cecd24 100644 --- a/display.c +++ b/display.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,468 +28,414 @@ */ /* - * $SonyRCSfile: display.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: display.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:12 $ */ - - #include "sj_sysvdef.h" #include #include "common.h" #include "inkey.h" #include "select.h" -char bp[TCBUFSIZE]; -char bpwork[AREASIZE]; -char cmove[SHORTLENGTH]; +char bp[TCBUFSIZE]; +char bpwork[AREASIZE]; +char cmove[SHORTLENGTH]; - - -extern int master; -extern int vflag; +extern int master; +extern int vflag; extern char term_name[]; -int status_line; -char *CM,*US,*UE,*SO,*SE,*CE,*CS,*BEL,*RP,*AP,*TS,*FS,*DS,*I2; -char *SC,*RC,*SR,*DO; +int status_line; +char * CM, *US, *UE, *SO, *SE, *CE, *CS, *BEL, *RP, *AP, *TS, *FS, *DS, *I2; +char * SC, *RC, *SR, *DO; static int keyboard = OTHER_KB; - - -checkterm () -{ - char *kb, *area, *tgetstr (), *tmp; - int val; - Conversion *cv; +checkterm() { + char * kb, *area, *tgetstr(), *tmp; + int val; + Conversion* cv; cv = current_conversion; - val = tgetent (bp, term_name); - if (val == -1) { - aprintf ("Can't open termcap file\n\r"); - done3 (); - } else if (val == 0) { - aprintf ("No termcap entry for %s\n\r",term_name); - done3 (); + val = tgetent(bp, term_name); + if(val == -1) { + aprintf("Can't open termcap file\n\r"); + done3(); + } else if(val == 0) { + aprintf("No termcap entry for %s\n\r", term_name); + done3(); } - if ((val = tgetnum("co")) < 0) { - cv-> column = 0; + if((val = tgetnum("co")) < 0) { + cv->column = 0; } else { - cv-> column = val; + cv->column = val; } - if ((val = tgetnum("li")) < 0) { + if((val = tgetnum("li")) < 0) { cv->line = 0; } else { cv->line = val; } - if (tmp = getenv("ROWS")) { - (void) sscanf(tmp, "%d", &val); - cv->line = val; + if(tmp = getenv("ROWS")) { + (void)sscanf(tmp, "%d", &val); + cv->line = val; } - if (tmp = getenv("COLUMNS")) { - (void) sscanf(tmp, "%d", &val); - cv->column = val; + if(tmp = getenv("COLUMNS")) { + (void)sscanf(tmp, "%d", &val); + cv->column = val; } area = bpwork; - if ((CM = tgetstr ("cm", &area)) == (char *)NULL) { - aprintf ("No termcap 'cm'\n\r"); - done3 (); + if((CM = tgetstr("cm", &area)) == (char*)NULL) { + aprintf("No termcap 'cm'\n\r"); + done3(); } - US = tgetstr ("us", &area); - UE = tgetstr ("ue", &area); - SO = tgetstr ("so", &area); - SE = tgetstr ("se", &area); - CE = tgetstr ("ce", &area); - if ((SC = tgetstr ("sc", &area)) == NULL) + US = tgetstr("us", &area); + UE = tgetstr("ue", &area); + SO = tgetstr("so", &area); + SE = tgetstr("se", &area); + CE = tgetstr("ce", &area); + if((SC = tgetstr("sc", &area)) == NULL) SC = "\0337"; - if ((RC = tgetstr ("rc", &area)) == NULL) + if((RC = tgetstr("rc", &area)) == NULL) RC = "\0338"; - if ((SR = tgetstr ("sr", &area)) == NULL) + if((SR = tgetstr("sr", &area)) == NULL) SR = "\033M"; - if ((DO = tgetstr ("do", &area)) == NULL) + if((DO = tgetstr("do", &area)) == NULL) DO = "\033E"; - if ((CS = tgetstr ("cs", &area)) == NULL) + if((CS = tgetstr("cs", &area)) == NULL) CS = "\033[%i%d;%dr"; - if ((BEL = tgetstr ("bl", &area)) == NULL) { + if((BEL = tgetstr("bl", &area)) == NULL) { BEL = "\007"; } - if ((RP = tgetstr ("RP", &area)) == NULL) { + if((RP = tgetstr("RP", &area)) == NULL) { RP = "\033[6n"; } - if ((AP = tgetstr ("AP", &area)) == NULL) { + if((AP = tgetstr("AP", &area)) == NULL) { AP = "\033[%d;%dR"; } - if ((status_line = tgetflag("hs")) && tgetflag("es")) { - TS = tgetstr ("ts", &area); - FS = tgetstr ("fs", &area); - DS = tgetstr ("ds", &area); + if((status_line = tgetflag("hs")) && tgetflag("es")) { + TS = tgetstr("ts", &area); + FS = tgetstr("fs", &area); + DS = tgetstr("ds", &area); #ifdef SVR4 - I2 = tgetstr ("i1", &area); + I2 = tgetstr("i1", &area); #else - I2 = tgetstr ("i2", &area); + I2 = tgetstr("i2", &area); #endif } else { status_line = 0; } #ifdef SVR4 - - if (strstr(term_name, "news") != NULL) { + if(strstr(term_name, "news") != NULL) { keyboard = NEWS_KB; set_news(); } else keyboard = OTHER_KB; -#else +#else - kb = tgetstr ("KB", &area); - if (kb == (char *)NULL || *kb == '\0') + kb = tgetstr("KB", &area); + if(kb == (char*)NULL || *kb == '\0') keyboard = OTHER_KB; - else if (strcmp (kb, "news") == 0) { + else if(strcmp(kb, "news") == 0) { keyboard = NEWS_KB; set_news(); } else keyboard = OTHER_KB; -#endif +#endif - strcpy (cmove, CM); + strcpy(cmove, CM); } -void outc(c) -char c; +void outc(c) char c; { - putchar (c); + putchar(c); } -void erroutc(c) -{ - fputc (c, stderr); +void erroutc(c) { + fputc(c, stderr); } -start_guideline () -{ - if (status_line && I2) +start_guideline() { + if(status_line && I2) tputs(I2, 1, erroutc); } -end_guideline () -{ - if (status_line) { +end_guideline() { + if(status_line) { tputs(DS, 1, outc); fflush(stdout); } } -put_space (n) -int n; +put_space(n) int n; { - int i; + int i; - for (i = 0 ; i < n ; i ++) - putchar (' '); + for(i = 0; i < n; i++) + putchar(' '); } -Backspace () -{ - putchar (BS); +Backspace() { + putchar(BS); } -master_flush () -{ - SELECT_FD ifds; - int nc; - struct timeval t; +master_flush() { + SELECT_FD ifds; + int nc; + struct timeval t; do { -cont: - t.tv_sec = 0; - t.tv_usec = UsecWeight (1); - FD_ZERO (&ifds); - FD_SET (STDIN, &ifds); - FD_SET (master, &ifds); - if (select (master + 1, &ifds, 0, 0, &t) > 0) { - if (FD_ISSET (STDIN, &ifds)) - if (ThroughIntr ()) + cont: + t.tv_sec = 0; + t.tv_usec = UsecWeight(1); + FD_ZERO(&ifds); + FD_SET(STDIN, &ifds); + FD_SET(master, &ifds); + if(select(master + 1, &ifds, 0, 0, &t) > 0) { + if(FD_ISSET(STDIN, &ifds)) + if(ThroughIntr()) return 1; - if (FD_ISSET (master, &ifds)) - output_master (); - } else if (errno == EINTR) { + if(FD_ISSET(master, &ifds)) + output_master(); + } else if(errno == EINTR) { errno = 0; goto cont; } - if (ioctl (master, TIOCOUTQ, &nc) < 0) + if(ioctl(master, TIOCOUTQ, &nc) < 0) return (1); - } while (nc > 0); + } while(nc > 0); return (0); } -ThroughIntr () -{ - wchar16_t s[2]; +ThroughIntr() { + wchar16_t s[2]; - SJ_read (s, 1); + SJ_read(s, 1); s[1] = '\0'; - if (isintr (*s)) { - master_out (s, 1); + if(isintr(*s)) { + master_out(s, 1); return (1); - } - else { - unget_inkey2 (s, 1); + } else { + unget_inkey2(s, 1); return (0); } } -under_in () -{ +under_in() { tputs(US, 1, outc); } -under_out () -{ +under_out() { tputs(UE, 1, outc); } -reverse_in () -{ +reverse_in() { tputs(SO, 1, outc); } -reverse_out () -{ +reverse_out() { tputs(SE, 1, outc); } - - -beep () -{ +beep() { tputs(BEL, 1, outc); - Flush (); + Flush(); } - - -CursorSet (row, col) -unsigned short row, col; +CursorSet(row, col) unsigned short row, col; { tputs(tgoto(CM, col - 1, row - 1), 1, outc); - Flush (); + Flush(); } - - -RegionSet (row1, row2) -int row1, row2; +RegionSet(row1, row2) int row1, row2; { - - - tputs (SC, 1, outc); - tputs (tgoto (CS, row2, row1 - 1), 1, outc); - tputs (RC, 1, outc); - tputs (DO, 1, outc); - tputs (SR, 1, outc); - tputs (SC, 1, outc); - tputs (tgoto (CS, row2 - 1, row1 - 1), 1, outc); - tputs (RC, 1, outc); - Flush (); + tputs(SC, 1, outc); + tputs(tgoto(CS, row2, row1 - 1), 1, outc); + tputs(RC, 1, outc); + tputs(DO, 1, outc); + tputs(SR, 1, outc); + tputs(SC, 1, outc); + tputs(tgoto(CS, row2 - 1, row1 - 1), 1, outc); + tputs(RC, 1, outc); + Flush(); } -#define SUCC 0 -#define FAIL 1 -#define CRLIMIT 4 +#define SUCC 0 +#define FAIL 1 +#define CRLIMIT 4 -int master_flush_flag = 1; +int master_flush_flag = 1; -CursorRead (row, col) -unsigned short *row, *col; +CursorRead(row, col) unsigned short* row, *col; { - - int count; - int row1, col1, row2, col2; + + int count; + int row1, col1, row2, col2; row2 = col2 = 0; - count = 0; - for (;;) { - if (++count > CRLIMIT) { + count = 0; + for(;;) { + if(++count > CRLIMIT) { break; } tputs(RP, 1, outc); - fflush (stdout); - if (CRP (&row1, &col1) == FAIL) + fflush(stdout); + if(CRP(&row1, &col1) == FAIL) continue; - if (master_flush_flag) - master_flush (); + if(master_flush_flag) + master_flush(); tputs(RP, 1, outc); - fflush (stdout); - if (CRP (&row2, &col2) == FAIL) + fflush(stdout); + if(CRP(&row2, &col2) == FAIL) continue; - if (row1 == row2 && col1 == col2) + if(row1 == row2 && col1 == col2) break; } *row = row2; *col = col2; } +#define CRPLIM 4 +#define BACKLIM 16 +#define MARKER '%' +#define SEPARA ';' - -#define CRPLIM 4 -#define BACKLIM 16 -#define MARKER '%' -#define SEPARA ';' - -CRP (row, col) -int *row, *col; +CRP(row, col) +int *row, *col; { - char *sa, *sd; - int c; - char Rchar[4], Cchar[4]; - wchar16_t Back[BACKLIM]; - int Back_count, count; + char * sa, *sd; + int c; + char Rchar[4], Cchar[4]; + wchar16_t Back[BACKLIM]; + int Back_count, count; - - - count = 0; + count = 0; Back_count = 0; - c = '\0'; + c = '\0'; top: sa = AP; sd = Rchar; - if (++count > CRPLIM) + if(++count > CRPLIM) return (FAIL); - if (Back_count) { - unget_inkey2 (Back, Back_count); + if(Back_count) { + unget_inkey2(Back, Back_count); Back_count = 0; } - while ((c != ESC) && ((c = CRI ()) != ESC) && Back_count < BACKLIM) + while((c != ESC) && ((c = CRI()) != ESC) && Back_count < BACKLIM) Back[Back_count++] = c; - if (Back_count) { - unget_inkey2 (Back, Back_count); + if(Back_count) { + unget_inkey2(Back, Back_count); Back_count = 0; } Back[Back_count++] = c; - sa ++; - while (*sa != '\0') { - if (*sa == MARKER) { - sa += 2; + sa++; + while(*sa != '\0') { + if(*sa == MARKER) { + sa += 2; - while (c = CRI ()) { - if (c == ESC) + while(c = CRI()) { + if(c == ESC) goto top; Back[Back_count++] = c; - if (isdigit (c)) { - *(sd ++) = c; - *sd = '\0'; - } - else if (c == *sa) + if(isdigit(c)) { + *(sd++) = c; + *sd = '\0'; + } else if(c == *sa) break; else goto top; } - if (c == SEPARA) + if(c == SEPARA) sd = Cchar; - } - else { - c = CRI (); - if (c == ESC) + } else { + c = CRI(); + if(c == ESC) goto top; Back[Back_count++] = c; - if (c != *sa) + if(c != *sa) goto top; } - sa ++; + sa++; } - *row = atoi (Rchar); - *col = atoi (Cchar); + *row = atoi(Rchar); + *col = atoi(Cchar); return (SUCC); } - - -unget_inkey2 (s, n) -wchar16_t *s; -int n; +unget_inkey2(s, n) + wchar16_t* s; +int n; { - extern wchar16_t ibuf[]; - extern int buf_count; - int i; + extern wchar16_t ibuf[]; + extern int buf_count; + int i; - if (buf_count < KEYBUFSIZ - n) { - for (i = 0 ; i < n ; i ++) - ibuf[buf_count ++] = *(s ++); + if(buf_count < KEYBUFSIZ - n) { + for(i = 0; i < n; i++) + ibuf[buf_count++] = *(s++); } } -unget_key (c) -int c; +unget_key(c) int c; { wchar16_t tmp[2]; tmp[0] = c; - unget_inkey2 (tmp, 1); + unget_inkey2(tmp, 1); } +CRI() { + wchar16_t c; - -CRI () -{ - wchar16_t c; - - SJ_read (&c, 1); + SJ_read(&c, 1); return (c); } - - -Clear_EOL () -{ +Clear_EOL() { reverse_out(); tputs(CE, 1, outc); } -StartGuide (row, col) -unsigned short *row, *col; +StartGuide(row, col) unsigned short* row, *col; { - Conversion *cv; + Conversion* cv; - cv = current_conversion; + cv = current_conversion; master_flush_flag = 0; - if (status_line) { - tputs (tgoto (TS, 0, 0), 1, outc); + if(status_line) { + tputs(tgoto(TS, 0, 0), 1, outc); + } else { + CursorRead(row, col); + CursorSet(cv->line + 1, 0); } - else { - CursorRead (row, col); - CursorSet (cv->line + 1, 0); - } - Flush (); + Flush(); } -EndGuide (row, col) -unsigned short row, col; +EndGuide(row, col) unsigned short row, col; { - if (status_line) { - tputs (FS, 1, outc); + if(status_line) { + tputs(FS, 1, outc); + } else { + CursorSet(row, col); } - else { - CursorSet (row, col); - } - Flush (); + Flush(); master_flush_flag = 1; } -Flush () -{ - fflush (stdout); +Flush() { + fflush(stdout); } -Cscroll () -{ - +Cscroll() { + return (1); } diff --git a/douon.c b/douon.c index d0eeea7..06dc8bd 100644 --- a/douon.c +++ b/douon.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,503 +28,466 @@ */ /* - * $SonyRCSfile: douon.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: douon.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1996/02/23 11:04:02 $ */ - - #include "common.h" #include "key.h" #include "wchar16.h" -#define DNUM 5 +#define DNUM 5 static int Dcount; static int Dpoint; -static struct douon_sj3 HenkanDouon[DOUON_N]; -static wchar16_t Dkanji[BUFFLENGTH * 2]; +static struct douon_sj3 HenkanDouon[DOUON_N]; +static wchar16_t Dkanji[BUFFLENGTH * 2]; void go_gakusyuu(); -SJ_getdouon (s, d, n, choice, reconv) -wchar16_t *s; -struct douon_sj3 *d; -int n; -int choice; -int reconv; +SJ_getdouon(s, d, n, choice, reconv) + wchar16_t* s; +struct douon_sj3* d; +int n; +int choice; +int reconv; { - int len; + int len; - Dcount = SJ2_getdouon (s, d, n, choice, reconv); + Dcount = SJ2_getdouon(s, d, n, choice, reconv); - - if (Dcount < 0 && !dconnect(1)) - Dcount = SJ2_getdouon (s, d, n, choice, reconv); + if(Dcount < 0 && !dconnect(1)) + Dcount = SJ2_getdouon(s, d, n, choice, reconv); - if (Dcount <= 0) { + if(Dcount <= 0) { Dcount = 1; - len = wslen (s); - Strncpy ((char *)d[0].ddata, s, len); + len = wslen(s); + Strncpy((char*)d[0].ddata, s, len); d[0].dlen = wcbyte(s); d[0].wlen = len; - return(0); + return (0); } else - return(1); + return (1); } +exec_douon() { + Conversion* cv; + int val; - -exec_douon () -{ - Conversion *cv; - int val; - - cv = GetConversion (); - if (cv->CurBun == -1) { + cv = GetConversion(); + if(cv->CurBun == -1) { cv->CurBun = 0; - Rdisp (); + Rdisp(); } cv->PreBun = cv->CurBun; - if (cv->Bkettei[cv->CurBun] & Bmuhenkan) - val = Sdouon (2); + if(cv->Bkettei[cv->CurBun] & Bmuhenkan) + val = Sdouon(2); else - val = Sdouon (1); - if (!val) - Rdisp (); + val = Sdouon(1); + if(!val) + Rdisp(); } -wrap_douon (back) -int back; +wrap_douon(back) int back; { - Conversion *cv; - int val; + Conversion* cv; + int val; cv = current_conversion; - if (cv->CurBun == -1) { + if(cv->CurBun == -1) { cv->CurBun = 0; - Rdisp (); + Rdisp(); } cv->PreBun = cv->CurBun; - if (cv->Dflag == cv->CurBun) - val = Rdouon (back); + if(cv->Dflag == cv->CurBun) + val = Rdouon(back); else { - val = Sdouon (2); + val = Sdouon(2); cv->Dflag = cv->CurBun; } - if (!val) - Rdisp (); + if(!val) + Rdisp(); } - - -Cdouon (yomi, gnum) -wchar16_t *yomi; -int gnum; +Cdouon(yomi, gnum) + wchar16_t* yomi; +int gnum; { - - int i, j; - int len; - wchar16_t *s; - int dispnum; - int num; - int displen; - int base; - char tmp[BUFFLENGTH], tmp2[BUFFLENGTH * 2]; - wchar16_t wtmp[BUFFLENGTH], wtmp2[BUFFLENGTH * 2]; + int i, j; + int len; + wchar16_t* s; + int dispnum; + int num; + int displen; + int base; + char tmp[BUFFLENGTH], tmp2[BUFFLENGTH * 2]; + wchar16_t wtmp[BUFFLENGTH], wtmp2[BUFFLENGTH * 2]; - int gakusyuu; - unsigned short row, col; - Conversion *cv; + int gakusyuu; + unsigned short row, col; + Conversion* cv; cv = current_conversion; - gakusyuu = SJ_getdouon (yomi, HenkanDouon, gnum, 0, 0); + gakusyuu = SJ_getdouon(yomi, HenkanDouon, gnum, 0, 0); dispnum = DNUM; - if (dispnum > Dcount) + if(dispnum > Dcount) j = Dcount; else j = dispnum; len = 0; - for (i = 0 ; i < j ; i ++) + for(i = 0; i < j; i++) len += HenkanDouon[i].dlen; len /= j; - if (len < 1) + if(len < 1) len = 1; len += 6; - sprintf (tmp, "%d/%d ", Dcount, Dcount); - displen = cv->column - strlen (tmp) - 1; - if (displen < 1) + sprintf(tmp, "%d/%d ", Dcount, Dcount); + displen = cv->column - strlen(tmp) - 1; + if(displen < 1) displen = 1; num = displen / len; - if (num < 1) + if(num < 1) num = 1; - if (num < dispnum && num > 0) + if(num < dispnum && num > 0) dispnum = num; - for (i = 0 ; ; ) { - if (i >= Dcount) + for(i = 0;;) { + if(i >= Dcount) i = 0; - StartGuide (&row, &col); - Clear_EOL (); + StartGuide(&row, &col); + Clear_EOL(); base = i; - sprintf (tmp, "%d/%d", i + 1, Dcount); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); - printR (wtmp); - put_space (1); + sprintf(tmp, "%d/%d", i + 1, Dcount); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); + printR(wtmp); + put_space(1); - for (j = 0 ; j < dispnum ; j ++, i ++) { - if (i >= Dcount) + for(j = 0; j < dispnum; j++, i++) { + if(i >= Dcount) break; len = HenkanDouon[i].dlen; - if (len > displen) + if(len > displen) len = displen; - s = (wchar16_t *)HenkanDouon[i].ddata; - Strncpy (wtmp, s, HenkanDouon[i].wlen); + s = (wchar16_t*)HenkanDouon[i].ddata; + Strncpy(wtmp, s, HenkanDouon[i].wlen); wtmp[HenkanDouon[i].wlen] = '\0'; - (void) wcstombs(tmp, wtmp, BUFFLENGTH); - sprintf (tmp2, "[%d] %s ", j+1, tmp); - (void) mbstowcs(wtmp2, tmp2, BUFFLENGTH); - SJ_print (wtmp2); + (void)wcstombs(tmp, wtmp, BUFFLENGTH); + sprintf(tmp2, "[%d] %s ", j + 1, tmp); + (void)mbstowcs(wtmp2, tmp2, BUFFLENGTH); + SJ_print(wtmp2); } - EndGuide (row, col); - Flush (); - num = Dselect (j); + EndGuide(row, col); + Flush(); + num = Dselect(j); - - if (num == 0) + if(num == 0) continue; - - else if (num == -1) { - if ((i >= Dcount) && ((Dcount % dispnum) != 0)) + else if(num == -1) { + if((i >= Dcount) && ((Dcount % dispnum) != 0)) i = Dcount - (Dcount % dispnum); else i -= dispnum; i -= dispnum; - if (i < 0) { - if (Dcount > dispnum) { - if ((Dcount % dispnum) == 0) + if(i < 0) { + if(Dcount > dispnum) { + if((Dcount % dispnum) == 0) i = Dcount - dispnum; else i = Dcount - (Dcount % dispnum); - } - else + } else i = 0; } continue; } - - else if (num > j) { - disp_mode (); + else if(num > j) { + disp_mode(); return (FALSE); } - else break; } - disp_mode (); + disp_mode(); Dpoint = base + num - 1; - len = HenkanDouon[Dpoint].dlen; - s = (wchar16_t *)HenkanDouon[Dpoint].ddata; - Strncpy (Dkanji, s, HenkanDouon[Dpoint].wlen); + len = HenkanDouon[Dpoint].dlen; + s = (wchar16_t*)HenkanDouon[Dpoint].ddata; + Strncpy(Dkanji, s, HenkanDouon[Dpoint].wlen); Dkanji[HenkanDouon[Dpoint].wlen] = '\0'; - if (HenkanDouon[Dpoint].valid) - PushGD (gnum, &HenkanDouon[Dpoint].dcid); + if(HenkanDouon[Dpoint].valid) + PushGD(gnum, &HenkanDouon[Dpoint].dcid); - if (gakusyuu) - if (HenkanDouon[Dpoint].valid) - SJ2_study (&HenkanDouon[Dpoint].dcid); - else - SJ2_toroku(yomi, HenkanDouon[Dpoint].ddata, SJ3_H_NRMNOUN); + if(gakusyuu) + if(HenkanDouon[Dpoint].valid) + SJ2_study(&HenkanDouon[Dpoint].dcid); + else + SJ2_toroku(yomi, HenkanDouon[Dpoint].ddata, SJ3_H_NRMNOUN); return (TRUE); } -Dselect (lim) -int lim; +Dselect(lim) int lim; { - extern int keyvalue; - int c, num; - char s[2]; + extern int keyvalue; + int c, num; + char s[2]; - SaveConversion (); - while ((c = inkey ()) != EOF) { - if (AnotherConversion ()) { - unget_key (c); + SaveConversion(); + while((c = inkey()) != EOF) { + if(AnotherConversion()) { + unget_key(c); break; } - if (keyvalue == KEY_KETTEI) - break; - else if (keyvalue == KEY_HENKAN || keyvalue == KEY_RIGHT) - return (0); - else if (c == ' ') + if(keyvalue == KEY_KETTEI) + break; + else if(keyvalue == KEY_HENKAN || keyvalue == KEY_RIGHT) return (0); - else if (keyvalue == KEY_MUHENKAN || keyvalue == KEY_LEFT - || is_bsdel (c)) - return (-1); - else if (WcIsASCII(c) && isdigit (WcLowByte(c))) { - *s = c; + else if(c == ' ') + return (0); + else if(keyvalue == KEY_MUHENKAN || keyvalue == KEY_LEFT || is_bsdel(c)) + return (-1); + else if(WcIsASCII(c) && isdigit(WcLowByte(c))) { + *s = c; s[1] = '\0'; - num = atoi (s); - if (num > 0 && num <= lim) - return (num); - } - else if (keyvalue != KEY_NORMAL) - break; - else if (keyvalue == KEY_NORMAL && IsESC (c)) + num = atoi(s); + if(num > 0 && num <= lim) + return (num); + } else if(keyvalue != KEY_NORMAL) + break; + else if(keyvalue == KEY_NORMAL && IsESC(c)) break; } - return (lim + 1); + return (lim + 1); } - -Gdouon (yomi, num, choice, reconv) -wchar16_t *yomi; -int num; -int choice; -int reconv; +Gdouon(yomi, num, choice, reconv) + wchar16_t* yomi; +int num; +int choice; +int reconv; { - - int len; - wchar16_t *s; + int len; + wchar16_t* s; - SJ_getdouon (yomi, HenkanDouon, num, choice, reconv); + SJ_getdouon(yomi, HenkanDouon, num, choice, reconv); Dpoint = 0; - len = HenkanDouon[Dpoint].wlen; - s = (wchar16_t *)HenkanDouon[Dpoint].ddata; - Strncpy (Dkanji, s, len); + len = HenkanDouon[Dpoint].wlen; + s = (wchar16_t*)HenkanDouon[Dpoint].ddata; + Strncpy(Dkanji, s, len); Dkanji[len] = '\0'; - if (HenkanDouon[Dpoint].valid) - PushGD (num, &HenkanDouon[Dpoint].dcid); + if(HenkanDouon[Dpoint].valid) + PushGD(num, &HenkanDouon[Dpoint].dcid); } -Sdouon (Choice) -int Choice; +Sdouon(Choice) int Choice; { - Conversion *cv; - int i, j; - int len; - wchar16_t yomi[BUFFLENGTH * 2]; - int count; + Conversion* cv; + int i, j; + int len; + wchar16_t yomi[BUFFLENGTH * 2]; + int count; - cv = current_conversion; + cv = current_conversion; count = 0; - if (Choice == 0) + if(Choice == 0) i = cv->PreBun; else i = cv->CurBun; top: - if ((len = load_bun(i, yomi, MODE_ZHIRA)) <= 0) { + if((len = load_bun(i, yomi, MODE_ZHIRA)) <= 0) { cv->Bkettei[i] |= Bmuhenkan; cv->Bkettei[i] &= ~Bhenkan; cv->Pkettei[i] = MODE_ZHIRA; - *Dkanji = '\0'; + *Dkanji = '\0'; goto null; - } - else if (len > DLEN) { + } else if(len > DLEN) { cv->Bkettei[i] |= Bmuhenkan; cv->Bkettei[i] &= ~Bhenkan; *Dkanji = '\0'; goto null; - } - else if (Choice == 0 && (cv->Bkettei[i] & Bmuhenkan)) { + } else if(Choice == 0 && (cv->Bkettei[i] & Bmuhenkan)) { goto tail; - } - else { + } else { cv->Bkettei[i] |= Bhenkan; cv->Bkettei[i] &= ~Bmuhenkan; } - if (Choice == 1) { - if (Cdouon (yomi, i) == FALSE) + if(Choice == 1) { + if(Cdouon(yomi, i) == FALSE) return (1); cv->Pkettei[i] = MODE_ZHIRA; - } - else if (Choice == 2) { - Gdouon (yomi, i, 0, 0); - } - else if (Choice == 3) - Gdouon (yomi, i, count, 1); + } else if(Choice == 2) { + Gdouon(yomi, i, 0, 0); + } else if(Choice == 3) + Gdouon(yomi, i, count, 1); else - Gdouon (yomi, i, count, 0); + Gdouon(yomi, i, count, 0); null: - len = wslen (Dkanji); + len = wslen(Dkanji); - if (!(cv->Bkettei[i] & Bedit)) { - if (cv->Enum >= MAXENUM) + if(!(cv->Bkettei[i] & Bedit)) { + if(cv->Enum >= MAXENUM) return (1); - j = cv->Enum ++; - cv->Edit[i] = j; + j = cv->Enum++; + cv->Edit[i] = j; cv->Epoint[j] = &(cv->Ebuff[cv->e_point]); cv->e_point += DLEN; - } - else + } else j = cv->Edit[i]; - if (0 < len && len <= DLEN) { + if(0 < len && len <= DLEN) { cv->Bkettei[i] |= Bedit; cv->Pkettei[i] = MODE_ZHIRA; } cv->Elen[j] = len; - wscpy (cv->Epoint[j], Dkanji); + wscpy(cv->Epoint[j], Dkanji); tail: - if (Choice == 0 && i != cv->CurBun) { + if(Choice == 0 && i != cv->CurBun) { i = cv->CurBun; goto top; } - if (cv->PreBun == cv->Bnum) + if(cv->PreBun == cv->Bnum) cv->Bkettei[cv->Bnum] = Bend; return (0); } - - -Rdouon (back) -int back; +Rdouon(back) int back; { - Conversion *cv; - int i, j; - int len; - wchar16_t *s; + Conversion* cv; + int i, j; + int len; + wchar16_t* s; cv = current_conversion; - if (Dcount > 0) { - if (back) { - Dpoint --; - if (Dpoint < 0) + if(Dcount > 0) { + if(back) { + Dpoint--; + if(Dpoint < 0) Dpoint = Dcount - 1; - } - else { - Dpoint ++; - if (Dpoint >= Dcount) + } else { + Dpoint++; + if(Dpoint >= Dcount) Dpoint = 0; } len = HenkanDouon[Dpoint].wlen; - s = (wchar16_t *)HenkanDouon[Dpoint].ddata; - Strncpy (Dkanji, s, len); + s = (wchar16_t*)HenkanDouon[Dpoint].ddata; + Strncpy(Dkanji, s, len); Dkanji[len] = '\0'; - i = cv->CurBun; - j = cv->Edit[i]; + i = cv->CurBun; + j = cv->Edit[i]; cv->Elen[j] = len; - wscpy (cv->Epoint[j], Dkanji); + wscpy(cv->Epoint[j], Dkanji); return (0); } return (1); } -Bkanji (kanji) -wchar16_t *kanji; +Bkanji(kanji) + wchar16_t* kanji; { - Conversion *cv; - int i; - int plen, len; - wchar16_t *s; + Conversion* cv; + int i; + int plen, len; + wchar16_t* s; - cv = current_conversion; - s = kanji; - *s = '\0'; + cv = current_conversion; + s = kanji; + *s = '\0'; plen = 0; - for (i = 0 ; i < cv->Bnum ; i ++) { - if ((len = Bstr (i, s)) <= 0) + for(i = 0; i < cv->Bnum; i++) { + if((len = Bstr(i, s)) <= 0) continue; s += len; plen += len; } - return(plen); + return (plen); } -struct studyrec Gdata[BUFFLENGTH]; +struct studyrec Gdata[BUFFLENGTH]; -PushGD (num, wordid) -int num; -struct studyrec *wordid; +PushGD(num, wordid) int num; +struct studyrec* wordid; { Gdata[num] = *wordid; } -cl_gakusyuu () -{ - Conversion *cv; - int i, j; - int o_point, n_point; +cl_gakusyuu() { + Conversion* cv; + int i, j; + int o_point, n_point; cv = current_conversion; - for (i = 0 ; i < cv->Bnum ; i ++) { - if (cv->OrgPlen[i] != cv->Plen[i]) { + for(i = 0; i < cv->Bnum; i++) { + if(cv->OrgPlen[i] != cv->Plen[i]) { o_point = n_point = 0; - j = i; - while (j < cv->Bnum) { + j = i; + while(j < cv->Bnum) { o_point += cv->OrgPlen[j]; n_point += cv->Plen[j]; - j ++; - if (o_point == n_point) + j++; + if(o_point == n_point) break; } j--; - check_and_gakusyuu (i, j); + check_and_gakusyuu(i, j); i = j; } } } -check_and_gakusyuu (m, n) -int m, n; +check_and_gakusyuu(m, n) int m, n; { - Conversion *cv; - int i, j; + Conversion* cv; + int i, j; cv = current_conversion; - i = m; - j = i + 1; - while (j <= n && j < cv->Bnum) { - if (cv->Bkettei[i] & Bedit && !(cv->Bkettei[i] & Bmuhenkan)) - go_gakusyuu (i); - i ++; - j ++; + i = m; + j = i + 1; + while(j <= n && j < cv->Bnum) { + if(cv->Bkettei[i] & Bedit && !(cv->Bkettei[i] & Bmuhenkan)) + go_gakusyuu(i); + i++; + j++; } } void -go_gakusyuu (n) -int n; + go_gakusyuu(n) int n; { - Conversion *cv; - int i, j; - wchar16_t yomi1[BUFFLENGTH], yomi2[BUFFLENGTH]; - struct studyrec *gdatap; - int len; + Conversion* cv; + int i, j; + wchar16_t yomi1[BUFFLENGTH], yomi2[BUFFLENGTH]; + struct studyrec* gdatap; + int len; cv = current_conversion; - i = n; - j = i + 1; + i = n; + j = i + 1; - if (cv->Pedited[i] == 1 || cv->Pedited[j] == 1) + if(cv->Pedited[i] == 1 || cv->Pedited[j] == 1) return; - - if ((len = load_bun(i, yomi1, MODE_ZHIRA)) <= 0 && len > DLEN) + if((len = load_bun(i, yomi1, MODE_ZHIRA)) <= 0 && len > DLEN) return; - if ((len = load_bun(j, yomi2, MODE_ZHIRA)) > DLEN) + if((len = load_bun(j, yomi2, MODE_ZHIRA)) > DLEN) return; - - if (len <= 0) + if(len <= 0) gdatap = NULL; else gdatap = &Gdata[j]; - SJ2_clstudy (yomi1, yomi2, gdatap); + SJ2_clstudy(yomi1, yomi2, gdatap); } diff --git a/edit.c b/edit.c index 61fbd0f..dd8ee65 100644 --- a/edit.c +++ b/edit.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,75 +28,68 @@ */ /* - * $SonyRCSfile: edit.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: edit.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1997/01/23 11:09:36 $ */ - - #include "common.h" #include "key.h" void Chain(); -static wchar16_t *jpoint; -static int iedit, jedit; -static int ilen, jlen; +static wchar16_t* jpoint; +static int iedit, jedit; +static int ilen, jlen; -push_obj (i, j) -int i, j; +push_obj(i, j) int i, j; { - Conversion *cv; + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); jpoint = cv->Ppoint[j]; - ilen = cv->Plen[i]; - jlen = cv->Plen[j]; - iedit = cv->Bkettei[i]; - jedit = cv->Bkettei[j]; + ilen = cv->Plen[i]; + jlen = cv->Plen[j]; + iedit = cv->Bkettei[i]; + jedit = cv->Bkettei[j]; } -pop_obj (i, j) -int i, j; +pop_obj(i, j) int i, j; { - Conversion *cv; + Conversion* cv; - cv = GetConversion (); - cv->Ppoint[j] = jpoint; - cv->Plen[i] = ilen; - cv->Plen[j] = jlen; + cv = GetConversion(); + cv->Ppoint[j] = jpoint; + cv->Plen[i] = ilen; + cv->Plen[j] = jlen; cv->Bkettei[i] = iedit; cv->Bkettei[j] = jedit; } +Bbig() { + Conversion* cv; + int i, j, k; + int moji, last, val; - -Bbig () -{ - Conversion *cv; - int i, j, k; - int moji, last, val; - - cv = GetConversion (); - if (cv->CurBun < 0) + cv = GetConversion(); + if(cv->CurBun < 0) cv->CurBun = 0; i = cv->CurBun; j = i + 1; - while (j < cv->Bnum) { - if (cv->Plen[j] > 0) { - push_obj (i, j); + while(j < cv->Bnum) { + if(cv->Plen[j] > 0) { + push_obj(i, j); - k = cv->Ppoint[j] - cv->Ppoint[0]; + k = cv->Ppoint[j] - cv->Ppoint[0]; last = k + cv->Plen[j]; moji = 0; - for (; k < last; k++) { - if (k < last-1 &&(cv->out_mode[k+1]&OMODE_ZEN)){ + for(; k < last; k++) { + if(k < last - 1 && (cv->out_mode[k + 1] & OMODE_ZEN)) { moji += 2; k++; - }else + } else moji++; - if (cv->out_mode[k+1] & OMODE_MASK) + if(cv->out_mode[k + 1] & OMODE_MASK) break; } cv->Plen[i] += moji; @@ -105,69 +98,62 @@ Bbig () cv->PreBun = j; - if (cv->Bkettei[i] & Bhenkan) { - val = Sdouon (0); - - } - else { + if(cv->Bkettei[i] & Bhenkan) { + val = Sdouon(0); + + } else { cv->Bkettei[i] |= Bmuhenkan; cv->Bkettei[i] &= ~Bhenkan; cv->Bkettei[j] |= Bmuhenkan; cv->Bkettei[j] &= ~Bhenkan; val = 0; } - if (!val) { + if(!val) { cv->Dflag = -1; - Rdisp (); + Rdisp(); return (1); } break; - } - else - j ++; + } else + j++; } - beep (); - if (j < cv->Bnum) - pop_obj (i, j); + beep(); + if(j < cv->Bnum) + pop_obj(i, j); return (0); } - - -Bsmall (small) -int small; +Bsmall(small) int small; { - Conversion *cv; - int i, j, k, moji; - int val; + Conversion* cv; + int i, j, k, moji; + int val; - cv = GetConversion (); - if (cv->CurBun < 0) + cv = GetConversion(); + if(cv->CurBun < 0) cv->CurBun = 0; i = cv->CurBun; j = i + 1; - if (j <= cv->Bnum && cv->Plen[i] > 1) { - if (j == cv->Bnum) { - cv->Bnum ++; + if(j <= cv->Bnum && cv->Plen[i] > 1) { + if(j == cv->Bnum) { + cv->Bnum++; cv->Bkettei[cv->Bnum] = Bend; - cv->Plen[j] = 0; - cv->Pkettei[j] = cv->Pkettei[i]; + cv->Plen[j] = 0; + cv->Pkettei[j] = cv->Pkettei[i]; cv->Bkettei[j] |= Bmuhenkan; cv->Bkettei[j] &= ~Bhenkan; - } - else if (small) { - while (j < cv->Bnum - 1 && cv->Plen[j] == 0) - j ++; - if (j == cv->Bnum) - j --; - } - else if (cv->Plen[j] != 0 && cv->Enum < MAXENUM) { - for (k = cv->Bnum ; k > j ; k --) { - cv->Plen[k] = cv->Plen[k - 1]; - cv->Ppoint[k] = cv->Ppoint[k - 1]; + } else if(small) { + while(j < cv->Bnum - 1 && cv->Plen[j] == 0) + j++; + if(j == cv->Bnum) + j--; + } else if(cv->Plen[j] != 0 && cv->Enum < MAXENUM) { + for(k = cv->Bnum; k > j; k--) { + cv->Plen[k] = cv->Plen[k - 1]; + cv->Ppoint[k] = cv->Ppoint[k - 1]; cv->Pkettei[k] = cv->Pkettei[k - 1]; - cv->Bpoint[k] = cv->Bpoint[k - 1]; + cv->Bpoint[k] = cv->Bpoint[k - 1]; cv->Bkettei[k] = cv->Bkettei[k - 1]; cv->Displen[k] = cv->Displen[k - 1]; @@ -175,610 +161,597 @@ int small; cv->Edit[k] = cv->Edit[k - 1]; } - cv->Bnum ++; - cv->Plen[j] = 0; + cv->Bnum++; + cv->Plen[j] = 0; cv->Bkettei[j] = Bmuhenkan; cv->Displen[j] = 0; - } - else if (cv->Plen[j] != 0) { - while (j < cv->Bnum - 1 && cv->Plen[j] == 0) - j ++; - if (j == cv->Bnum) - j --; - } - else { - while (j < cv->Bnum - 1 && cv->Plen[j] == 0 && - cv->Plen[j+1] == 0) - j ++; + } else if(cv->Plen[j] != 0) { + while(j < cv->Bnum - 1 && cv->Plen[j] == 0) + j++; + if(j == cv->Bnum) + j--; + } else { + while(j < cv->Bnum - 1 && cv->Plen[j] == 0 && + cv->Plen[j + 1] == 0) + j++; } - push_obj (i, j); + push_obj(i, j); k = cv->Ppoint[i] - cv->Ppoint[0] + cv->Plen[i] - 1; - if (cv->out_mode[k] & OMODE_ZEN) - moji = 2; - else - moji = 1; + if(cv->out_mode[k] & OMODE_ZEN) + moji = 2; + else + moji = 1; cv->Plen[i] -= moji; cv->Plen[j] += moji; cv->Ppoint[j] = cv->Ppoint[i] + cv->Plen[i]; - if (cv->Plen[i] < 1) { - beep (); - pop_obj (i, j); - return(0); + if(cv->Plen[i] < 1) { + beep(); + pop_obj(i, j); + return (0); } cv->PreBun = j; - if (cv->Bkettei[i] & Bhenkan) { - val = Sdouon (0); - - } - else { + if(cv->Bkettei[i] & Bhenkan) { + val = Sdouon(0); + + } else { cv->Bkettei[i] |= Bmuhenkan; cv->Bkettei[i] &= ~Bhenkan; cv->Bkettei[j] |= Bmuhenkan; cv->Bkettei[j] &= ~Bhenkan; val = 0; } - if (!val) { + if(!val) { cv->Dflag = -1; - Rdisp (); + Rdisp(); return (1); } - beep (); - pop_obj (i, j); - } - else { - beep (); + beep(); + pop_obj(i, j); + } else { + beep(); } return (0); } +void Bdelete() { + Conversion* cv; + int i, j, deletelen, val; -void -Bdelete () -{ - Conversion *cv; - int i, j, deletelen, val; - - cv = GetConversion (); - if (cv->CurBun < 0) { + cv = GetConversion(); + if(cv->CurBun < 0) { cv->CurBun = 0; return; } i = cv->CurBun; j = i + 1; - if (j <= cv->Bnum && cv->Plen[i] > 0) { - while (j < cv->Bnum && cv->Plen[j] == 0) - j ++; - if (j == cv->Bnum) { + if(j <= cv->Bnum && cv->Plen[i] > 0) { + while(j < cv->Bnum && cv->Plen[j] == 0) + j++; + if(j == cv->Bnum) { j = i - 1; - while (j >= 0 && cv->Plen[j] == 0) - j --; - if (j == -1) + while(j >= 0 && cv->Plen[j] == 0) + j--; + if(j == -1) j = i; } - push_obj (i, j); + push_obj(i, j); - deletelen = cv->Plen[i]; + deletelen = cv->Plen[i]; cv->Plen[i] = 0; cv->PreBun = i; cv->CurBun = j; - - val = Sdouon (0); - if (!val) { + + val = Sdouon(0); + if(!val) { cv->Dflag = -1; - Chain (i, deletelen); - Rdisp (); - if (i == j) - all_set_up (); + Chain(i, deletelen); + Rdisp(); + if(i == j) + all_set_up(); } else { - beep (); - pop_obj (i, j); + beep(); + pop_obj(i, j); } - } - else { - beep (); - all_set_up (); + } else { + beep(); + all_set_up(); } } - void -Chain (n, len) -int n; -int len; + Chain(n, len) int n; +int len; { - Conversion *cv; + Conversion* cv; int i; - wchar16_t *p; - unsigned short *pp; - int mlen, plen, ipos, rlen, imlen; + wchar16_t* p; + unsigned short* pp; + int mlen, plen, ipos, rlen, imlen; - cv = GetConversion (); - if (cv->Ppoint[n+1] == 0) + cv = GetConversion(); + if(cv->Ppoint[n + 1] == 0) return; -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - mlen = strlen ((char *)cv->Ppoint[n+1]); + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + mlen = strlen((char*)cv->Ppoint[n + 1]); plen = cv->Ppoint[n] - cv->Ppoint[0]; - p = cv->Ppoint[n]; - pp = &cv->out_mode[plen]; + p = cv->Ppoint[n]; + pp = &cv->out_mode[plen]; ipos = getipos(plen); - if (cv->Ppoint[n+1] > cv->Ppoint[0]) - rlen = getipos(cv->Ppoint[n+1] - cv->Ppoint[0]) - ipos; + if(cv->Ppoint[n + 1] > cv->Ppoint[0]) + rlen = getipos(cv->Ppoint[n + 1] - cv->Ppoint[0]) - ipos; else rlen = 0; imlen = 0; - for (i = 0 ; i < mlen ; i ++) { - p[i] = p[i+len]; - pp[i] = pp[i+len]; + for(i = 0; i < mlen; i++) { + p[i] = p[i + len]; + pp[i] = pp[i + len]; imlen += pp[i] & OMODE_MASK; } p[mlen] = '\0'; cv->out_point -= len; p = &cv->Halpha[ipos]; - for (i = 0; i < imlen; i++) - p[i] = p[i+rlen]; + for(i = 0; i < imlen; i++) + p[i] = p[i + rlen]; p[imlen] = '\0'; cv->ha_point -= rlen; - for (i = n + 1 ; i < cv->Bnum ; i ++) + for(i = n + 1; i < cv->Bnum; i++) cv->Ppoint[i] -= len; - } static int Elimit; static int Ehlimit; -exec_edit () -{ - Conversion *cv; - int edit, inc, i; - wchar16_t *s; - wchar16_t Htmp[BUFFLENGTH], Ztmp[BUFFLENGTH * 2]; - unsigned short Omode[BUFFLENGTH * 2]; - int bun; - int edited, editlen; - int len, rlen, hlen, diff; - int Zcol, cur, icur, res, ncur; - extern int keyvalue; - wchar16_t number[3]; - wchar16_t tmp[3]; - int num, numpoint; - extern char *Gedit; +exec_edit() { + Conversion* cv; + int edit, inc, i; + wchar16_t* s; + wchar16_t Htmp[BUFFLENGTH], Ztmp[BUFFLENGTH * 2]; + unsigned short Omode[BUFFLENGTH * 2]; + int bun; + int edited, editlen; + int len, rlen, hlen, diff; + int Zcol, cur, icur, res, ncur; + extern int keyvalue; + wchar16_t number[3]; + wchar16_t tmp[3]; + int num, numpoint; + extern char* Gedit; - cv = GetConversion (); - bun = cv->CurBun; - len = load_bun2(bun, Htmp, Ztmp, Omode); + cv = GetConversion(); + bun = cv->CurBun; + len = load_bun2(bun, Htmp, Ztmp, Omode); rlen = wslen(Htmp); - if (len > DLEN) { + if(len > DLEN) { guide_print_pause(WCGedit, WCTooLong); - return(0); + return (0); } - TopGuide (); - spaceR (WCGedit); - SJ_print (Ztmp); - Clear_EOL (); - backspace (wcbyte (Ztmp)); + TopGuide(); + spaceR(WCGedit); + SJ_print(Ztmp); + Clear_EOL(); + backspace(wcbyte(Ztmp)); Zcol = 0; - Flush (); + Flush(); - - cur = cv->Ppoint[bun] - cv->Ppoint[0]; + cur = cv->Ppoint[bun] - cv->Ppoint[0]; ncur = cur + cv->Plen[bun]; - s = cv->Ppoint[bun]; + s = cv->Ppoint[bun]; s += cv->Plen[bun]; res = wslen(s); - i = BUFFLENGTH * 2 - res - cur - 1; - if (i < DLEN) + i = BUFFLENGTH * 2 - res - cur - 1; + if(i < DLEN) Elimit = i; else Elimit = DLEN; i = BUFFLENGTH - wslen(cv->Halpha) + rlen - 1; - if (i < DLEN) + if(i < DLEN) Ehlimit = i; else Ehlimit = DLEN; - edited = 0; - edit = 1; + edited = 0; + edit = 1; numpoint = 0; - SaveConversion (); - while (edit) { - inc = inkey (); - cv = GetConversion (); - if (AnotherConversion ()) { - unget_key (inc); + SaveConversion(); + while(edit) { + inc = inkey(); + cv = GetConversion(); + if(AnotherConversion()) { + unget_key(inc); edited = 0; break; } - if (keyvalue == KEY_CONV) + if(keyvalue == KEY_CONV) return (0); - if (keyvalue == KEY_HENKAN || keyvalue == KEY_KETTEI) + if(keyvalue == KEY_HENKAN || keyvalue == KEY_KETTEI) break; - else if (keyvalue == KEY_UP) + else if(keyvalue == KEY_UP) inc = 'a'; - else if (keyvalue == KEY_DOWN) + else if(keyvalue == KEY_DOWN) inc = 'i'; - else if (keyvalue == KEY_RIGHT) + else if(keyvalue == KEY_RIGHT) inc = 'l'; - else if (keyvalue == KEY_LEFT) + else if(keyvalue == KEY_LEFT) inc = 'h'; - switch (inc) { + switch(inc) { case EOF: case ESC: edit = 0; break; case 'l': case ' ': - num = getnum (number, &numpoint); - if (Zcol >= len - 1) { - beep (); + num = getnum(number, &numpoint); + if(Zcol >= len - 1) { + beep(); break; } - for (i = 0 ; i < num && Zcol < len - 1 ; i++) { + for(i = 0; i < num && Zcol < len - 1; i++) { tmp[0] = Ztmp[Zcol]; tmp[1] = 0; SJ_print(tmp); - Zcol ++; + Zcol++; } - Flush (); + Flush(); break; case 'h': case BS: - num = getnum (number, &numpoint); - if (Zcol <= 0) { - beep (); + num = getnum(number, &numpoint); + if(Zcol <= 0) { + beep(); break; } - for (i = 0 ; i < num && Zcol >= 1 ; i ++) + for(i = 0; i < num && Zcol >= 1; i++) backspace(2); - Zcol -= 1; - Flush (); + Zcol -= 1; + Flush(); break; - case '\014': + case '\014': case '$': - num = getnum (number, &numpoint); - if (len <= 0) + num = getnum(number, &numpoint); + if(len <= 0) break; Zcol = len - 1; - TopGuide (); - spaceR (WCGedit); - SJ_print (Ztmp); - Clear_EOL (); - backspace (2); - Flush (); + TopGuide(); + spaceR(WCGedit); + SJ_print(Ztmp); + Clear_EOL(); + backspace(2); + Flush(); break; case 'a': - if (len >= 1) { + if(len >= 1) { tmp[0] = Ztmp[Zcol]; tmp[1] = 0; - SJ_print (tmp); - Zcol ++; - Flush (); + SJ_print(tmp); + Zcol++; + Flush(); } - + case 'i': - num = getnum (number, &numpoint); - if (editlen = Insert(Htmp, Ztmp, Omode, Zcol)) { + num = getnum(number, &numpoint); + if(editlen = Insert(Htmp, Ztmp, Omode, Zcol)) { len += editlen; Zcol += editlen; edited = 1; } - if (Zcol >= 1) { + if(Zcol >= 1) { backspace(2); Zcol -= 1; } - Print_EOL (&Ztmp[Zcol]); - Flush (); + Print_EOL(&Ztmp[Zcol]); + Flush(); break; case DEL: case 'x': - num = getnum (number, &numpoint); - if (len <= 0) { - beep (); + num = getnum(number, &numpoint); + if(len <= 0) { + beep(); break; } - len -= EditDel (Htmp, Ztmp, Omode, Zcol, num); - if (Zcol >= len && Zcol >= 1) { + len -= EditDel(Htmp, Ztmp, Omode, Zcol, num); + if(Zcol >= len && Zcol >= 1) { backspace(2); Zcol -= 1; } - Print_EOL (&Ztmp[Zcol]); - Flush (); + Print_EOL(&Ztmp[Zcol]); + Flush(); edited = 1; break; case 'r': - num = getnum (number, &numpoint); - if (len <= 0) { - beep (); + num = getnum(number, &numpoint); + if(len <= 0) { + beep(); break; } i = Replace(Htmp, Ztmp, Omode, Zcol, num); - if (i > 0) { + if(i > 0) { i -= 1; Zcol += i; backspace(2); edited = 1; } - Print_EOL (&Ztmp[Zcol]); - Flush (); + Print_EOL(&Ztmp[Zcol]); + Flush(); break; case 's': - num = getnum (number, &numpoint); - if (len <= 0) { - beep (); + num = getnum(number, &numpoint); + if(len <= 0) { + beep(); break; } - if (editlen = Substitute(Htmp,Ztmp,Omode,&Zcol,num)) { + if(editlen = Substitute(Htmp, Ztmp, Omode, &Zcol, num)) { len += editlen; } - if (Zcol >= 1) { + if(Zcol >= 1) { backspace(2); Zcol -= 1; } - Print_EOL (&Ztmp[Zcol]); - Flush (); + Print_EOL(&Ztmp[Zcol]); + Flush(); edited = 1; break; case '0': - if (numpoint == 0) { - num = getnum (number, &numpoint); - TopGuide (); - spaceR (WCGedit); - Flush (); + if(numpoint == 0) { + num = getnum(number, &numpoint); + TopGuide(); + spaceR(WCGedit); + Flush(); Zcol = 0; break; } - + default: - if (iswdigit (inc)) { - if (numpoint > 1) { - - + if(iswdigit(inc)) { + if(numpoint > 1) { + number[0] = number[1]; number[1] = inc; - } - else - number[numpoint ++] = inc; - } - else { - num = getnum (number, &numpoint); - beep (); + } else + number[numpoint++] = inc; + } else { + num = getnum(number, &numpoint); + beep(); } break; } } - if (edited) { - for (i = 0; i < res; i++) { - Ztmp[i + len] = *s++; + if(edited) { + for(i = 0; i < res; i++) { + Ztmp[i + len] = *s++; Omode[i + len] = cv->out_mode[i + ncur]; } res += len; s = cv->Ppoint[bun]; - for (i = 0; i < res; i++) { - *s++ = Ztmp[i]; + for(i = 0; i < res; i++) { + *s++ = Ztmp[i]; cv->out_mode[i + cur] = Omode[i]; } - *s = '\0'; + *s = '\0'; hlen = wslen(Htmp); icur = getipos(cur); - s = &cv->Halpha[icur]; + s = &cv->Halpha[icur]; s += rlen; - if (*s) - wscat (Htmp, s); - wscpy (&cv->Halpha[icur], Htmp); - if ((diff = len - cv->Plen[bun]) != 0) { + if(*s) + wscat(Htmp, s); + wscpy(&cv->Halpha[icur], Htmp); + if((diff = len - cv->Plen[bun]) != 0) { cv->Plen[bun] = len; cv->out_point += diff; cv->out_epoint += diff; - for (i = bun + 1 ; i < cv->Bnum ; i ++) + for(i = bun + 1; i < cv->Bnum; i++) cv->Ppoint[i] += diff; } - if ((diff = hlen - rlen) != 0) { + if((diff = hlen - rlen) != 0) { cv->ha_point += diff; cv->ha_epoint += diff; } - if ((i = cv->Bpoint[bun]) < (unsigned int)cv->Bpoint[0]) - i = cv->span_point; - cv->kettei[i - 1] = MODE_ZHIRA; - cv->Pedited[bun] = 1; - cv->Dflag = -1; - return (1); + if((i = cv->Bpoint[bun]) < (unsigned int)cv->Bpoint[0]) + i = cv->span_point; + cv->kettei[i - 1] = MODE_ZHIRA; + cv->Pedited[bun] = 1; + cv->Dflag = -1; + return (1); } - return (0); + return (0); } -getnum (number, numpoint) -wchar16_t number[]; -int *numpoint; +getnum(number, numpoint) + wchar16_t number[]; +int* numpoint; { char temp[3]; - int i=0; + int i = 0; - if (*numpoint == 0) + if(*numpoint == 0) return (1); number[*numpoint] = '\0'; - *numpoint = 0; - do { - temp[i] = WcLowByte(number[i]); - } while (number[i++] != 0) ; + *numpoint = 0; + do { + temp[i] = WcLowByte(number[i]); + } while(number[i++] != 0); - return (atoi (temp)); + return (atoi(temp)); } Replace(Hs, Zs, omode, cur, num) -wchar16_t *Hs, *Zs; -unsigned short *omode; -int cur, num; + wchar16_t* Hs, + *Zs; +unsigned short* omode; +int cur, num; { - int i, len, inc; - int beep_on, icur1, icur2; - wchar16_t roma[SHORTBUFFSIZE+1], kana[SHORTBUFFSIZE+1]; - wchar16_t work[DLEN+1]; - unsigned short otmp[SHORTBUFFSIZE+1]; + int i, len, inc; + int beep_on, icur1, icur2; + wchar16_t roma[SHORTBUFFSIZE + 1], kana[SHORTBUFFSIZE + 1]; + wchar16_t work[DLEN + 1]; + unsigned short otmp[SHORTBUFFSIZE + 1]; *roma = '\0'; *kana = '\0'; SaveConversion(GetConversion()); - while (1) { + while(1) { inc = inkey(); - if (AnotherConversion(GetConversion())) { + if(AnotherConversion(GetConversion())) { unget_key(inc); *kana = '\0'; break; } len = wslen(roma); - if (inc == ESC) { - if (len > 0) - (void)exec_romaji2(0, roma, kana, otmp, + if(inc == ESC) { + if(len > 0) + (void)exec_romaji2(0, roma, kana, otmp, wslen(kana), len); break; } - if (iswcntrl(inc) && !(len > 0 && is_bs(inc))) { + if(iswcntrl(inc) && !(len > 0 && is_bs(inc))) { beep(); *kana = '\0'; break; } - if (exec_romaji2(inc, roma, kana, otmp, wslen(kana), len)) + if(exec_romaji2(inc, roma, kana, otmp, wslen(kana), len)) break; } sj3_rkclear(); - if ((len = wslen(kana)) <= 0) - return(0); - if (kana[2] != '\0') { + if((len = wslen(kana)) <= 0) + return (0); + if(kana[2] != '\0') { beep_on = 1; - *otmp = sj_zentohan(roma, kana, 2); + *otmp = sj_zentohan(roma, kana, 2); kana[2] = '\0'; } else beep_on = 0; backspace(wcbyte(kana)); len = wslen(&Zs[cur]); - if (num <= 0) + if(num <= 0) num = 2; - if (!(omode[cur] & OMODE_MASK)) + if(!(omode[cur] & OMODE_MASK)) chhstr(Hs, Zs, omode, cur); icur1 = getipos2(omode, cur); - if (len <= num) { - num = len; + if(len <= num) { + num = len; *work = '\0'; } else { - if (!(omode[cur + num] & OMODE_MASK)) + if(!(omode[cur + num] & OMODE_MASK)) chhstr(Hs, Zs, omode, cur + num); icur2 = getipos2(omode, cur + num); wscpy(work, &Hs[icur2]); } Hs[icur1] = '\0'; - for (i = 0; i < num; i += 2) { + for(i = 0; i < num; i += 2) { SJ_print(kana); - Zs[cur] = kana[0]; + Zs[cur] = kana[0]; omode[cur++] = otmp[0]; - Zs[cur] = kana[1]; + Zs[cur] = kana[1]; omode[cur++] = otmp[1]; wscat(Hs, roma); } Flush(); wscat(Hs, work); - if (beep_on) + if(beep_on) beep(); - return(num); + return (num); } - Substitute(Hs, Zs, omode, cur, num) -wchar16_t *Hs, *Zs; -unsigned short *omode; -int *cur, num; + wchar16_t* Hs, + *Zs; +unsigned short* omode; +int * cur, num; { - wchar16_t work[DLEN + 1]; - wchar16_t work2[DLEN + 1]; - int len; + wchar16_t work[DLEN + 1]; + wchar16_t work2[DLEN + 1]; + int len; len = wslen(&Zs[*cur]); - if (len < num) + if(len < num) num = len; - Strncpy (work, &Zs[*cur], num - 1); + Strncpy(work, &Zs[*cur], num - 1); work[num - 1] = '\0'; - wscpy(work2, work); - wscat(work2, WCDollar); - SJ_print (work2); - backspace (wcbyte(&Zs[*cur])); + wscpy(work2, work); + wscat(work2, WCDollar); + SJ_print(work2); + backspace(wcbyte(&Zs[*cur])); - Flush (); + Flush(); (void)EditDel(Hs, Zs, omode, *cur, num); - if (len = Insert(Hs, Zs, omode, *cur)) + if(len = Insert(Hs, Zs, omode, *cur)) *cur += len; len -= num; return (len); } Insert(Hs, Zs, omode, cur) -wchar16_t *Hs, *Zs; -unsigned short *omode; -int cur; + wchar16_t* Hs, + *Zs; +unsigned short* omode; +int cur; { - int inc, len, i; - int limit, hlimit, ylen, res, icur, rlen; - wchar16_t ztmp[DLEN + 1], htmp[DLEN + 1]; - unsigned short otmp[DLEN + 1]; + int inc, len, i; + int limit, hlimit, ylen, res, icur, rlen; + wchar16_t ztmp[DLEN + 1], htmp[DLEN + 1]; + unsigned short otmp[DLEN + 1]; - ylen = wslen(Zs); + ylen = wslen(Zs); limit = Elimit - ylen; -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - hlimit = Ehlimit - strlen((char *)Hs); - *ztmp = '\0'; - *htmp = '\0'; - SaveConversion (GetConversion ()); - while (1) { - inc = inkey (); - if (AnotherConversion (GetConversion ())) { - unget_key (inc); + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + hlimit = Ehlimit - strlen((char*)Hs); + *ztmp = '\0'; + *htmp = '\0'; + SaveConversion(GetConversion()); + while(1) { + inc = inkey(); + if(AnotherConversion(GetConversion())) { + unget_key(inc); sj3_rkclear(); - return(0); + return (0); } - if (inc == ESC) + if(inc == ESC) break; - if (iswcntrl(inc) && !is_bs(inc)) - beep (); - else if (((len = wslen(ztmp)) >= limit || - (rlen = wslen(htmp)) >= hlimit) && !is_bs(inc)) + if(iswcntrl(inc) && !is_bs(inc)) + beep(); + else if(((len = wslen(ztmp)) >= limit || + (rlen = wslen(htmp)) >= hlimit) && + !is_bs(inc)) beep(); else (void)exec_romaji2(inc, htmp, ztmp, otmp, len, rlen); } -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - (void)exec_romaji2(0, htmp, ztmp, otmp, strlen((char *)ztmp), strlen((char *)htmp)); + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + (void)exec_romaji2(0, htmp, ztmp, otmp, strlen((char*)ztmp), strlen((char*)htmp)); sj3_rkclear(); - len = wslen (ztmp); + len = wslen(ztmp); backspace(wcbyte(ztmp)); SJ_print(ztmp); Flush(); - if (len) { - if (!(omode[cur] & OMODE_MASK)) + if(len) { + if(!(omode[cur] & OMODE_MASK)) chhstr(Hs, Zs, omode, cur); icur = getipos2(omode, cur); - res = ylen - cur; - for (i = 0; i < res; i++) { + res = ylen - cur; + for(i = 0; i < res; i++) { ztmp[i + len] = Zs[i + cur]; otmp[i + len] = omode[i + cur]; } res += len; - for (i = 0; i < res; i++) { - Zs[i + cur] = ztmp[i]; + for(i = 0; i < res; i++) { + Zs[i + cur] = ztmp[i]; omode[i + cur] = otmp[i]; } Zs[i + cur] = '\0'; @@ -788,63 +761,65 @@ int cur; return (len); } -EditDel (Hs, Zs, omode, cur, num) -wchar16_t *Hs, *Zs; -unsigned short *omode; -int cur, num; +EditDel(Hs, Zs, omode, cur, num) + wchar16_t* Hs, + *Zs; +unsigned short* omode; +int cur, num; { - int i, j; - int icur, len, rlen; + int i, j; + int icur, len, rlen; - if (!(omode[cur] & OMODE_MASK)) + if(!(omode[cur] & OMODE_MASK)) chhstr(Hs, Zs, omode, cur); - len = wslen(&Zs[cur]); + len = wslen(&Zs[cur]); icur = getipos2(omode, cur); - if (len < num) { - Zs[cur] = '\0'; + if(len < num) { + Zs[cur] = '\0'; Hs[icur] = '\0'; } else { - if (!(omode[cur + num] & OMODE_MASK)) + if(!(omode[cur + num] & OMODE_MASK)) chhstr(Hs, Zs, omode, cur + num); rlen = getipos2(omode, cur + num) - icur; - j = len - num + cur; - for (i = cur; i < j; i++) { - Zs[i] = Zs[i + num]; + j = len - num + cur; + for(i = cur; i < j; i++) { + Zs[i] = Zs[i + num]; omode[i] = omode[i + num]; } Zs[i] = '\0'; - j = wslen(Hs) - rlen; - for (i = icur; i < j; i++) + j = wslen(Hs) - rlen; + for(i = icur; i < j; i++) Hs[i] = Hs[i + rlen]; Hs[i] = '\0'; - len = num; + len = num; } return (len); } chhstr(Hs, Zs, omode, cur) -wchar16_t *Hs, *Zs; -unsigned short *omode; -int cur; + wchar16_t* Hs, + *Zs; +unsigned short* omode; +int cur; { - int i, j, len; - int prep, nextp; - int hprep, hnextp; + int i, j, len; + int prep, nextp; + int hprep, hnextp; wchar16_t hkana[BUFFLENGTH], *hkp; - len = wslen(Zs); - prep = cur; - hprep = getipos2(omode, prep); - nextp = cur + 1; + len = wslen(Zs); + prep = cur; + hprep = getipos2(omode, prep); + nextp = cur + 1; hnextp = getipos2(omode, nextp); - hkp = hkana; + hkp = hkana; for(i = prep; i < nextp; i++) { - if (i < nextp - 1 && (WcIsZENKAKU(Zs[i]))) { + if(i < nextp - 1 && (WcIsZENKAKU(Zs[i]))) { j = sj_zentohan(hkp, &Zs[i], 1); hkp += j; omode[i] = j; } else { - *hkp++ = Zs[i]; + *hkp++ = Zs[i]; omode[i] = 1; } } @@ -852,21 +827,20 @@ int cur; wscpy(&Hs[hprep], hkana); } -Print_EOL (s) -wchar16_t *s; +Print_EOL(s) + wchar16_t* s; { - if (*s != '\0') - SJ_print (s); - Clear_EOL (); - if (*s != '\0') - backspace (wcbyte (s)); + if(*s != '\0') + SJ_print(s); + Clear_EOL(); + if(*s != '\0') + backspace(wcbyte(s)); } -backspace (n) -int n; +backspace(n) int n; { - int i; + int i; - for (i = 0 ; i < n ; i ++) - Backspace (); + for(i = 0; i < n; i++) + Backspace(); } diff --git a/error.c b/error.c index 815bcdc..2fd9f80 100644 --- a/error.c +++ b/error.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,16 +28,13 @@ */ /* - * $SonyRCSfile: error.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: error.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:51 $ * * $Id$ */ - - - #include #include #include @@ -45,43 +42,35 @@ #include "sj_typedef.h" #include "server.h" -extern char program_name[]; -extern int debug_level; -extern int client_fd; +extern char program_name[]; +extern int debug_level; +extern int client_fd; -static char *tty_name = "/dev/tty"; -static FILE *errfp = NULL; -static FILE *logfp = NULL; -static FILE *dbgfp = NULL; +static char* tty_name = "/dev/tty"; +static FILE* errfp = NULL; +static FILE* logfp = NULL; +static FILE* dbgfp = NULL; +int open_error(void) { + extern char* error_file; + int flg = 0; -int -open_error(void) -{ - extern char *error_file; - int flg = 0; - - if (error_file && *error_file) { - if (!strcmp(error_file, tty_name)) { + if(error_file && *error_file) { + if(!strcmp(error_file, tty_name)) { errfp = stderr; - flg = -1; - } - else if (!(errfp = fopen(error_file, "a"))) + flg = -1; + } else if(!(errfp = fopen(error_file, "a"))) fprintf(stderr, "Can't open \"%s\"\r\n", error_file); - } - else + } else errfp = NULL; return flg; } +void error_out(char* s, int p1, int p2, int p3, int p4, int p5) { + char tmp[BUFSIZ]; -void -error_out(char* s, int p1, int p2, int p3, int p4, int p5) -{ - char tmp[BUFSIZ]; - - if (errfp) { + if(errfp) { sprintf(tmp, s, p1, p2, p3, p4, p5); fprintf(errfp, "%s: %s\r\n", program_name, tmp); fflush(errfp); @@ -89,89 +78,69 @@ error_out(char* s, int p1, int p2, int p3, int p4, int p5) exit(1); } +void warning_out(char* s, int p1, int p2, int p3, int p4, int p5) { + char tmp[BUFSIZ]; -void -warning_out(char* s, int p1, int p2, int p3, int p4, int p5) -{ - char tmp[BUFSIZ]; - - if (errfp) { + if(errfp) { sprintf(tmp, s, p1, p2, p3, p4); fprintf(errfp, "%s: warning: %s\r\n", program_name, tmp); fflush(errfp); } } +int open_log(void) { + extern char* log_file; + int flg = 0; -int -open_log(void) -{ - extern char *log_file; - int flg = 0; - - if (log_file && *log_file) { - if (!strcmp(log_file, tty_name)) { + if(log_file && *log_file) { + if(!strcmp(log_file, tty_name)) { logfp = stderr; - flg = -1; - } - else + flg = -1; + } else logfp = fopen(log_file, "a"); - if (logfp) { + if(logfp) { time_t t; time(&t); fprintf(logfp, "%s: log started at %s\r", program_name, ctime(&t)); fflush(logfp); - } - else + } else fprintf(stderr, "Can't open \"%s\"\r\n", log_file); - } - else + } else logfp = NULL; return flg; } +void logging_out(char* s, int p1, int p2, int p3, int p4, int p5) { + char tmp[BUFSIZ]; -void -logging_out(char* s, int p1, int p2, int p3, int p4, int p5) -{ - char tmp[BUFSIZ]; - - if (logfp) { + if(logfp) { sprintf(tmp, s, p1, p2, p3, p4, p5); fprintf(logfp, "%s\r\n", tmp); fflush(logfp); } } +int open_debug(void) { + extern char* debug_file; + int flg = 0; -int -open_debug(void) -{ - extern char *debug_file; - int flg = 0; - - if (debug_file && *debug_file) { - if (!strcmp(debug_file, tty_name)) { + if(debug_file && *debug_file) { + if(!strcmp(debug_file, tty_name)) { dbgfp = stderr; - flg = -1; - } - else if (!(dbgfp = fopen(debug_file, "a"))) + flg = -1; + } else if(!(dbgfp = fopen(debug_file, "a"))) fprintf(stderr, "Can't open \"%s\"\r\n", debug_file); - } - else + } else dbgfp = NULL; return flg; } - -void -debug_out(int lvl, char* s, int p1, int p2, int p3, int p4, int p5) -{ - if (lvl <= debug_level && dbgfp) { +void debug_out(int lvl, char* s, int p1, int p2, int p3, int p4, int p5) { + if(lvl <= debug_level && dbgfp) { fprintf(dbgfp, s, p1, p2, p3, p4, p5); fflush(dbgfp); } diff --git a/etc.c b/etc.c index d9ca117..bdd9ebd 100644 --- a/etc.c +++ b/etc.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,146 +28,141 @@ */ /* - * $SonyRCSfile: etc.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: etc.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:15 $ */ - - #include "common.h" #include "key.h" -extern int keyvalue; -static char rehname[SHORTLENGTH * 2]; -extern char *cur_serv; -static int dcflag = 0; +extern int keyvalue; +static char rehname[SHORTLENGTH * 2]; +extern char* cur_serv; +static int dcflag = 0; void disp_version(); -exec_etc (key) -int key; +exec_etc(key) int key; { - unsigned short row, col; - int inc; - int chbun; - int edited; - int etckey; - Conversion *cv; + unsigned short row, col; + int inc; + int chbun; + int edited; + int etckey; + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); edited = 0; - chbun = 0; - StartGuide (&row, &col); - if (key == KEY_ETC) { - printR (WCGEtc); - if (cv->column >= MINCOL) - spaceR (WCGetc); - Clear_EOL (); - EndGuide (row, col); - SaveConversion (); - inc = inkey (); - if (AnotherConversion ()) - return(KEY_NORMAL); - cv = GetConversion (); - etckey = etc_map (keyvalue); - } - else { - EndGuide (row, col); + chbun = 0; + StartGuide(&row, &col); + if(key == KEY_ETC) { + printR(WCGEtc); + if(cv->column >= MINCOL) + spaceR(WCGetc); + Clear_EOL(); + EndGuide(row, col); + SaveConversion(); + inc = inkey(); + if(AnotherConversion()) + return (KEY_NORMAL); + cv = GetConversion(); + etckey = etc_map(keyvalue); + } else { + EndGuide(row, col); etckey = key; } - switch (etckey) { + switch(etckey) { case KEY_NORMAL: -normal: - switch (inc) { + normal: + switch(inc) { case 'h': - helplevel (); + helplevel(); break; case 't': - if (!IsCflag ()) - chbun = exec_toroku (); + if(!IsCflag()) + chbun = exec_toroku(); break; case 's': - if (!IsCflag ()) - chbun = exec_syoukyo (); + if(!IsCflag()) + chbun = exec_syoukyo(); break; case 'v': case 'd': - disp_version (inc); + disp_version(inc); break; case 'w': - change_weight (); + change_weight(); break; default: break; } break; case KEY_HELP: - helplevel (); + helplevel(); break; case KEY_TOROKU: - if (!IsCflag ()) - chbun = exec_toroku (); + if(!IsCflag()) + chbun = exec_toroku(); break; case KEY_SYOUKYO: - if (!IsCflag ()) - chbun = exec_syoukyo (); + if(!IsCflag()) + chbun = exec_syoukyo(); break; case KEY_SJRC: - if (IsCflag ()) - exec_sjrc (); + if(IsCflag()) + exec_sjrc(); break; case KEY_EDIT: - if (IsHenkan ()) { - if (cv->CurBun < 0) { + if(IsHenkan()) { + if(cv->CurBun < 0) { cv->CurBun = 0; - Bdisp (1); + Bdisp(1); } - edited = exec_edit (); + edited = exec_edit(); } break; case KEY_RECONNECT: - if (reconnect() && IsHenkan()) { - EndGuide (row, col); - Clear_EOL(); - Ccheck(); - Cclear(1); - ResetHenkan(); - vprintU(cv->out_buf, 1); - cv->Kanji = 0; - return(KEY_NORMAL); - } + if(reconnect() && IsHenkan()) { + EndGuide(row, col); + Clear_EOL(); + Ccheck(); + Cclear(1); + ResetHenkan(); + vprintU(cv->out_buf, 1); + cv->Kanji = 0; + return (KEY_NORMAL); + } break; case KEY_ETC: break; default: - if ((inc = write_pseq (2)) != 0) + if((inc = write_pseq(2)) != 0) goto normal; - return(etckey); + return (etckey); break; } - EndGuide (row, col); - if (edited) { - if (!Sdouon (3)) - Rdisp (); + EndGuide(row, col); + if(edited) { + if(!Sdouon(3)) + Rdisp(); } - if (chbun) + if(chbun) Ssbun(1); - return(KEY_NORMAL); + return (KEY_NORMAL); } -Ssbun(flag) -int flag; +Ssbun(flag) int flag; { - Conversion *cv; + Conversion* cv; static short ScurBun, SpreBun; cv = GetConversion(); - if (flag) { - if (cv->CurBun != ScurBun || cv->PreBun != SpreBun) { + if(flag) { + if(cv->CurBun != ScurBun || cv->PreBun != SpreBun) { cv->CurBun = ScurBun; cv->PreBun = SpreBun; Bdisp(); @@ -178,20 +173,19 @@ int flag; } } -etc_map (key) -int key; +etc_map(key) int key; { - extern int u_etckeys; - extern int Uetckey[], Uetcval[]; - int i; - int val; + extern int u_etckeys; + extern int Uetckey[], Uetcval[]; + int i; + int val; - for (i = 0 ; i < u_etckeys ; i ++) { - if (key == Uetckey[i]) + for(i = 0; i < u_etckeys; i++) { + if(key == Uetckey[i]) return (Uetcval[i]); } - switch (key) { + switch(key) { case KEY_HENKAN: val = KEY_TOROKU; break; @@ -217,170 +211,153 @@ int key; return (val); } -helplevel () -{ - wchar16_t wtmp[BUFFLENGTH]; - unsigned char mtmp[BUFFLENGTH]; - unsigned char tmp[BUFFLENGTH]; - Conversion *cv; +helplevel() { + wchar16_t wtmp[BUFFLENGTH]; + unsigned char mtmp[BUFFLENGTH]; + unsigned char tmp[BUFFLENGTH]; + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); - if (Hlevel == 1 && cv->column >= MINCOL) { + if(Hlevel == 1 && cv->column >= MINCOL) { HHlevel = 2; - Hlevel = 2; - (void) wcstombs((char *)mtmp, WCMHelp, BUFFLENGTH); - sprintf ((char *)tmp, (char *)mtmp, "on"); - (void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH); - } - else { + Hlevel = 2; + (void)wcstombs((char*)mtmp, WCMHelp, BUFFLENGTH); + sprintf((char*)tmp, (char*)mtmp, "on"); + (void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH); + } else { HHlevel = 1; - Hlevel = 1; - (void) wcstombs((char *)mtmp, WCMHelp, BUFFLENGTH); - sprintf ((char *)tmp, (char *)mtmp, "off"); - (void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH); + Hlevel = 1; + (void)wcstombs((char*)mtmp, WCMHelp, BUFFLENGTH); + sprintf((char*)tmp, (char*)mtmp, "off"); + (void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH); } - guide_print_pause (WCGHelp, wtmp); + guide_print_pause(WCGHelp, wtmp); } void -disp_version (c) -int c; + disp_version(c) int c; { - extern char *Version, *Copyright, *Date; - char tmp[BUFFLENGTH]; + extern char *Version, *Copyright, *Date; + char tmp[BUFFLENGTH]; - wchar16_t wtmp[BUFFLENGTH]; + wchar16_t wtmp[BUFFLENGTH]; - if (c == 'v') - sprintf (tmp, "%s, %s ", Version, Copyright); - else if (c == 'd') - sprintf (tmp, "%s ", Date); + if(c == 'v') + sprintf(tmp, "%s, %s ", Version, Copyright); + else if(c == 'd') + sprintf(tmp, "%s ", Date); else return; - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); - guide_print_pause (0, wtmp); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); + guide_print_pause(0, wtmp); } -exec_sjrc () -{ - extern char RCfile[]; - char tmp[BUFFLENGTH]; - unsigned char SUCCorFAIL[BUFFLENGTH]; - wchar16_t wtmp[BUFFLENGTH]; +exec_sjrc() { + extern char RCfile[]; + char tmp[BUFFLENGTH]; + unsigned char SUCCorFAIL[BUFFLENGTH]; + wchar16_t wtmp[BUFFLENGTH]; - - if (*RCfile == (char)NULL) { + if(*RCfile == (char)NULL) { getsjrc(); - if (*RCfile == (char)NULL) - { - (void) wcstombs((char *)SUCCorFAIL, WCNOTHsjrc, BUFFLENGTH); - sprintf((char *)tmp, (char *)SUCCorFAIL); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); - } - else - { - (void) wcstombs((char *)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH); - sprintf (tmp, "%s %s ", RCfile, SUCCorFAIL); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); + if(*RCfile == (char)NULL) { + (void)wcstombs((char*)SUCCorFAIL, WCNOTHsjrc, BUFFLENGTH); + sprintf((char*)tmp, (char*)SUCCorFAIL); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); + } else { + (void)wcstombs((char*)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH); + sprintf(tmp, "%s %s ", RCfile, SUCCorFAIL); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); } } else { - if (setrc () == TRUE) - { - (void) wcstombs((char *)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH); + if(setrc() == TRUE) { + (void)wcstombs((char*)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH); } else { - (void) wcstombs((char *)SUCCorFAIL, WCFAILsjrc, BUFFLENGTH); + (void)wcstombs((char*)SUCCorFAIL, WCFAILsjrc, BUFFLENGTH); } - sprintf (tmp, "%s %s ", RCfile, SUCCorFAIL); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); + sprintf(tmp, "%s %s ", RCfile, SUCCorFAIL); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); } - guide_print_pause (0, wtmp); + guide_print_pause(0, wtmp); } -static int weight = 3; -static int seed = 100000; +static int weight = 3; +static int seed = 100000; -change_weight () -{ - int c; - char s[2]; - char tmp[BUFFLENGTH]; - unsigned char mtmp[BUFFLENGTH]; - wchar16_t wtmp[BUFFLENGTH]; +change_weight() { + int c; + char s[2]; + char tmp[BUFFLENGTH]; + unsigned char mtmp[BUFFLENGTH]; + wchar16_t wtmp[BUFFLENGTH]; - (void) wcstombs((char *)mtmp, WCWeight_mes, BUFFLENGTH); - sprintf(tmp, (char *)mtmp, weight); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); - c = guide_print_pause (0, wtmp); + (void)wcstombs((char*)mtmp, WCWeight_mes, BUFFLENGTH); + sprintf(tmp, (char*)mtmp, weight); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); + c = guide_print_pause(0, wtmp); - if (isdigit (c) && (c != '0')) { - s[0] = c; - s[1] = '\0'; - weight = atoi (s); + if(isdigit(c) && (c != '0')) { + s[0] = c; + s[1] = '\0'; + weight = atoi(s); } } -UsecWeight (sw) -int sw; +UsecWeight(sw) int sw; { - - if (sw) + if(sw) return (seed); - else + else return (seed * weight); } -dconnect(aflag) -int aflag; +dconnect(aflag) int aflag; { - int err; - char tmp[BUFFLENGTH]; - wchar16_t wtmp[BUFFLENGTH]; - unsigned char dtmp[BUFFLENGTH]; + int err; + char tmp[BUFFLENGTH]; + wchar16_t wtmp[BUFFLENGTH]; + unsigned char dtmp[BUFFLENGTH]; - if (!dcflag) { - (void) wcstombs((char *)dtmp, WCDiscon, BUFFLENGTH); - sprintf(tmp, (char *)dtmp, cur_serv); + if(!dcflag) { + (void)wcstombs((char*)dtmp, WCDiscon, BUFFLENGTH); + sprintf(tmp, (char*)dtmp, cur_serv); beep(); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); - guide_print_pause (0, wtmp); - - - if (aflag && keyvalue == KEY_HENKAN) { - if ((err = sj3_autocon()) == 0) { - (void) wcstombs((char *)dtmp, WCRserv_OK, BUFFLENGTH); - sprintf(tmp, (char *)dtmp, cur_serv); - (void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); + guide_print_pause(0, wtmp); + + if(aflag && keyvalue == KEY_HENKAN) { + if((err = sj3_autocon()) == 0) { + (void)wcstombs((char*)dtmp, WCRserv_OK, BUFFLENGTH); + sprintf(tmp, (char*)dtmp, cur_serv); + (void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH); guide_print_pause(0, wtmp); - } else { - guide_print_pause(WCSpace, WCNconnect); - dcflag = 1; - } - } else - dcflag = 1; + } else { + guide_print_pause(WCSpace, WCNconnect); + dcflag = 1; + } + } else + dcflag = 1; disp_mode(); } - return(dcflag); + return (dcflag); } -set_dcflag(flag) -int flag; +set_dcflag(flag) int flag; { dcflag = flag; } -IsDcflag() -{ - return(dcflag); +IsDcflag() { + return (dcflag); } -reconnect () -{ - int inc, err; - char tmp[BUFFLENGTH], *hp; - char newserv[SHORTLENGTH * 2], *nsp; - wchar16_t wtmp[BUFFLENGTH]; +reconnect() { + int inc, err; + char tmp[BUFFLENGTH], *hp; + char newserv[SHORTLENGTH * 2], *nsp; + wchar16_t wtmp[BUFFLENGTH]; unsigned char rtmp[BUFFLENGTH]; strncpy(newserv, cur_serv, SHORTLENGTH * 2 - 1); @@ -389,55 +366,55 @@ reconnect () SaveConversion(); TopGuide(); printR(WCGrcon); - (void) wcstombs((char *)rtmp, WCRserv, BUFFLENGTH); - sprintf(tmp, (char *)rtmp, newserv); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); - SJ_print (wtmp); + (void)wcstombs((char*)rtmp, WCRserv, BUFFLENGTH); + sprintf(tmp, (char*)rtmp, newserv); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); + SJ_print(wtmp); Clear_EOL(); Flush(); nsp = newserv; - while ((inc = inkey()) != EOF) { - if (AnotherConversion()) { + while((inc = inkey()) != EOF) { + if(AnotherConversion()) { unget_key(inc); - return(0); + return (0); } - if (keyvalue != KEY_NORMAL && keyvalue != KEY_FLUSH) - return(0); - if (inc == '\n' || inc == '\r' || IsESC(inc)) + if(keyvalue != KEY_NORMAL && keyvalue != KEY_FLUSH) + return (0); + if(inc == '\n' || inc == '\r' || IsESC(inc)) break; - if (is_bs (inc) && nsp > newserv) { + if(is_bs(inc) && nsp > newserv) { nsp--; *nsp = '\0'; backspace(1); Flush(); - } else if (isgraph(inc) && - nsp < &newserv[SHORTLENGTH * 2 - 1]) { + } else if(isgraph(inc) && + nsp < &newserv[SHORTLENGTH * 2 - 1]) { *nsp++ = inc; printf("%c", inc); Flush(); - } else + } else beep(); } - if (nsp > newserv) { + if(nsp > newserv) { *nsp = '\0'; - strcpy(rehname, newserv); - cur_serv = rehname; - } else if (newserv[0] == '\0') { - strncpy(newserv, cur_serv, SHORTLENGTH * 2 - 1); + strcpy(rehname, newserv); + cur_serv = rehname; + } else if(newserv[0] == '\0') { + strncpy(newserv, cur_serv, SHORTLENGTH * 2 - 1); newserv[SHORTLENGTH * 2 - 1] = '\0'; } - if ((err = SJ2_reconnect()) == 0) { + if((err = SJ2_reconnect()) == 0) { TopGuide(); printR(WCGrcon); - (void) wcstombs((char *)rtmp, WCRserv_OK, BUFFLENGTH); - sprintf(tmp, (char *)rtmp, newserv); - (void) mbstowcs(wtmp, tmp, BUFFLENGTH); + (void)wcstombs((char*)rtmp, WCRserv_OK, BUFFLENGTH); + sprintf(tmp, (char*)rtmp, newserv); + (void)mbstowcs(wtmp, tmp, BUFFLENGTH); SJ_print(wtmp); Clear_EOL(); Flush(); set_dcflag(0); inc = inkey(); - if (AnotherConversion ()) + if(AnotherConversion()) unget_key(inc); break; } else { @@ -450,33 +427,32 @@ reconnect () Backspace(); Flush(); inc = inkey(); - if (AnotherConversion()) { + if(AnotherConversion()) { unget_key(inc); set_dcflag(1); break; } - if (inc == 'n' || inc == 'N' || inc == EOF) { + if(inc == 'n' || inc == 'N' || inc == EOF) { set_dcflag(1); break; } } } - return(1); -} + return (1); +} -guide_print_pause (s1, s2) -wchar16_t *s1, *s2; +guide_print_pause(s1, s2) + wchar16_t* s1, + *s2; { - int c; + int c; - guide_print (s1, s2); - SaveConversion (); - c = inkey (); - if (AnotherConversion ()) { - unget_key (c); + guide_print(s1, s2); + SaveConversion(); + c = inkey(); + if(AnotherConversion()) { + unget_key(c); return (EOF); } return (c); } - - diff --git a/eucmessage.c b/eucmessage.c index 9cf9dbb..0723c56 100644 --- a/eucmessage.c +++ b/eucmessage.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,275 +28,250 @@ */ /* - * $SonyRCSfile: eucmessage.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: eucmessage.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1994/12/09 11:27:08 $ */ - - #include "wchar16.h" #include #include "kctype.h" #include "sj3libsj3.h" #include "sj2.h" -unsigned char *EucMessages[] = { - (unsigned char *)"\243\323\243\312\243\263\241\241\241\241\241\241\241\241\241\241\241\241\241\241", +unsigned char* EucMessages[] = { + (unsigned char*)"\243\323\243\312\243\263\241\241\241\241\241\241\241\241\241\241\241\241\241\241", - (unsigned char *)"Buffer\241\241\241\241", - (unsigned char *)"Unbuffer\241\241", + (unsigned char*)"Buffer\241\241\241\241", + (unsigned char*)"Unbuffer\241\241", - (unsigned char *)"\301\264\244\322\244\351\244\254\244\312", - (unsigned char *)"\301\264\245\253\245\277\245\253\245\312", - (unsigned char *)"\310\276\245\253\245\277\245\253\245\312", - (unsigned char *)"\301\264\245\242\245\353\245\325\245\241", - (unsigned char *)"\310\276\245\242\245\353\245\325\245\241", + (unsigned char*)"\301\264\244\322\244\351\244\254\244\312", + (unsigned char*)"\301\264\245\253\245\277\245\253\245\312", + (unsigned char*)"\310\276\245\253\245\277\245\253\245\312", + (unsigned char*)"\301\264\245\242\245\353\245\325\245\241", + (unsigned char*)"\310\276\245\242\245\353\245\325\245\241", + (unsigned char*)" \312\321\264\271 \314\265\312\321 etc. \267\350\304\352 code \310\276\245\242 \301\264\245\242 \310\276\245\253 \301\264\245\253 \244\253\244\312", + (unsigned char*)"\244\275\244\316\302\276\241\241\241\241\241\241\241\241\241\241\241\241\241\241", - (unsigned char *)" \312\321\264\271 \314\265\312\321 etc. \267\350\304\352 code \310\276\245\242 \301\264\245\242 \310\276\245\253 \301\264\245\253 \244\253\244\312", - (unsigned char *)"\244\275\244\316\302\276\241\241\241\241\241\241\241\241\241\241\241\241\241\241", + (unsigned char*)" \305\320\317\277 \276\303\265\356 Help sjrc \312\324\275\270 \272\306\300\334 \241\241\241\241 \241\241\241\241 \241\241\241\241 \241\241\241\241", - (unsigned char *)" \305\320\317\277 \276\303\265\356 Help sjrc \312\324\275\270 \272\306\300\334 \241\241\241\241 \241\241\241\241 \241\241\241\241 \241\241\241\241", + (unsigned char*)"Help\241\241Mode", + (unsigned char*)" \245\254\245\244\245\311\241\246\245\351\245\244\245\363 %s \244\313\244\312\244\352\244\336\244\267\244\277 ", - (unsigned char *)"Help\241\241Mode", - (unsigned char *)" \245\254\245\244\245\311\241\246\245\351\245\244\245\363 %s \244\313\244\312\244\352\244\336\244\267\244\277 ", + (unsigned char*)"ShiftJIS\241\241", + (unsigned char*)"\241\241\243\305\243\325\243\303\241\241", + (unsigned char*)"\243\305\243\325\243\303\312\344\275\365", + (unsigned char*)"\241\241\243\312\243\311\243\323\241\241", + (unsigned char*)"\243\312\243\311\243\323\312\344\275\365", + (unsigned char*)"\241\241\241\241\266\350\305\300\241\241", + (unsigned char*)"\266\350\305\300\241\241\312\344\275\365", + (unsigned char*)"\305\320\317\277", + (unsigned char*)" \310\317\260\317\244\362\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244 ", + (unsigned char*)" \264\301\273\372 [%s] : \306\311\244\337\306\376\316\317 ", + (unsigned char*)" \264\301\273\372 [%s] : \306\311\244\337 [%s] : \311\312\273\354 [%s] (y/n)? ", + (unsigned char*)" \264\301\273\372 [%s] : \306\311\244\337 [%s] (y/n)? ", + (unsigned char*)" \312\270\313\241\276\360\312\363 : 1.\314\276\273\354 2.\314\276\273\372 3.\314\276\301\260 4.\303\317\314\276 5.\245\265\312\321\306\260\273\354", + (unsigned char*)" \305\320\317\277\244\267\244\336\244\267\244\277 ", + (unsigned char*)" \306\311\244\337\306\376\316\317 ", + (unsigned char*)" 1", + (unsigned char*)"y", + (unsigned char*)" \306\261\260\354\244\316\303\261\270\354\244\254\244\271\244\307\244\313\302\270\272\337\244\267\244\306\244\244\244\336\244\271", + (unsigned char*)" \244\263\244\316\306\311\244\337\312\270\273\372\316\363\244\307\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)" \244\263\244\316\264\301\273\372\312\270\273\372\316\363\244\307\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)" \244\263\244\354\260\312\276\345\306\261\244\270\306\311\244\337\244\307\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)" \244\263\244\354\260\312\276\345\245\346\241\274\245\266\274\255\275\361\244\313\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)" \245\346\241\274\245\266\274\255\275\361\244\254\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\271", + (unsigned char*)" \245\267\245\271\245\306\245\340\245\250\245\351\241\274\244\307\305\320\317\277\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)",", + (unsigned char*)"\276\303\265\356", + (unsigned char*)" \264\301\273\372 [%s] : \306\311\244\337 [%s] : \311\312\273\354 [%s]\244\362\276\303\265\356\244\267\244\336\244\267\244\277 ", + (unsigned char*)" \273\330\304\352\244\265\244\354\244\277\306\311\244\337\241\246\264\301\273\372\244\317\305\320\317\277\244\265\244\354\244\306\244\244\244\336\244\273\244\363", + (unsigned char*)" \245\346\241\274\245\266\274\255\275\361\244\254\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\271", + (unsigned char*)" \244\263\244\316\306\311\244\337\312\270\273\372\316\363\244\317\276\303\265\356\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)" \244\263\244\316\264\301\273\372\312\270\273\372\316\363\244\317\276\303\265\356\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)" \245\267\245\271\245\306\245\340\245\250\245\351\241\274\244\307\276\303\265\356\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)"ShiftJIS\241\241", - (unsigned char *)"\241\241\243\305\243\325\243\303\241\241", - (unsigned char *)"\243\305\243\325\243\303\312\344\275\365", - (unsigned char *)"\241\241\243\312\243\311\243\323\241\241", - (unsigned char *)"\243\312\243\311\243\323\312\344\275\365", - (unsigned char *)"\241\241\241\241\266\350\305\300\241\241", - (unsigned char *)"\266\350\305\300\241\241\312\344\275\365", + (unsigned char*)"\244\362\306\311\244\337\271\376\244\337\244\336\244\267\244\277", + (unsigned char*)"\244\362\306\311\244\337\271\376\244\341\244\336\244\273\244\363\244\307\244\267\244\277", + (unsigned char*)"\245\273\245\303\245\310\245\242\245\303\245\327\245\325\245\241\245\244\245\353\244\254\244\242\244\352\244\336\244\273\244\363 ", + (unsigned char*)"Change weight (1-9) current weight %d ", + (unsigned char*)"\272\306\300\334\302\263 ", + (unsigned char*)" \245\265\241\274\245\320\314\276 [%s] \244\362\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244 ", + (unsigned char*)" \245\265\241\274\245\320 [%s] \244\313\300\334\302\263\244\267\244\336\244\267\244\277 ", + (unsigned char*)"\245\265\241\274\245\320 [%s] \244\310\244\316\300\334\302\263\244\254\300\332\244\354\244\336\244\267\244\277", - (unsigned char *)"\305\320\317\277", - (unsigned char *)" \310\317\260\317\244\362\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244 ", - (unsigned char *)" \264\301\273\372 [%s] : \306\311\244\337\306\376\316\317 ", - (unsigned char *)" \264\301\273\372 [%s] : \306\311\244\337 [%s] : \311\312\273\354 [%s] (y/n)? ", - (unsigned char *)" \264\301\273\372 [%s] : \306\311\244\337 [%s] (y/n)? ", - (unsigned char *)" \312\270\313\241\276\360\312\363 : 1.\314\276\273\354 2.\314\276\273\372 3.\314\276\301\260 4.\303\317\314\276 5.\245\265\312\321\306\260\273\354", - (unsigned char *)" \305\320\317\277\244\267\244\336\244\267\244\277 ", - (unsigned char *)" \306\311\244\337\306\376\316\317 ", - (unsigned char *)" 1", - (unsigned char *)"y", - (unsigned char *)" \306\261\260\354\244\316\303\261\270\354\244\254\244\271\244\307\244\313\302\270\272\337\244\267\244\306\244\244\244\336\244\271", - (unsigned char *)" \244\263\244\316\306\311\244\337\312\270\273\372\316\363\244\307\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)" \244\263\244\316\264\301\273\372\312\270\273\372\316\363\244\307\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)" \244\263\244\354\260\312\276\345\306\261\244\270\306\311\244\337\244\307\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)" \244\263\244\354\260\312\276\345\245\346\241\274\245\266\274\255\275\361\244\313\244\317\305\320\317\277\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)" \245\346\241\274\245\266\274\255\275\361\244\254\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\271", - (unsigned char *)" \245\267\245\271\245\306\245\340\245\250\245\351\241\274\244\307\305\320\317\277\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)",", + (unsigned char*)" ", + (unsigned char*)" ", + (unsigned char*)" \302\263\244\261\244\336\244\271\244\253? y", + (unsigned char*)"\245\265\241\274\245\320\241\274\244\254\273\340\244\313\244\336\244\267\244\277\241\243", + (unsigned char*)"\245\265\241\274\245\320\241\274\244\313\300\334\302\263\272\321\244\307\244\271\241\243", + (unsigned char*)"\245\265\241\274\245\320\241\274\244\330\244\316\300\334\302\263\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", + (unsigned char*)"\245\341\245\244\245\363\274\255\275\361\245\325\245\241\245\244\245\353\244\362\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363\241\243", + (unsigned char*)"\245\346\241\274\245\266\241\246\245\307\245\243\245\354\245\257\245\310\245\352\244\316\272\356\300\256\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", + (unsigned char*)"\245\346\241\274\245\266\274\255\275\361\245\325\245\241\245\244\245\353\244\316\300\270\300\256\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", + (unsigned char*)"\245\346\241\274\245\266\274\255\275\361\245\325\245\241\245\244\245\353\244\362\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363\241\243", + (unsigned char*)"\263\330\275\254\245\325\245\241\245\244\245\353\244\316\300\270\300\256\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", + (unsigned char*)"\263\330\275\254\245\325\245\241\245\244\245\353\244\362\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363\241\243", - (unsigned char *)"\276\303\265\356", - (unsigned char *)" \264\301\273\372 [%s] : \306\311\244\337 [%s] : \311\312\273\354 [%s]\244\362\276\303\265\356\244\267\244\336\244\267\244\277 ", - (unsigned char *)" \273\330\304\352\244\265\244\354\244\277\306\311\244\337\241\246\264\301\273\372\244\317\305\320\317\277\244\265\244\354\244\306\244\244\244\336\244\273\244\363", - (unsigned char *)" \245\346\241\274\245\266\274\255\275\361\244\254\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\271", - (unsigned char *)" \244\263\244\316\306\311\244\337\312\270\273\372\316\363\244\317\276\303\265\356\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)" \244\263\244\316\264\301\273\372\312\270\273\372\316\363\244\317\276\303\265\356\244\307\244\255\244\336\244\273\244\363", - (unsigned char *)" \245\267\245\271\245\306\245\340\245\250\245\351\241\274\244\307\276\303\265\356\244\307\244\255\244\336\244\273\244\363", + (unsigned char*)"\312\324\275\270 ", + (unsigned char*)"\243\323\243\312\243\263\241\241\241\241\241\241\241\241\241\241\241\241\241\241", + (unsigned char*)" \312\324\275\270\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271", + (unsigned char*)"$$", + (unsigned char*)"on", + (unsigned char*)"off", - (unsigned char *)"\244\362\306\311\244\337\271\376\244\337\244\336\244\267\244\277", - (unsigned char *)"\244\362\306\311\244\337\271\376\244\341\244\336\244\273\244\363\244\307\244\267\244\277", - (unsigned char *)"\245\273\245\303\245\310\245\242\245\303\245\327\245\325\245\241\245\244\245\353\244\254\244\242\244\352\244\336\244\273\244\363 ", + (unsigned char*)"\314\276\273\354", + (unsigned char*)"\314\276\273\372", + (unsigned char*)"\314\276\301\260", + (unsigned char*)"\303\317\314\276", + (unsigned char*)"\245\265\312\321\306\260\273\354", + (unsigned char*)"", + (unsigned char*)"F1", + (unsigned char*)"F2", + (unsigned char*)"F3", + (unsigned char*)"F4", + (unsigned char*)"F5", + (unsigned char*)"F6", + (unsigned char*)"F7", + (unsigned char*)"F8", + (unsigned char*)"F9", + (unsigned char*)"F10", + (unsigned char*)"F11", + (unsigned char*)"F12", + (unsigned char*)"F13", + (unsigned char*)"F14", + (unsigned char*)"F15", + (unsigned char*)"F16", + (unsigned char*)"F17", + (unsigned char*)"F18", + (unsigned char*)"F19", + (unsigned char*)"F20", + (unsigned char*)"Select", + (unsigned char*)"Kanji", + (unsigned char*)"Cancel", + (unsigned char*)"Execute", + (unsigned char*)"Up", + (unsigned char*)"Down", + (unsigned char*)"Right", + (unsigned char*)"Left", - (unsigned char *)"Change weight (1-9) current weight %d ", + (unsigned char*)"start", + (unsigned char*)"henkan", + (unsigned char*)"muhen", + (unsigned char*)"kettei", + (unsigned char*)"hira", + (unsigned char*)"halpha", + (unsigned char*)"zalpha", + (unsigned char*)"hkata", + (unsigned char*)"zkata", + (unsigned char*)"code", + (unsigned char*)"etc", + (unsigned char*)"right", + (unsigned char*)"left", + (unsigned char*)"kaku", + (unsigned char*)"syuku", + (unsigned char*)"edit", + (unsigned char*)"toggle", + (unsigned char*)"wrapback", + (unsigned char*)"wrap", + (unsigned char*)"sjrc", + (unsigned char*)"buffer", + (unsigned char*)"toroku", + (unsigned char*)"syoukyo", + (unsigned char*)"help", + (unsigned char*)"ha-kettei", + (unsigned char*)"flush", + (unsigned char*)"debug", + (unsigned char*)"cancel", + (unsigned char*)"saihenkan", + (unsigned char*)"ignore", + (unsigned char*)"top", + (unsigned char*)"end", + (unsigned char*)"reconnect", + (unsigned char*)"kill", + (unsigned char*)"key", + (unsigned char*)"escape", + (unsigned char*)"sjxkey", + (unsigned char*)"etckey", + (unsigned char*)"intr", + (unsigned char*)"bskey", + (unsigned char*)"delkey", + (unsigned char*)"setnormal", + (unsigned char*)"throughnext", + (unsigned char*)"initialmode", + (unsigned char*)"helpmode", + (unsigned char*)"defaultcode", + (unsigned char*)"muhenkanmode", + (unsigned char*)"muhenkaninedit", + (unsigned char*)"muhenkantoggle", + (unsigned char*)"guide", + (unsigned char*)"forkshell", + (unsigned char*)"execshell", + (unsigned char*)"dictionary", + (unsigned char*)"userdic", + (unsigned char*)"maindic", + (unsigned char*)"romaji", + (unsigned char*)"bstudy", + (unsigned char*)"silent", + (unsigned char*)"flushafterconversion", + (unsigned char*)"rkerrbell", + (unsigned char*)"server", + (unsigned char*)"shiftjis", + (unsigned char*)"sjis", + (unsigned char*)"euc", + (unsigned char*)"euc2", + (unsigned char*)"jis", + (unsigned char*)"jis2", + (unsigned char*)"kuten", + (unsigned char*)"kuten2", - (unsigned char *)"\272\306\300\334\302\263 ", - (unsigned char *)" \245\265\241\274\245\320\314\276 [%s] \244\362\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244 ", - (unsigned char *)" \245\265\241\274\245\320 [%s] \244\313\300\334\302\263\244\267\244\336\244\267\244\277 ", - (unsigned char *)"\245\265\241\274\245\320 [%s] \244\310\244\316\300\334\302\263\244\254\300\332\244\354\244\336\244\267\244\277", + (unsigned char*)"buff", + (unsigned char*)"unbuff", + (unsigned char*)"direct", - (unsigned char *)" ", - (unsigned char *)" ", - (unsigned char *)" \302\263\244\261\244\336\244\271\244\253? y", + (unsigned char*)"sj2", + (unsigned char*)"shift", + (unsigned char*)"function", - (unsigned char *)"\245\265\241\274\245\320\241\274\244\254\273\340\244\313\244\336\244\267\244\277\241\243", - (unsigned char *)"\245\265\241\274\245\320\241\274\244\313\300\334\302\263\272\321\244\307\244\271\241\243", - (unsigned char *)"\245\265\241\274\245\320\241\274\244\330\244\316\300\334\302\263\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", - (unsigned char *)"\245\341\245\244\245\363\274\255\275\361\245\325\245\241\245\244\245\353\244\362\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363\241\243", - (unsigned char *)"\245\346\241\274\245\266\241\246\245\307\245\243\245\354\245\257\245\310\245\352\244\316\272\356\300\256\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", - (unsigned char *)"\245\346\241\274\245\266\274\255\275\361\245\325\245\241\245\244\245\353\244\316\300\270\300\256\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", - (unsigned char *)"\245\346\241\274\245\266\274\255\275\361\245\325\245\241\245\244\245\353\244\362\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363\241\243", - (unsigned char *)"\263\330\275\254\245\325\245\241\245\244\245\353\244\316\300\270\300\256\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", - (unsigned char *)"\263\330\275\254\245\325\245\241\245\244\245\353\244\362\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363\241\243", - - - - (unsigned char *)"\312\324\275\270 ", - (unsigned char *)"\243\323\243\312\243\263\241\241\241\241\241\241\241\241\241\241\241\241\241\241", - - (unsigned char *)" \312\324\275\270\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271", - (unsigned char *)"$$", - - - (unsigned char *)"on", - (unsigned char *)"off", - - - (unsigned char *)"\314\276\273\354", - (unsigned char *)"\314\276\273\372", - (unsigned char *)"\314\276\301\260", - (unsigned char *)"\303\317\314\276", - (unsigned char *)"\245\265\312\321\306\260\273\354", - - - (unsigned char *)"", - (unsigned char *)"F1", - (unsigned char *)"F2", - (unsigned char *)"F3", - (unsigned char *)"F4", - (unsigned char *)"F5", - (unsigned char *)"F6", - (unsigned char *)"F7", - (unsigned char *)"F8", - (unsigned char *)"F9", - (unsigned char *)"F10", - (unsigned char *)"F11", - (unsigned char *)"F12", - (unsigned char *)"F13", - (unsigned char *)"F14", - (unsigned char *)"F15", - (unsigned char *)"F16", - (unsigned char *)"F17", - (unsigned char *)"F18", - (unsigned char *)"F19", - (unsigned char *)"F20", - (unsigned char *)"Select", - (unsigned char *)"Kanji", - (unsigned char *)"Cancel", - (unsigned char *)"Execute", - (unsigned char *)"Up", - (unsigned char *)"Down", - (unsigned char *)"Right", - (unsigned char *)"Left", - - (unsigned char *)"start", - (unsigned char *)"henkan", - (unsigned char *)"muhen", - (unsigned char *)"kettei", - (unsigned char *)"hira", - (unsigned char *)"halpha", - (unsigned char *)"zalpha", - (unsigned char *)"hkata", - (unsigned char *)"zkata", - (unsigned char *)"code", - (unsigned char *)"etc", - (unsigned char *)"right", - (unsigned char *)"left", - (unsigned char *)"kaku", - (unsigned char *)"syuku", - (unsigned char *)"edit", - (unsigned char *)"toggle", - (unsigned char *)"wrapback", - (unsigned char *)"wrap", - (unsigned char *)"sjrc", - (unsigned char *)"buffer", - (unsigned char *)"toroku", - (unsigned char *)"syoukyo", - (unsigned char *)"help", - (unsigned char *)"ha-kettei", - (unsigned char *)"flush", - (unsigned char *)"debug", - (unsigned char *)"cancel", - (unsigned char *)"saihenkan", - (unsigned char *)"ignore", - (unsigned char *)"top", - (unsigned char *)"end", - (unsigned char *)"reconnect", - (unsigned char *)"kill", - - - (unsigned char *)"key", - (unsigned char *)"escape", - (unsigned char *)"sjxkey", - (unsigned char *)"etckey", - (unsigned char *)"intr", - (unsigned char *)"bskey", - (unsigned char *)"delkey", - (unsigned char *)"setnormal", - (unsigned char *)"throughnext", - (unsigned char *)"initialmode", - (unsigned char *)"helpmode", - (unsigned char *)"defaultcode", - (unsigned char *)"muhenkanmode", - (unsigned char *)"muhenkaninedit", - (unsigned char *)"muhenkantoggle", - (unsigned char *)"guide", - (unsigned char *)"forkshell", - (unsigned char *)"execshell", - (unsigned char *)"dictionary", - (unsigned char *)"userdic", - (unsigned char *)"maindic", - (unsigned char *)"romaji", - (unsigned char *)"bstudy", - (unsigned char *)"silent", - (unsigned char *)"flushafterconversion", - (unsigned char *)"rkerrbell", - (unsigned char *)"server", - - (unsigned char *)"shiftjis", - (unsigned char *)"sjis", - (unsigned char *)"euc", - (unsigned char *)"euc2", - (unsigned char *)"jis", - (unsigned char *)"jis2", - (unsigned char *)"kuten", - (unsigned char *)"kuten2", - - (unsigned char *)"buff", - (unsigned char *)"unbuff", - (unsigned char *)"direct", - - (unsigned char *)"sj2", - (unsigned char *)"shift", - - (unsigned char *)"function", - - (unsigned char *)"unbuffer", - (unsigned char *)"funcetc" + (unsigned char*)"unbuffer", + (unsigned char*)"funcetc" }; - #define CURMESSAGES 182 -wchar16_t *WcMessages[CURMESSAGES]; +wchar16_t* WcMessages[CURMESSAGES]; #define CURWCVTKEY 29 struct wcvtkey wcvtkeytbl[CURWCVTKEY]; - - -int -init_wcvtkey() -{ +int init_wcvtkey() { int i = 0; - for (i = 0; i < CURWCVTKEY; i++) { + for(i = 0; i < CURWCVTKEY; i++) { wcvtkeytbl[i].key_seq[0] = 0; } - wcvtkeytbl[0].key_word = WCF1; - wcvtkeytbl[1].key_word = WCF2; - wcvtkeytbl[2].key_word = WCF3; - wcvtkeytbl[3].key_word = WCF4; - wcvtkeytbl[4].key_word = WCF5; - wcvtkeytbl[5].key_word = WCF6; - wcvtkeytbl[6].key_word = WCF7; - wcvtkeytbl[7].key_word = WCF8; - wcvtkeytbl[8].key_word = WCF9; - wcvtkeytbl[9].key_word = WCF10; + wcvtkeytbl[0].key_word = WCF1; + wcvtkeytbl[1].key_word = WCF2; + wcvtkeytbl[2].key_word = WCF3; + wcvtkeytbl[3].key_word = WCF4; + wcvtkeytbl[4].key_word = WCF5; + wcvtkeytbl[5].key_word = WCF6; + wcvtkeytbl[6].key_word = WCF7; + wcvtkeytbl[7].key_word = WCF8; + wcvtkeytbl[8].key_word = WCF9; + wcvtkeytbl[9].key_word = WCF10; wcvtkeytbl[10].key_word = WCF11; wcvtkeytbl[11].key_word = WCF12; wcvtkeytbl[12].key_word = WCF13; @@ -318,150 +293,191 @@ init_wcvtkey() wcvtkeytbl[28].key_word = NULL; } -wchar16_t *comstr[KEY_OTHER]; +wchar16_t* comstr[KEY_OTHER]; - - -int -init_comstr() -{ - comstr[0] = WCStart; comstr[1] = WCHenkan; comstr[2] = WCMuhen; - comstr[3] = WCKettei; comstr[4] = WCHira; comstr[5] = WCHalpha; - comstr[6] = WCZalpha; comstr[7] = WCHkata; comstr[8] = WCZkata; - comstr[9] = WCCode; comstr[10] = WCEtc; comstr[11] = WCRightl; - comstr[12] = WCLeftl; comstr[13] = WCKaku; comstr[14] = WCSyuku; - comstr[15] = WCEdit; comstr[16] = WCToggle; comstr[17] = WCWrapback; - comstr[18] = WCWrap; comstr[19] = WCSjrc; comstr[20] = WCBuffer; - comstr[21] = WCToroku; comstr[22] = WCSyoukyo; comstr[23] = WCHelp; - comstr[24] = WCHaKettei; comstr[25] = WCFlush; comstr[26] = WCDebug; - comstr[27] = WCCancell; comstr[28] = WCSaihenkan; comstr[29] = WCIgnore; - comstr[30] = WCTop; comstr[31] = WCEnd; comstr[32] = WCReconnect; - comstr[33] = WCKill; comstr[34] = WCKara; +int init_comstr() { + comstr[0] = WCStart; + comstr[1] = WCHenkan; + comstr[2] = WCMuhen; + comstr[3] = WCKettei; + comstr[4] = WCHira; + comstr[5] = WCHalpha; + comstr[6] = WCZalpha; + comstr[7] = WCHkata; + comstr[8] = WCZkata; + comstr[9] = WCCode; + comstr[10] = WCEtc; + comstr[11] = WCRightl; + comstr[12] = WCLeftl; + comstr[13] = WCKaku; + comstr[14] = WCSyuku; + comstr[15] = WCEdit; + comstr[16] = WCToggle; + comstr[17] = WCWrapback; + comstr[18] = WCWrap; + comstr[19] = WCSjrc; + comstr[20] = WCBuffer; + comstr[21] = WCToroku; + comstr[22] = WCSyoukyo; + comstr[23] = WCHelp; + comstr[24] = WCHaKettei; + comstr[25] = WCFlush; + comstr[26] = WCDebug; + comstr[27] = WCCancell; + comstr[28] = WCSaihenkan; + comstr[29] = WCIgnore; + comstr[30] = WCTop; + comstr[31] = WCEnd; + comstr[32] = WCReconnect; + comstr[33] = WCKill; + comstr[34] = WCKara; } struct valtbl hin_val[5]; +int init_hin_val() { + hin_val[0].keyword = WCMeishi; + hin_val[0].ivalue = SJ3_H_NRMNOUN; + hin_val[1].keyword = WCMyouji; + hin_val[1].ivalue = SJ3_H_LNAME; + hin_val[2].keyword = WCNamae; + hin_val[2].ivalue = SJ3_H_FNAME; + hin_val[3].keyword = WCTimei; + hin_val[3].ivalue = SJ3_H_LOCNAME; + hin_val[4].keyword = WCSahen; + hin_val[4].ivalue = SJ3_H_SILVERB; +} - -int -init_hin_val() -{ - hin_val[0].keyword = WCMeishi; hin_val[0].ivalue = SJ3_H_NRMNOUN; - hin_val[1].keyword = WCMyouji; hin_val[1].ivalue = SJ3_H_LNAME; - hin_val[2].keyword = WCNamae; hin_val[2].ivalue = SJ3_H_FNAME; - hin_val[3].keyword = WCTimei; hin_val[3].ivalue = SJ3_H_LOCNAME; - hin_val[4].keyword = WCSahen; hin_val[4].ivalue = SJ3_H_SILVERB; -} - - -extern int set_func(), set_etckeys(), set_intr(), - set_delkey(), set_goto(), set_trap(), set_init_mode(), - set_helpmenu(), set_defcode(), set_muhenkan(), set_muedit(), - set_m_toggle(), set_guide(), set_forkshell(), set_bstudy(), - set_silent(), set_flush_conversion(), set_rkebell(), set_server(), - set_dict(); +extern int set_func(), set_etckeys(), set_intr(), + set_delkey(), set_goto(), set_trap(), set_init_mode(), + set_helpmenu(), set_defcode(), set_muhenkan(), set_muedit(), + set_m_toggle(), set_guide(), set_forkshell(), set_bstudy(), + set_silent(), set_flush_conversion(), set_rkebell(), set_server(), + set_dict(); #define CURFUNCS 29 struct functbl funcs[CURFUNCS]; - - -int -init_funcs() -{ - funcs[0].keyword = WCKey; funcs[0].func = set_func; - funcs[1].keyword = WCEscape; funcs[1].func = set_func; - funcs[2].keyword = WCEtckey; funcs[2].func = set_etckeys; - funcs[3].keyword = WCIntr; funcs[3].func = set_intr; - funcs[4].keyword = WCDelkey; funcs[4].func = set_delkey; - funcs[5].keyword = WCSetnormal; funcs[5].func = set_goto; - funcs[6].keyword = WCThroughnext; funcs[6].func = set_trap; - funcs[7].keyword = WCInitialmode; funcs[7].func = set_init_mode; - funcs[8].keyword = WCHelpmode; funcs[8].func = set_helpmenu; - funcs[9].keyword = WCDefaultcode; funcs[9].func = set_defcode; - funcs[10].keyword = WCMuhenkanmode; funcs[10].func = set_muhenkan; - funcs[11].keyword = WCMuhenkaninedit; funcs[11].func = set_muedit; - funcs[12].keyword = WCMuhenkantoggle; funcs[12].func = set_m_toggle; - funcs[13].keyword = WCGuide; funcs[13].func = set_guide; - funcs[14].keyword = WCForkshell; funcs[14].func = set_forkshell; - funcs[15].keyword = WCExecshell; funcs[15].func = set_forkshell; - funcs[16].keyword = WCBstudy; funcs[16].func = set_bstudy; - funcs[17].keyword = WCSilent; funcs[17].func = set_silent; - funcs[18].keyword = WCFlushafterconversion; funcs[18].func = set_flush_conversion; - funcs[19].keyword = WCRkerrbell; funcs[19].func = set_rkebell; - funcs[20].keyword = WCServer; funcs[20].func = set_server; - funcs[21].keyword = WCDictionary; funcs[21].func = set_dict; - funcs[22].keyword = NULL; funcs[22].func = NULL; +int init_funcs() { + funcs[0].keyword = WCKey; + funcs[0].func = set_func; + funcs[1].keyword = WCEscape; + funcs[1].func = set_func; + funcs[2].keyword = WCEtckey; + funcs[2].func = set_etckeys; + funcs[3].keyword = WCIntr; + funcs[3].func = set_intr; + funcs[4].keyword = WCDelkey; + funcs[4].func = set_delkey; + funcs[5].keyword = WCSetnormal; + funcs[5].func = set_goto; + funcs[6].keyword = WCThroughnext; + funcs[6].func = set_trap; + funcs[7].keyword = WCInitialmode; + funcs[7].func = set_init_mode; + funcs[8].keyword = WCHelpmode; + funcs[8].func = set_helpmenu; + funcs[9].keyword = WCDefaultcode; + funcs[9].func = set_defcode; + funcs[10].keyword = WCMuhenkanmode; + funcs[10].func = set_muhenkan; + funcs[11].keyword = WCMuhenkaninedit; + funcs[11].func = set_muedit; + funcs[12].keyword = WCMuhenkantoggle; + funcs[12].func = set_m_toggle; + funcs[13].keyword = WCGuide; + funcs[13].func = set_guide; + funcs[14].keyword = WCForkshell; + funcs[14].func = set_forkshell; + funcs[15].keyword = WCExecshell; + funcs[15].func = set_forkshell; + funcs[16].keyword = WCBstudy; + funcs[16].func = set_bstudy; + funcs[17].keyword = WCSilent; + funcs[17].func = set_silent; + funcs[18].keyword = WCFlushafterconversion; + funcs[18].func = set_flush_conversion; + funcs[19].keyword = WCRkerrbell; + funcs[19].func = set_rkebell; + funcs[20].keyword = WCServer; + funcs[20].func = set_server; + funcs[21].keyword = WCDictionary; + funcs[21].func = set_dict; + funcs[22].keyword = NULL; + funcs[22].func = NULL; } -struct valtbl mode_val[5]; +struct valtbl mode_val[5]; - - -int -init_mode_val() -{ - mode_val[0].keyword = WCHalpha; mode_val[0].ivalue = MODE_HALPHA; - mode_val[1].keyword = WCZalpha; mode_val[1].ivalue = MODE_ZALPHA; - mode_val[2].keyword = WCHkata; mode_val[2].ivalue = MODE_HKATA; - mode_val[3].keyword = WCZkata; mode_val[3].ivalue = MODE_ZKATA; - mode_val[4].keyword = WCHira; mode_val[4].ivalue = MODE_ZHIRA; +int init_mode_val() { + mode_val[0].keyword = WCHalpha; + mode_val[0].ivalue = MODE_HALPHA; + mode_val[1].keyword = WCZalpha; + mode_val[1].ivalue = MODE_ZALPHA; + mode_val[2].keyword = WCHkata; + mode_val[2].ivalue = MODE_HKATA; + mode_val[3].keyword = WCZkata; + mode_val[3].ivalue = MODE_ZKATA; + mode_val[4].keyword = WCHira; + mode_val[4].ivalue = MODE_ZHIRA; } struct valtbl code_val[8]; - - -int -init_code_val() -{ - code_val[0].keyword = WCShiftjis; code_val[0].ivalue = CODE_SJIS; - code_val[1].keyword = WCSjis; code_val[1].ivalue = CODE_SJIS; - code_val[2].keyword = WCEuc; code_val[2].ivalue = CODE_EUC; - code_val[3].keyword = WCEuc2; code_val[3].ivalue = CODE_EUC2; - code_val[4].keyword = WCJis; code_val[4].ivalue = CODE_JIS; - code_val[5].keyword = WCJis2; code_val[5].ivalue = CODE_JIS2; - code_val[6].keyword = WCKuten; code_val[6].ivalue = CODE_KUTEN; - code_val[7].keyword = WCKuten2; code_val[7].ivalue = CODE_KUTEN2; +int init_code_val() { + code_val[0].keyword = WCShiftjis; + code_val[0].ivalue = CODE_SJIS; + code_val[1].keyword = WCSjis; + code_val[1].ivalue = CODE_SJIS; + code_val[2].keyword = WCEuc; + code_val[2].ivalue = CODE_EUC; + code_val[3].keyword = WCEuc2; + code_val[3].ivalue = CODE_EUC2; + code_val[4].keyword = WCJis; + code_val[4].ivalue = CODE_JIS; + code_val[5].keyword = WCJis2; + code_val[5].ivalue = CODE_JIS2; + code_val[6].keyword = WCKuten; + code_val[6].ivalue = CODE_KUTEN; + code_val[7].keyword = WCKuten2; + code_val[7].ivalue = CODE_KUTEN2; } -int -init_messages() -{ +int init_messages() { #define LOCALELEN 20 - char cur_loc[LOCALELEN]; - char *loc; - short message_len[CURMESSAGES]; - int ret; - int i; - int all_len = 0; - int saved_locale = 0; + char cur_loc[LOCALELEN]; + char* loc; + short message_len[CURMESSAGES]; + int ret; + int i; + int all_len = 0; + int saved_locale = 0; extern int current_locale; - if (current_locale != LC_CTYPE_EUC) { - saved_locale = current_locale; + if(current_locale != LC_CTYPE_EUC) { + saved_locale = current_locale; current_locale = LC_CTYPE_EUC; #ifdef __sony_news - strncpy((char *)cur_loc, setlocale(LC_CTYPE, NULL), LOCALELEN); + strncpy((char*)cur_loc, setlocale(LC_CTYPE, NULL), LOCALELEN); loc = setlocale(LC_CTYPE, "ja_JP.EUC"); #endif } - for (i = 0; i < CURMESSAGES; i++) { - message_len[i] = jstrlen((char *)EucMessages[i]) + 1; + for(i = 0; i < CURMESSAGES; i++) { + message_len[i] = jstrlen((char*)EucMessages[i]) + 1; all_len += message_len[i]; - } + } - WcMessages[0] = (wchar16_t *) malloc(all_len * sizeof(wchar16_t)); - if (WcMessages[0] == NULL) - goto Fail; + WcMessages[0] = (wchar16_t*)malloc(all_len * sizeof(wchar16_t)); + if(WcMessages[0] == NULL) + goto Fail; - ret = (int) mbstowcs(WcMessages[0], (char *)EucMessages[0], message_len[0]); - if (ret < -1) - goto Fail; - for (i = 1; i < CURMESSAGES; i++) { - WcMessages[i] = WcMessages[i-1] + message_len[i-1]; - ret = mbstowcs(WcMessages[i], (char *)EucMessages[i], message_len[i]); - if (ret < -1) - goto Fail; + ret = (int)mbstowcs(WcMessages[0], (char*)EucMessages[0], message_len[0]); + if(ret < -1) + goto Fail; + for(i = 1; i < CURMESSAGES; i++) { + WcMessages[i] = WcMessages[i - 1] + message_len[i - 1]; + ret = mbstowcs(WcMessages[i], (char*)EucMessages[i], message_len[i]); + if(ret < -1) + goto Fail; } init_wcvtkey(); @@ -471,20 +487,19 @@ init_messages() init_mode_val(); init_code_val(); - if (saved_locale) { + if(saved_locale) { current_locale = saved_locale; #ifdef __sony_news - setlocale(LC_CTYPE, cur_loc); + setlocale(LC_CTYPE, cur_loc); #endif } return TRUE; Fail: - if (saved_locale) { + if(saved_locale) { current_locale = saved_locale; #ifdef __sony_news - setlocale(LC_CTYPE, cur_loc); + setlocale(LC_CTYPE, cur_loc); #endif } return FALSE; } - diff --git a/execute.c b/execute.c index 3509e6b..644c466 100644 --- a/execute.c +++ b/execute.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: execute.c,v $ - * $SonyRevision: 1.7 $ + * $SonyRCSfile: execute.c,v $ + * $SonyRevision: 1.7 $ * $SonyDate: 1998/04/13 11:20:12 $ * * $Id$ */ - #include "sj_kcnv.h" #include #include @@ -50,66 +49,61 @@ #include "Dict.h" #include "server.h" - #define SJIS_PROTO 1 #define EUC_PROTO 2 -extern Global *work_base; -extern STDY *stdy_base; -extern int serv_errno; +extern Global* work_base; +extern STDY* stdy_base; +extern int serv_errno; -extern int client_num; -extern Client *client; -extern Client *cur_client; -extern int client_fd; +extern int client_num; +extern Client* client; +extern Client* cur_client; +extern int client_fd; -extern char *dict_dir; -extern int dir_mode; -extern int file_mode; +extern char* dict_dir; +extern int dir_mode; +extern int file_mode; -static unsigned char buf1[YomiBufSize]; -static unsigned char buf2[YomiBufSize]; -static unsigned char buf3[YomiBufSize]; -static unsigned char buf4[YomiBufSize]; -static unsigned char kbuf[KanjiBufSize]; -static unsigned char skbuf[KanjiBufSize]; +static unsigned char buf1[YomiBufSize]; +static unsigned char buf2[YomiBufSize]; +static unsigned char buf3[YomiBufSize]; +static unsigned char buf4[YomiBufSize]; +static unsigned char kbuf[KanjiBufSize]; +static unsigned char skbuf[KanjiBufSize]; -static jmp_buf error_ret; -static WorkArea *worklist = NULL; -static Client *cur_cli; +static jmp_buf error_ret; +static WorkArea* worklist = NULL; +static Client* cur_cli; static unsigned char defaultchar[2] = {(unsigned char)0x81, (unsigned char)0x40}; -static int defuse=0, defuse2=0; +static int defuse = 0, defuse2 = 0; -DictFile *opendict(); -int closedict(); -StdyFile *openstdy(); -int closestdy(); +DictFile* opendict(); +int closedict(); +StdyFile* openstdy(); +int closestdy(); -unsigned char *put_ndata(), *put_string(); +unsigned char *put_ndata(), *put_string(); +int make_full_path(char* path) { + char tmp[PathNameLen]; + char* index; + int i; - -int -make_full_path (char *path) -{ - char tmp[PathNameLen]; - char *index; - int i; - - if (!path || !*path) return ERROR; + if(!path || !*path) return ERROR; i = strlen(dict_dir) + 1 + strlen(path) + 1; - if (i > sizeof(tmp)) return ERROR; + if(i > sizeof(tmp)) return ERROR; strlcpy(tmp, path, sizeof(tmp)); index = strtok(tmp, "/"); do { - if (!strcmp(index, "..")) return ERROR; - } while ((index = strtok(NULL, "/")) != NULL); + if(!strcmp(index, "..")) return ERROR; + } while((index = strtok(NULL, "/")) != NULL); - if (*path == '/') { - if (strncmp(path, dict_dir, strlen(dict_dir)) == 0) { + if(*path == '/') { + if(strncmp(path, dict_dir, strlen(dict_dir)) == 0) { return 0; } else { return ERROR; @@ -120,154 +114,136 @@ make_full_path (char *path) return 0; } - - WorkArea* -alloc_workarea (void) -{ - WorkArea *p; +alloc_workarea(void) { + WorkArea* p; - if (!(p = (WorkArea *)malloc(sizeof(WorkArea)))) return NULL; + if(!(p = (WorkArea*)malloc(sizeof(WorkArea)))) return NULL; memset(p, '\0', sizeof(WorkArea)); - p -> lock = NotLocked; - p -> refcnt = 1; + p->lock = NotLocked; + p->refcnt = 1; - p -> link = worklist; + p->link = worklist; worklist = p; - work_base = &(p -> global); + work_base = &(p->global); initwork(); return p; } -void -free_workarea (WorkArea *p) -{ - if (!p) return; - if (--(p -> refcnt)) return; +void free_workarea(WorkArea* p) { + if(!p) return; + if(--(p->refcnt)) return; - if (worklist == p) - worklist = p -> link; + if(worklist == p) + worklist = p->link; else { - WorkArea *q; + WorkArea* q; - for (q = worklist ; q ; q = q -> link) { - if (q -> link == p) { - q -> link = p -> link; + for(q = worklist; q; q = q->link) { + if(q->link == p) { + q->link = p->link; break; } } } - if (p -> global.Jdictlist) - close_dictlist(p -> global.Jdictlist); + if(p->global.Jdictlist) + close_dictlist(p->global.Jdictlist); - free((char *)p); + free((char*)p); } - - -void -exec_connect (void) -{ - int version; - char hostname[HostNameLen]; - char username[UserNameLen]; - char progname[ProgNameLen]; - WorkArea *wp; - struct passwd *pw; +void exec_connect(void) { + int version; + char hostname[HostNameLen]; + char username[UserNameLen]; + char progname[ProgNameLen]; + WorkArea* wp; + struct passwd* pw; version = get_int(); get_nstring(hostname, sizeof(hostname)); get_nstring(username, sizeof(username)); get_nstring(progname, sizeof(progname)); - if (cur_cli -> work) longjmp(error_ret, SJ3_AlreadyConnected); + if(cur_cli->work) longjmp(error_ret, SJ3_AlreadyConnected); - if (version < 0) + if(version < 0) longjmp(error_ret, SJ3_DifferentVersion); - if (hostname[0] == '\0') + if(hostname[0] == '\0') longjmp(error_ret, SJ3_NoHostName); - if (username[0] == '\0') + if(username[0] == '\0') longjmp(error_ret, SJ3_NoUserName); - if (!check_user(username, hostname)) + if(!check_user(username, hostname)) longjmp(error_ret, SJ3_NotAllowedUser); - if (!(wp = alloc_workarea())) + if(!(wp = alloc_workarea())) longjmp(error_ret, SJ3_NotEnoughMemory); pw = getpwnam(username); - if (pw) { - cur_cli -> uid = pw->pw_uid; + if(pw) { + cur_cli->uid = pw->pw_uid; } else { - cur_cli -> uid = 0; + cur_cli->uid = 0; } - cur_cli -> version = version; - strcpy(cur_cli -> host, hostname); - strcpy(cur_cli -> user, username); - strcpy(cur_cli -> prog, progname); - strncpy(cur_cli -> def_char, defaultchar, 2); - cur_cli -> work = wp; + cur_cli->version = version; + strcpy(cur_cli->host, hostname); + strcpy(cur_cli->user, username); + strcpy(cur_cli->prog, progname); + strncpy(cur_cli->def_char, defaultchar, 2); + cur_cli->work = wp; - if (version == 1) - put_int(SJ3_NormalEnd); - else - put_int((-SJ3SERV_VERSION_NO)); + if(version == 1) + put_int(SJ3_NormalEnd); + else + put_int((-SJ3SERV_VERSION_NO)); logging_out("connection established on %d(%s, %s, %s)", - cur_cli -> fd, hostname, username, progname); + cur_cli->fd, hostname, username, progname); } - - -void -exec_disconnect (void) -{ - if (cur_cli -> stdy) { - closestdy(cur_cli -> stdy); - cur_cli -> stdy = NULL; +void exec_disconnect(void) { + if(cur_cli->stdy) { + closestdy(cur_cli->stdy); + cur_cli->stdy = NULL; } - if (cur_cli -> work) { - free_workarea(cur_cli -> work); - cur_cli -> work = NULL; - } - else + if(cur_cli->work) { + free_workarea(cur_cli->work); + cur_cli->work = NULL; + } else longjmp(error_ret, SJ3_NotConnected); put_int(SJ3_NormalEnd); } - - -void -exec_opendict (void) -{ - char filename[PathNameLen]; - char password[PassWordLen]; - DICT *dict; - DICTL *dictl, *dltp, *tmp, *tmp1; +void exec_opendict(void) { + char filename[PathNameLen]; + char password[PassWordLen]; + DICT* dict; + DICTL *dictl, *dltp, *tmp, *tmp1; get_nstring(filename, sizeof(filename)); get_nstring(password, sizeof(password)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (make_full_path(filename)) longjmp(error_ret, SJ3_TooLongParameter); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(make_full_path(filename)) longjmp(error_ret, SJ3_TooLongParameter); - if (!(dict = (DICT *)opendict(filename, password))) + if(!(dict = (DICT*)opendict(filename, password))) longjmp(error_ret, serv_errno); - if (!dictlist && global_work_base) { - DICTL *b_dictl = NULL; + if(!dictlist && global_work_base) { + DICTL* b_dictl = NULL; - dltp = global_work_base -> Jdictlist; + dltp = global_work_base->Jdictlist; dictl = NULL; - while (dltp) { - dictl = (DICTL *)malloc(sizeof *dictl); - if (!dictl) { + while(dltp) { + dictl = (DICTL*)malloc(sizeof *dictl); + if(!dictl) { /* XXX 2004.09.16 Hiroo Ono * Fixed list deletion when malloc() returns * NULL, but it will segfault anyway just after @@ -280,274 +256,240 @@ exec_opendict (void) * segfault when malloc() fails. */ tmp = dictlist; - while (tmp != NULL) { + while(tmp != NULL) { tmp1 = tmp; - tmp = tmp->next; - free (tmp1); + tmp = tmp->next; + free(tmp1); } dictlist = NULL; } - if (!dictlist) dictlist = dictl; + if(!dictlist) dictlist = dictl; dictl->dict = dltp->dict; - ((DictFile *)(dictl -> dict))->refcnt++; + ((DictFile*)(dictl->dict))->refcnt++; dictl->next = NULL; - if (b_dictl) b_dictl->next = dictl; + if(b_dictl) b_dictl->next = dictl; b_dictl = dictl; - dltp = dltp->next; + dltp = dltp->next; } } - for (dltp = dictlist; dltp && dltp->dict != dict; dltp = dltp->next) ; + for(dltp = dictlist; dltp && dltp->dict != dict; dltp = dltp->next); - if (!dltp) { - if (!(dictl = (DICTL *)malloc(sizeof *dictl))) { - closedict((DictFile *)dict); + if(!dltp) { + if(!(dictl = (DICTL*)malloc(sizeof *dictl))) { + closedict((DictFile*)dict); longjmp(error_ret, SJ3_NotEnoughMemory); } - - dictl -> dict = dict; - dictl -> next = dictlist; - dictlist = dictl; + + dictl->dict = dict; + dictl->next = dictlist; + dictlist = dictl; } - if (cur_cli -> work -> lock == cur_cli -> fd) { - if (dict -> maxunit != 0) - lock_dict((DictFile *)dict, cur_cli -> fd); + if(cur_cli->work->lock == cur_cli->fd) { + if(dict->maxunit != 0) + lock_dict((DictFile*)dict, cur_cli->fd); } put_int(SJ3_NormalEnd); put_int((int)dict->dicid); } - - -void -exec_closedict (void) -{ - TypeDicID id; - DICTL *dictl; +void exec_closedict(void) { + TypeDicID id; + DICTL* dictl; id = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); - for (dictl = dictlist ; dictl ; dictl = dictl -> next) - if (dictl -> dict -> dicid == id) break; - if (!dictl) longjmp(error_ret, SJ3_BadDictID); + for(dictl = dictlist; dictl; dictl = dictl->next) + if(dictl->dict->dicid == id) break; + if(!dictl) longjmp(error_ret, SJ3_BadDictID); - unlock_dict((DictFile *)(dictl -> dict), cur_cli -> fd); + unlock_dict((DictFile*)(dictl->dict), cur_cli->fd); - closedict((DictFile *)(dictl -> dict)); - if (dictlist == dictl) { - dictlist = dictl -> next; + closedict((DictFile*)(dictl->dict)); + if(dictlist == dictl) { + dictlist = dictl->next; } else { - DICTL *p; + DICTL* p; - for (p = dictlist ; p -> next ; p = p -> next) { - if (p -> next == dictl) { - p -> next = dictl -> next; + for(p = dictlist; p->next; p = p->next) { + if(p->next == dictl) { + p->next = dictl->next; break; } } } - free((char *)dictl); + free((char*)dictl); put_int(SJ3_NormalEnd); } +void close_dictlist(DICTL* dictl) { + DICTL* p; - -void -close_dictlist(DICTL *dictl) -{ - DICTL *p; - - while (dictl) { - unlock_dict((DictFile *)(dictl -> dict), cur_cli -> fd); - closedict((DictFile *)(dictl -> dict)); - p = dictl -> next; - free((char *)dictl); + while(dictl) { + unlock_dict((DictFile*)(dictl->dict), cur_cli->fd); + closedict((DictFile*)(dictl->dict)); + p = dictl->next; + free((char*)dictl); dictl = p; } } - - -void -exec_openstdy (void) -{ - char filename[PathNameLen]; - char password[PassWordLen]; - StdyFile *stdy; +void exec_openstdy(void) { + char filename[PathNameLen]; + char password[PassWordLen]; + StdyFile* stdy; get_nstring(filename, sizeof(filename)); get_nstring(password, sizeof(password)); - if (cur_cli -> stdy) longjmp(error_ret, SJ3_StdyAlreadyOpened); - if (make_full_path(filename)) longjmp(error_ret, SJ3_TooLongParameter); + if(cur_cli->stdy) longjmp(error_ret, SJ3_StdyAlreadyOpened); + if(make_full_path(filename)) longjmp(error_ret, SJ3_TooLongParameter); - if (!(stdy = openstdy(filename, password))) + if(!(stdy = openstdy(filename, password))) longjmp(error_ret, serv_errno); - cur_cli -> stdy = stdy; + cur_cli->stdy = stdy; put_int(SJ3_NormalEnd); } +void exec_closestdy(void) { + if(!cur_cli->stdy) longjmp(error_ret, SJ3_StdyFileNotOpened); - -void -exec_closestdy (void) -{ - if (!cur_cli -> stdy) longjmp(error_ret, SJ3_StdyFileNotOpened); - - closestdy(cur_cli -> stdy); - cur_cli -> stdy = NULL; + closestdy(cur_cli->stdy); + cur_cli->stdy = NULL; put_int(SJ3_NormalEnd); } - - -void -exec_stdysize (void) -{ +void exec_stdysize(void) { put_int(SJ3_NormalEnd); put_int(sizeof(STDYOUT)); } +static void +exec_lock(void) { + int lock; + DICTL* dl; + if(!work_base) longjmp(error_ret, SJ3_NotConnected); -static void -exec_lock (void) -{ - int lock; - DICTL *dl; - - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - - - lock = cur_cli -> work -> lock; - if (lock != NotLocked && lock != cur_cli -> fd) + lock = cur_cli->work->lock; + if(lock != NotLocked && lock != cur_cli->fd) longjmp(error_ret, SJ3_LockedByOther); - cur_cli -> work -> lock = cur_cli -> fd; + cur_cli->work->lock = cur_cli->fd; - - for (dl = dictlist ; dl ; dl = dl -> next) { - if (dl -> dict -> maxunit == 0) continue; - lock_dict((DictFile *)(dl -> dict), cur_cli -> fd); + for(dl = dictlist; dl; dl = dl->next) { + if(dl->dict->maxunit == 0) continue; + lock_dict((DictFile*)(dl->dict), cur_cli->fd); } put_int(SJ3_NormalEnd); } +static void +exec_unlock(void) { + int lock; + DICTL* dl; + if(!work_base) longjmp(error_ret, SJ3_NotConnected); -static void -exec_unlock (void) -{ - int lock; - DICTL *dl; + lock = cur_cli->work->lock; + if(lock == NotLocked) longjmp(error_ret, SJ3_NotLocked); + if(lock != cur_cli->fd) longjmp(error_ret, SJ3_LockedByOther); + cur_cli->work->lock = NotLocked; - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - - - lock = cur_cli -> work -> lock; - if (lock == NotLocked) longjmp(error_ret, SJ3_NotLocked); - if (lock != cur_cli -> fd) longjmp(error_ret, SJ3_LockedByOther); - cur_cli -> work -> lock = NotLocked; - - - for (dl = dictlist ; dl ; dl = dl -> next) { - if (dl -> dict -> maxunit == 0) continue; - unlock_dict((DictFile *)(dl -> dict), cur_cli -> fd); + for(dl = dictlist; dl; dl = dl->next) { + if(dl->dict->maxunit == 0) continue; + unlock_dict((DictFile*)(dl->dict), cur_cli->fd); } put_int(SJ3_NormalEnd); } +static void +lock_check_for_read(void) { + int lock; - -static void -lock_check_for_read (void) -{ - int lock; - - lock = cur_cli -> work -> lock; - if (lock == NotLocked) -#ifdef SEVERE_LOCK + lock = cur_cli->work->lock; + if(lock == NotLocked) +#ifdef SEVERE_LOCK longjmp(error_ret, SJ3_NotLocked); #else ; #endif - else if (lock != cur_cli -> fd) + else if(lock != cur_cli->fd) longjmp(error_ret, SJ3_LockedByOther); } - -void -exec_ph2knj (int mb_flag) -{ - int i, j, l, stdy_size, buf_size, srchead = 0, srclen; - unsigned char *p,*q; +void exec_ph2knj(int mb_flag) { + int i, j, l, stdy_size, buf_size, srchead = 0, srclen; + unsigned char *p, *q; i = get_nstring(buf1, sizeof(buf1)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (i) longjmp(error_ret, SJ3_TooLongParameter); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(i) longjmp(error_ret, SJ3_TooLongParameter); lock_check_for_read(); - if (mb_flag == SJIS_PROTO) { - if (sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; - i = ph2knj(buf2, kbuf, sizeof(kbuf)); - p = kbuf; - q = skbuf; + if(mb_flag == SJIS_PROTO) { + if(sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + i = ph2knj(buf2, kbuf, sizeof(kbuf)); + p = kbuf; + q = skbuf; stdy_size = sizeof(STDYOUT) + 1; - buf_size = sizeof(skbuf); - - while (*p) { + buf_size = sizeof(skbuf); + + while(*p) { srchead += *p; srclen = *p; buf_size -= stdy_size; - if (buf_size <= 0) goto CCONVERR; + if(buf_size <= 0) goto CCONVERR; memcpy(p, q, stdy_size); p += stdy_size; - q += stdy_size; + q += stdy_size; l = sj3_str_euctosjis(q, buf_size, p, cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; - if (defuse) { - memcpy(&(buf2[srchead-srclen]), buf3, srclen); + if(l < 0) goto CCONVERR; + if(defuse) { + memcpy(&(buf2[srchead - srclen]), buf3, srclen); buf3[srclen] = '\0'; - j = cl2knj(buf3, srclen, buf4); - l = sj3_str_euctosjis(q, buf_size, &(buf4[stdy_size]), - cur_cli->def_char, &defuse); - while(defuse && (j == srclen)) { + j = cl2knj(buf3, srclen, buf4); + l = sj3_str_euctosjis(q, buf_size, &(buf4[stdy_size]), + cur_cli->def_char, &defuse); + while(defuse && (j == srclen)) { j = nextcl(buf4, 0); l = sj3_str_euctosjis(q, buf_size, &(buf4[stdy_size]), - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; } - if (!defuse && (j == srclen)) { - memcpy(buf4, q-stdy_size, stdy_size); + if(!defuse && (j == srclen)) { + memcpy(buf4, q - stdy_size, stdy_size); } else { - l = sj3_str_euctosjis(q, buf_size, buf3, - cur_cli->def_char, &defuse); - if ((l < 0) || defuse) goto CCONVERR; + l = sj3_str_euctosjis(q, buf_size, buf3, + cur_cli->def_char, &defuse); + if((l < 0) || defuse) goto CCONVERR; } - } + } p += strlen(p) + 1; - q += l + 1; buf_size -= l + 1; + q += l + 1; + buf_size -= l + 1; } *q = '\0'; - p = skbuf; + p = skbuf; } else { i = ph2knj(buf1, kbuf, sizeof(kbuf)); p = kbuf; } - + put_int(SJ3_NormalEnd); put_int(i); - while (*p) { - put_byte(*p); p++; + while(*p) { + put_byte(*p); + p++; p = put_ndata(p, sizeof(STDYOUT)); p = put_string(p); } @@ -558,61 +500,58 @@ CCONVERR: return; } - -void -exec_cl2knj (int mb_flag) -{ - int len, stdy_size, buf_size; - int i, j, l; - unsigned char *ptr, *q; +void exec_cl2knj(int mb_flag) { + int len, stdy_size, buf_size; + int i, j, l; + unsigned char *ptr, *q; len = get_int(); - i = get_nstring(buf1, sizeof(buf1)); + i = get_nstring(buf1, sizeof(buf1)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (i) longjmp(error_ret, SJ3_TooLongParameter); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(i) longjmp(error_ret, SJ3_TooLongParameter); lock_check_for_read(); - if (mb_flag == SJIS_PROTO) { - if (sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; - i = cl2knj(buf2, strlen(buf2), kbuf); - ptr = kbuf; - q = skbuf; - buf_size = sizeof(skbuf); + if(mb_flag == SJIS_PROTO) { + if(sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + i = cl2knj(buf2, strlen(buf2), kbuf); + ptr = kbuf; + q = skbuf; + buf_size = sizeof(skbuf); stdy_size = sizeof(STDYOUT); - + memcpy(ptr, q, stdy_size); ptr += stdy_size; - q += stdy_size; + q += stdy_size; buf_size -= stdy_size; - l = sj3_str_euctosjis(q, buf_size, ptr, + l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; - if (defuse) { + if(l < 0) goto CCONVERR; + if(defuse) { j = strlen(buf2); - while (defuse && (i == j)) { + while(defuse && (i == j)) { i = nextcl(buf4, 0); l = sj3_str_euctosjis(q, buf_size, &(buf4[stdy_size]), - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; } - if (!defuse && (j == i)) { - memcpy(buf4, q-stdy_size, stdy_size); + if(!defuse && (j == i)) { + memcpy(buf4, q - stdy_size, stdy_size); } else { l = sj3_str_euctosjis(q, buf_size, buf2, - cur_cli->def_char, &defuse); - if ((l < 0) || defuse) goto CCONVERR; + cur_cli->def_char, &defuse); + if((l < 0) || defuse) goto CCONVERR; i = l; } } ptr = skbuf; } else { - i = cl2knj(buf1, len, kbuf); + i = cl2knj(buf1, len, kbuf); ptr = kbuf; } - + put_int(SJ3_NormalEnd); put_int(i); ptr = put_ndata(ptr, sizeof(STDYOUT)); @@ -623,40 +562,37 @@ CCONVERR: return; } - -void -exec_nextcl (int mb_flag) -{ - int mode, stdy_size, buf_size; - int i, l; - unsigned char *ptr, *q; +void exec_nextcl(int mb_flag) { + int mode, stdy_size, buf_size; + int i, l; + unsigned char *ptr, *q; mode = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); lock_check_for_read(); i = nextcl(kbuf, mode); - if (mb_flag == SJIS_PROTO) { - ptr = kbuf; - q = skbuf; - buf_size = sizeof(skbuf); + if(mb_flag == SJIS_PROTO) { + ptr = kbuf; + q = skbuf; + buf_size = sizeof(skbuf); stdy_size = sizeof(STDYOUT); - + memcpy(ptr, q, stdy_size); ptr += stdy_size; - q += stdy_size; + q += stdy_size; buf_size -= stdy_size; l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; - while (defuse && i) { + if(l < 0) goto CCONVERR; + while(defuse && i) { i = nextcl(kbuf, mode); - l = sj3_str_euctosjis(q, buf_size, &(kbuf[stdy_size]), - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; + l = sj3_str_euctosjis(q, buf_size, &(kbuf[stdy_size]), + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; } - if (!defuse && i) { - memcpy(kbuf, q-stdy_size, stdy_size); + if(!defuse && i) { + memcpy(kbuf, q - stdy_size, stdy_size); } else { put_int(SJ3_NoMoreDouonWord); return; @@ -665,51 +601,48 @@ exec_nextcl (int mb_flag) } else { ptr = kbuf; } - + put_int(SJ3_NormalEnd); put_int(i); ptr = put_ndata(ptr, sizeof(STDYOUT)); put_string(ptr); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } - -void -exec_prevcl (int mb_flag) -{ - int mode, stdy_size, buf_size; - int i, l; - unsigned char *ptr, *q; +void exec_prevcl(int mb_flag) { + int mode, stdy_size, buf_size; + int i, l; + unsigned char *ptr, *q; mode = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); lock_check_for_read(); i = prevcl(kbuf, mode); - if (mb_flag == SJIS_PROTO) { - ptr = kbuf; - q = skbuf; - buf_size = sizeof(skbuf); + if(mb_flag == SJIS_PROTO) { + ptr = kbuf; + q = skbuf; + buf_size = sizeof(skbuf); stdy_size = sizeof(STDYOUT); - + memcpy(ptr, q, stdy_size); ptr += stdy_size; - q += stdy_size; + q += stdy_size; buf_size -= stdy_size; l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; - while (defuse && i) { + if(l < 0) goto CCONVERR; + while(defuse && i) { i = prevcl(kbuf, mode); - l = sj3_str_euctosjis(q, buf_size, &(kbuf[stdy_size]), - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; + l = sj3_str_euctosjis(q, buf_size, &(kbuf[stdy_size]), + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; } - if (!defuse && i) { - memcpy(kbuf, q-stdy_size, stdy_size); + if(!defuse && i) { + memcpy(kbuf, q - stdy_size, stdy_size); } else { put_int(SJ3_NoMoreDouonWord); return; @@ -719,53 +652,48 @@ exec_prevcl (int mb_flag) ptr = kbuf; } - put_int(SJ3_NormalEnd); put_int(i); ptr = put_ndata(ptr, sizeof(STDYOUT)); put_string(ptr); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } - -void -exec_cl2knj_cnt(int mb_flag) -{ - int len, buf_size, stdy_size; - int i; - int cnt = 0; +void exec_cl2knj_cnt(int mb_flag) { + int len, buf_size, stdy_size; + int i; + int cnt = 0; len = get_int(); - i = get_nstring(buf1, sizeof(buf1)); + i = get_nstring(buf1, sizeof(buf1)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (i) longjmp(error_ret, SJ3_TooLongParameter); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(i) longjmp(error_ret, SJ3_TooLongParameter); lock_check_for_read(); - if (mb_flag == SJIS_PROTO) { - if (sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; - i = cl2knj(buf2, len, kbuf); + if(mb_flag == SJIS_PROTO) { + if(sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + i = cl2knj(buf2, len, kbuf); stdy_size = sizeof(STDYOUT); - buf_size = sizeof(skbuf) - stdy_size; - } else { + buf_size = sizeof(skbuf) - stdy_size; + } else { i = cl2knj(buf1, len, kbuf); } - if (i) { - while (i == len) { - if (mb_flag == SJIS_PROTO) { - if (sj3_str_euctosjis(skbuf, buf_size, - &(kbuf[stdy_size]), - cur_cli->def_char, &defuse) - < 0) - goto CCONVERR; - if (!defuse) cnt++; + if(i) { + while(i == len) { + if(mb_flag == SJIS_PROTO) { + if(sj3_str_euctosjis(skbuf, buf_size, + &(kbuf[stdy_size]), + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + if(!defuse) cnt++; } else - cnt++; + cnt++; i = nextcl(kbuf, 0); } } @@ -778,90 +706,87 @@ CCONVERR: return; } - -void -exec_cl2knj_all (int mb_flag) -{ - int len, stdy_size, buf_size; - int i, l; - unsigned char *ptr, *q; +void exec_cl2knj_all(int mb_flag) { + int len, stdy_size, buf_size; + int i, l; + unsigned char *ptr, *q; len = get_int(); - i = get_nstring(buf1, sizeof(buf1)); + i = get_nstring(buf1, sizeof(buf1)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (i) longjmp(error_ret, SJ3_TooLongParameter); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(i) longjmp(error_ret, SJ3_TooLongParameter); lock_check_for_read(); - if (mb_flag == SJIS_PROTO) { - if (sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; - len = strlen(buf2); - i = cl2knj(buf2, len, kbuf); - ptr = kbuf; - q = skbuf; - buf_size = sizeof(skbuf); + if(mb_flag == SJIS_PROTO) { + if(sj3_str_sjistoeuc(buf2, sizeof(buf2), buf1, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + len = strlen(buf2); + i = cl2knj(buf2, len, kbuf); + ptr = kbuf; + q = skbuf; + buf_size = sizeof(skbuf); stdy_size = sizeof(STDYOUT); - + memcpy(ptr, q, stdy_size); ptr += stdy_size; - q += stdy_size; + q += stdy_size; buf_size -= stdy_size; l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; - if (defuse) { - while (defuse && (i == len)) { - i = nextcl(kbuf, 0); - l = sj3_str_euctosjis(q, buf_size, - &(kbuf[stdy_size]), - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; + if(l < 0) goto CCONVERR; + if(defuse) { + while(defuse && (i == len)) { + i = nextcl(kbuf, 0); + l = sj3_str_euctosjis(q, buf_size, + &(kbuf[stdy_size]), + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; } - if (!defuse && (i == len)) { - memcpy(kbuf, q-stdy_size, stdy_size); + if(!defuse && (i == len)) { + memcpy(kbuf, q - stdy_size, stdy_size); } else { put_int(SJ3_NoMoreDouonWord); return; } } ptr = skbuf; - } else { - i = cl2knj(buf1, len, kbuf); + } else { + i = cl2knj(buf1, len, kbuf); ptr = kbuf; } put_int(SJ3_NormalEnd); - if (i) { - while (i == len) { + if(i) { + while(i == len) { put_int(i); ptr = put_ndata(ptr, sizeof(STDYOUT)); put_string(ptr); i = nextcl(kbuf, 0); - if (mb_flag == SJIS_PROTO) { - ptr = kbuf; - q = skbuf; - buf_size = sizeof(skbuf); + if(mb_flag == SJIS_PROTO) { + ptr = kbuf; + q = skbuf; + buf_size = sizeof(skbuf); stdy_size = sizeof(STDYOUT); - + memcpy(ptr, q, stdy_size); ptr += stdy_size; - q += stdy_size; + q += stdy_size; buf_size -= stdy_size; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; - if (defuse) { - while (defuse && (i == len)) { + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; + if(defuse) { + while(defuse && (i == len)) { i = nextcl(kbuf, 0); - l = sj3_str_euctosjis(q, buf_size, - &(kbuf[stdy_size]), - cur_cli->def_char, - &defuse); - if (l < 0) goto CCONVERR; + l = sj3_str_euctosjis(q, buf_size, + &(kbuf[stdy_size]), + cur_cli->def_char, + &defuse); + if(l < 0) goto CCONVERR; } - if (!defuse && (len == i)) { + if(!defuse && (len == i)) { memcpy(kbuf, - q-stdy_size, stdy_size); + q - stdy_size, stdy_size); } } ptr = skbuf; @@ -873,77 +798,84 @@ exec_cl2knj_all (int mb_flag) put_int(0); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } - - -void -exec_study (void) -{ +void exec_study(void) { int err; - STDYOUT stdy; + STDYOUT stdy; get_ndata(&stdy, sizeof(stdy)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); lock_check_for_read(); err = study(&stdy); - - switch (err) { - case StudyNoDict: err = SJ3_StdyFileNotOpened; break; + switch(err) { + case StudyNoDict: + err = SJ3_StdyFileNotOpened; + break; case StudyNormEnd: case StudyFullArea: - case StudyNotStudy: err = SJ3_NormalEnd; break; + case StudyNotStudy: + err = SJ3_NormalEnd; + break; case StudyError: - default: err = SJ3_InternalError; break; + default: + err = SJ3_InternalError; + break; } - if (err != SJ3_NormalEnd) longjmp(error_ret, err); + if(err != SJ3_NormalEnd) longjmp(error_ret, err); put_int(err); } - -void -exec_clstudy (int mb_flag) -{ +void exec_clstudy(int mb_flag) { int err; - STDYOUT stdy; + STDYOUT stdy; - err = get_nstring(buf1, sizeof(buf1)); + err = get_nstring(buf1, sizeof(buf1)); err |= get_nstring(buf2, sizeof(buf2)); get_ndata(&stdy, sizeof(stdy)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); - if (err) longjmp(error_ret, SJ3_TooLongParameter); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); + if(err) longjmp(error_ret, SJ3_TooLongParameter); lock_check_for_read(); - if (mb_flag == SJIS_PROTO) { - if (sj3_str_sjistoeuc(buf3, sizeof(buf3), buf1, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; - if (sj3_str_sjistoeuc(buf4, sizeof(buf4), buf2, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; + if(mb_flag == SJIS_PROTO) { + if(sj3_str_sjistoeuc(buf3, sizeof(buf3), buf1, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + if(sj3_str_sjistoeuc(buf4, sizeof(buf4), buf2, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; err = clstudy(buf3, buf4, &stdy); } else { err = clstudy(buf1, buf2, &stdy); } - - switch (err) { - case ClstudyNoDict: err = SJ3_StdyFileNotOpened; break; - case ClstudyNormEnd: err = SJ3_NormalEnd; break; + switch(err) { + case ClstudyNoDict: + err = SJ3_StdyFileNotOpened; + break; + case ClstudyNormEnd: + err = SJ3_NormalEnd; + break; case ClstudyParaErr: - case ClstudyYomiErr: err = SJ3_IllegalParameter; break; - case ClstudyNoArea: err = SJ3_TooSmallStdyArea; break; - default: err = SJ3_InternalError; break; + case ClstudyYomiErr: + err = SJ3_IllegalParameter; + break; + case ClstudyNoArea: + err = SJ3_TooSmallStdyArea; + break; + default: + err = SJ3_InternalError; + break; } - if (err != SJ3_NormalEnd) longjmp(error_ret, err); + if(err != SJ3_NormalEnd) longjmp(error_ret, err); put_int(err); return; CCONVERR: @@ -951,471 +883,434 @@ CCONVERR: return; } +void exec_adddict(int mb_flag) { + TypeDicID dicid; + TypeGram gram; + int err; + int err1; + DICTL* dl; -void -exec_adddict (int mb_flag) -{ - TypeDicID dicid; - TypeGram gram; - int err; - int err1; - DICTL *dl; - - dicid = get_int(); - err = get_nstring(buf1, sizeof(buf1)); - err1 = get_nstring(buf2, sizeof(buf2)); - gram = get_int(); + err = get_nstring(buf1, sizeof(buf1)); + err1 = get_nstring(buf2, sizeof(buf2)); + gram = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (err) longjmp(error_ret, SJ3_BadYomiString); - if (err1) longjmp(error_ret, SJ3_BadKanjiString); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(err) longjmp(error_ret, SJ3_BadYomiString); + if(err1) longjmp(error_ret, SJ3_BadKanjiString); - - for (dl = dictlist ; dl ; dl = dl -> next) - if (dl -> dict -> dicid == dicid) break; - if (!dl) longjmp(error_ret, SJ3_NoSuchDict); - if (dl -> dict -> maxunit == 0) + for(dl = dictlist; dl; dl = dl->next) + if(dl->dict->dicid == dicid) break; + if(!dl) longjmp(error_ret, SJ3_NoSuchDict); + if(dl->dict->maxunit == 0) longjmp(error_ret, SJ3_ReadOnlyDict); - if (is_dict_locked((DictFile *)(dl -> dict))) + if(is_dict_locked((DictFile*)(dl->dict))) longjmp(error_ret, SJ3_DictLocked); - debug_out(2, "adddic %s:%s:%d ", buf1, buf2, gram); seldict(dicid); - if (mb_flag == SJIS_PROTO) { - if (sj3_str_sjistoeuc(buf3, sizeof(buf3), buf1, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; - if (sj3_str_sjistoeuc(buf4, sizeof(buf4), buf2, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; + if(mb_flag == SJIS_PROTO) { + if(sj3_str_sjistoeuc(buf3, sizeof(buf3), buf1, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + if(sj3_str_sjistoeuc(buf4, sizeof(buf4), buf2, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; err = adddic(buf3, buf4, gram); } else { err = adddic(buf1, buf2, gram); } - - if (err & AD_NotUserDict) err = SJ3_ReadOnlyDict; - else if (err & AD_BadYomi) err = SJ3_BadYomiString; - else if (err & AD_BadKanji) err = SJ3_BadKanjiString; - else if (err & AD_BadHinsi) err = SJ3_BadHinsiCode; - else if (err & AD_ArExist) err = SJ3_AlreadyExistWord; - else if (err & AD_OvflwDouBlk) err = SJ3_NoMoreDouonWord; - else if (err & AD_OvflwDouNum) err = SJ3_NoMoreDouonWord; - else if (err & AD_OvflwUsrDic) err = SJ3_NoMoreUserDict; - else if (err & AD_OvflwIndex) err = SJ3_NoMoreIndexBlock; - else if (err) err = SJ3_AddDictFailed; - else err = SJ3_NormalEnd; - if (err != SJ3_NormalEnd) longjmp(error_ret, err); + if(err & AD_NotUserDict) err = SJ3_ReadOnlyDict; + else if(err & AD_BadYomi) + err = SJ3_BadYomiString; + else if(err & AD_BadKanji) + err = SJ3_BadKanjiString; + else if(err & AD_BadHinsi) + err = SJ3_BadHinsiCode; + else if(err & AD_ArExist) + err = SJ3_AlreadyExistWord; + else if(err & AD_OvflwDouBlk) + err = SJ3_NoMoreDouonWord; + else if(err & AD_OvflwDouNum) + err = SJ3_NoMoreDouonWord; + else if(err & AD_OvflwUsrDic) + err = SJ3_NoMoreUserDict; + else if(err & AD_OvflwIndex) + err = SJ3_NoMoreIndexBlock; + else if(err) + err = SJ3_AddDictFailed; + else + err = SJ3_NormalEnd; + if(err != SJ3_NormalEnd) longjmp(error_ret, err); put_int(err); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } -void -exec_deldict (int mb_flag) -{ - TypeDicID dicid; - TypeGram gram; - int err; - int err1; - DICTL *dl; +void exec_deldict(int mb_flag) { + TypeDicID dicid; + TypeGram gram; + int err; + int err1; + DICTL* dl; - dicid = get_int(); - err = get_nstring(buf1, sizeof(buf1)); - err1 = get_nstring(buf2, sizeof(buf2)); - gram = get_int(); + err = get_nstring(buf1, sizeof(buf1)); + err1 = get_nstring(buf2, sizeof(buf2)); + gram = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (err) longjmp(error_ret, SJ3_BadYomiString); - if (err1) longjmp(error_ret, SJ3_BadKanjiString); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(err) longjmp(error_ret, SJ3_BadYomiString); + if(err1) longjmp(error_ret, SJ3_BadKanjiString); - - for (dl = dictlist ; dl ; dl = dl -> next) - if (dl -> dict -> dicid == dicid) break; - if (!dl) longjmp(error_ret, SJ3_NoSuchDict); - if (dl -> dict -> maxunit == 0) + for(dl = dictlist; dl; dl = dl->next) + if(dl->dict->dicid == dicid) break; + if(!dl) longjmp(error_ret, SJ3_NoSuchDict); + if(dl->dict->maxunit == 0) longjmp(error_ret, SJ3_ReadOnlyDict); - if (is_dict_locked((DictFile *)(dl -> dict))) + if(is_dict_locked((DictFile*)(dl->dict))) longjmp(error_ret, SJ3_DictLocked); - seldict(dicid); - if (mb_flag == SJIS_PROTO) { - if (sj3_str_sjistoeuc(buf3, sizeof(buf3), buf1, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; - if (sj3_str_sjistoeuc(buf4, sizeof(buf4), buf2, - cur_cli->def_char, &defuse) < 0) - goto CCONVERR; + if(mb_flag == SJIS_PROTO) { + if(sj3_str_sjistoeuc(buf3, sizeof(buf3), buf1, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; + if(sj3_str_sjistoeuc(buf4, sizeof(buf4), buf2, + cur_cli->def_char, &defuse) < 0) + goto CCONVERR; err = deldic(buf3, buf4, gram); } else { err = deldic(buf1, buf2, gram); } - - if (err & AD_NotUserDict) err = SJ3_ReadOnlyDict; - else if (err & AD_BadYomi) err = SJ3_BadYomiString; - else if (err & AD_BadKanji) err = SJ3_BadKanjiString; - else if (err & AD_BadHinsi) err = SJ3_BadHinsiCode; - else if (err & AD_NoMidasi) err = SJ3_NoSuchWord; - else if (err & AD_NoHinsi) err = SJ3_NoSuchWord; - else if (err & AD_NoKanji) err = SJ3_NoSuchWord; - else if (err) err = SJ3_DelDictFailed; - else err = SJ3_NormalEnd; - if (err != SJ3_NormalEnd) longjmp(error_ret, err); + if(err & AD_NotUserDict) err = SJ3_ReadOnlyDict; + else if(err & AD_BadYomi) + err = SJ3_BadYomiString; + else if(err & AD_BadKanji) + err = SJ3_BadKanjiString; + else if(err & AD_BadHinsi) + err = SJ3_BadHinsiCode; + else if(err & AD_NoMidasi) + err = SJ3_NoSuchWord; + else if(err & AD_NoHinsi) + err = SJ3_NoSuchWord; + else if(err & AD_NoKanji) + err = SJ3_NoSuchWord; + else if(err) + err = SJ3_DelDictFailed; + else + err = SJ3_NormalEnd; + if(err != SJ3_NormalEnd) longjmp(error_ret, err); put_int(err); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } +void exec_getdict(int mb_flag) { + TypeDicID dicid; + int err, buf_size, l; + DICTL* dl; + unsigned char *ptr, *q; -void -exec_getdict (int mb_flag) -{ - TypeDicID dicid; - int err, buf_size, l; - DICTL *dl; - unsigned char *ptr, *q; - - dicid = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - - - for (dl = dictlist ; dl ; dl = dl -> next) - if (dl -> dict -> dicid == dicid) break; - if (!dl) longjmp(error_ret, SJ3_NoSuchDict); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + for(dl = dictlist; dl; dl = dl->next) + if(dl->dict->dicid == dicid) break; + if(!dl) longjmp(error_ret, SJ3_NoSuchDict); lock_check_for_read(); - seldict(dicid); err = getusr(kbuf); - if (err) { - if (mb_flag == SJIS_PROTO) { + if(err) { + if(mb_flag == SJIS_PROTO) { buf_size = sizeof(skbuf); - ptr = kbuf; - q = skbuf; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; + ptr = kbuf; + q = skbuf; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; ptr += strlen(ptr) + 1; q += l + 1; buf_size -= l + 1; - l = sj3_str_euctosjis(q, buf_size, ptr, + l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, &defuse2); - if (l < 0) goto CCONVERR; - if (defuse || defuse2) { - while ((defuse || defuse2) && err) { - ptr = kbuf; - q = skbuf; + if(l < 0) goto CCONVERR; + if(defuse || defuse2) { + while((defuse || defuse2) && err) { + ptr = kbuf; + q = skbuf; buf_size = sizeof(skbuf); - err = nextusr(kbuf); - if (!err) break; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, - &defuse); - if (l < 0) goto CCONVERR; + err = nextusr(kbuf); + if(!err) break; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, + &defuse); + if(l < 0) goto CCONVERR; ptr += strlen(ptr) + 1; q += l + 1; buf_size -= l + 1; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, - &defuse2); - if (l < 0) goto CCONVERR; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, + &defuse2); + if(l < 0) goto CCONVERR; } - if (!err) { + if(!err) { longjmp(error_ret, SJ3_NoMoreDictData); } - } + } ptr += strlen(ptr) + 1; q += l + 1; - *q = *ptr; + *q = *ptr; ptr = skbuf; } else { ptr = kbuf; } - + put_int(SJ3_NormalEnd); ptr = put_string(ptr); ptr = put_string(ptr); put_int(*ptr); - } - else + } else longjmp(error_ret, SJ3_NoMoreDictData); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } +void exec_nextdict(int mb_flag) { + TypeDicID dicid; + int err, buf_size, l; + DICTL* dl; + unsigned char *ptr, *q; - -void -exec_nextdict (int mb_flag) -{ - TypeDicID dicid; - int err, buf_size, l; - DICTL *dl; - unsigned char *ptr, *q; - - dicid = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - - - for (dl = dictlist ; dl ; dl = dl -> next) - if (dl -> dict -> dicid == dicid) break; - if (!dl) longjmp(error_ret, SJ3_NoSuchDict); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + for(dl = dictlist; dl; dl = dl->next) + if(dl->dict->dicid == dicid) break; + if(!dl) longjmp(error_ret, SJ3_NoSuchDict); lock_check_for_read(); - seldict(dicid); err = nextusr(kbuf); - if (err) { - if (mb_flag == SJIS_PROTO) { + if(err) { + if(mb_flag == SJIS_PROTO) { buf_size = sizeof(skbuf); - ptr = kbuf; - q = skbuf; - l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, - &defuse); - if (l < 0) goto CCONVERR; + ptr = kbuf; + q = skbuf; + l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, + &defuse); + if(l < 0) goto CCONVERR; ptr += strlen(ptr) + 1; q += l + 1; buf_size -= l + 1; - l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, - &defuse2); - if (l < 0) goto CCONVERR; - if (defuse || defuse2) { - while ((defuse || defuse2) && err) { - ptr = kbuf; - q = skbuf; + l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, + &defuse2); + if(l < 0) goto CCONVERR; + if(defuse || defuse2) { + while((defuse || defuse2) && err) { + ptr = kbuf; + q = skbuf; buf_size = sizeof(skbuf); - err = nextusr(kbuf); - if (!err) break; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, - &defuse); - if (l < 0) goto CCONVERR; + err = nextusr(kbuf); + if(!err) break; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, + &defuse); + if(l < 0) goto CCONVERR; ptr += strlen(ptr) + 1; q += l + 1; buf_size -= l + 1; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, - &defuse2); - if (l < 0) goto CCONVERR; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, + &defuse2); + if(l < 0) goto CCONVERR; } - if (!err) { + if(!err) { longjmp(error_ret, SJ3_NoMoreDictData); } - } + } ptr += strlen(ptr) + 1; q += l + 1; - *q = *ptr; + *q = *ptr; ptr = skbuf; } else { ptr = kbuf; } - + put_int(SJ3_NormalEnd); ptr = put_string(ptr); ptr = put_string(ptr); put_int(*ptr); - } - else + } else longjmp(error_ret, SJ3_NoMoreDictData); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } +void exec_prevdict(int mb_flag) { + TypeDicID dicid; + int err, buf_size, l; + DICTL* dl; + unsigned char *ptr, *q; - -void -exec_prevdict (int mb_flag) -{ - TypeDicID dicid; - int err, buf_size, l; - DICTL *dl; - unsigned char *ptr, *q; - - dicid = get_int(); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - - - for (dl = dictlist ; dl ; dl = dl -> next) - if (dl -> dict -> dicid == dicid) break; - if (!dl) longjmp(error_ret, SJ3_NoSuchDict); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + for(dl = dictlist; dl; dl = dl->next) + if(dl->dict->dicid == dicid) break; + if(!dl) longjmp(error_ret, SJ3_NoSuchDict); lock_check_for_read(); - seldict(dicid); err = prevusr(kbuf); - if (err) { - if (mb_flag == SJIS_PROTO) { + if(err) { + if(mb_flag == SJIS_PROTO) { buf_size = sizeof(skbuf); - ptr = kbuf; - q = skbuf; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, &defuse); - if (l < 0) goto CCONVERR; + ptr = kbuf; + q = skbuf; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, &defuse); + if(l < 0) goto CCONVERR; ptr += strlen(ptr) + 1; q += l + 1; buf_size -= l + 1; - l = sj3_str_euctosjis(q, buf_size, ptr, + l = sj3_str_euctosjis(q, buf_size, ptr, cur_cli->def_char, &defuse2); - if (l < 0) goto CCONVERR; - if (defuse || defuse2) { - while ((defuse || defuse2) && err) { - ptr = kbuf; - q = skbuf; + if(l < 0) goto CCONVERR; + if(defuse || defuse2) { + while((defuse || defuse2) && err) { + ptr = kbuf; + q = skbuf; buf_size = sizeof(skbuf); - err = prevusr(kbuf); - if (!err) break; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, - &defuse); - if (l < 0) goto CCONVERR; + err = prevusr(kbuf); + if(!err) break; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, + &defuse); + if(l < 0) goto CCONVERR; ptr += strlen(ptr) + 1; q += l + 1; buf_size -= l + 1; - l = sj3_str_euctosjis(q, buf_size, ptr, - cur_cli->def_char, - &defuse2); - if (l < 0) goto CCONVERR; + l = sj3_str_euctosjis(q, buf_size, ptr, + cur_cli->def_char, + &defuse2); + if(l < 0) goto CCONVERR; } - if (!err) { + if(!err) { longjmp(error_ret, SJ3_NoMoreDictData); } - } + } ptr += strlen(ptr) + 1; q += l + 1; - *q = *ptr; + *q = *ptr; ptr = skbuf; } else { ptr = kbuf; } - + put_int(SJ3_NormalEnd); ptr = put_string(ptr); ptr = put_string(ptr); put_int(*ptr); - } - else + } else longjmp(error_ret, SJ3_NoMoreDictData); return; CCONVERR: - put_int(SJ3_CannotCodeConvert); - return; + put_int(SJ3_CannotCodeConvert); + return; } +void exec_makedict(void) { + struct stat sbuf; + char path[PathNameLen]; + int err; + int ofslen; + int idxlen; + int seglen; + int segnum; - -void -exec_makedict (void) -{ - struct stat sbuf; - char path[PathNameLen]; - int err; - int ofslen; - int idxlen; - int seglen; - int segnum; - - err = get_nstring(path, sizeof(path)); + err = get_nstring(path, sizeof(path)); idxlen = get_int(); seglen = get_int(); segnum = get_int(); - if (err) longjmp(error_ret, SJ3_TooLongParameter); - if (make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); + if(err) longjmp(error_ret, SJ3_TooLongParameter); + if(make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); - if ((stat(path, &sbuf) != ERROR) || (errno != ENOENT)){ + if((stat(path, &sbuf) != ERROR) || (errno != ENOENT)) { longjmp(error_ret, SJ3_IllegalDictFile); } err = makedict(path, idxlen, seglen, segnum); - if (err != SJ3_NormalEnd) longjmp(error_ret, err); + if(err != SJ3_NormalEnd) longjmp(error_ret, err); chmod(path, (file_mode & MODE_MASK)); chown(path, cur_client->uid, -1); put_int(err); } +void exec_makestdy(void) { + struct stat sbuf; + char path[PathNameLen]; + int err; + int stynum; + int clstep; + int cllen; - -void -exec_makestdy (void) -{ - struct stat sbuf; - char path[PathNameLen]; - int err; - int stynum; - int clstep; - int cllen; - - err = get_nstring(path, sizeof(path)); + err = get_nstring(path, sizeof(path)); stynum = get_int(); clstep = get_int(); - cllen = get_int(); - if (err) longjmp(error_ret, SJ3_TooLongParameter); - if (make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); + cllen = get_int(); + if(err) longjmp(error_ret, SJ3_TooLongParameter); + if(make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); - if ((stat(path, &sbuf) != ERROR) || (errno != ENOENT)){ + if((stat(path, &sbuf) != ERROR) || (errno != ENOENT)) { longjmp(error_ret, SJ3_IllegalStdyFile); } err = makestdy(path, stynum, clstep, cllen); - if (err != SJ3_NormalEnd) longjmp(error_ret, err); + if(err != SJ3_NormalEnd) longjmp(error_ret, err); chmod(path, (file_mode & MODE_MASK)); chown(path, cur_client->uid, -1); put_int(err); } +void exec_access(void) { + char path[PathNameLen]; + int mode; + int i; - -void -exec_access (void) -{ - char path[PathNameLen]; - int mode; - int i; - - i = get_nstring(path, sizeof(path)); + i = get_nstring(path, sizeof(path)); mode = get_int(); - if (i) longjmp(error_ret, SJ3_TooLongParameter); - if (make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); + if(i) longjmp(error_ret, SJ3_TooLongParameter); + if(make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); put_int(access(path, mode)); } - - -void -exec_makedir (void) -{ - char path[PathNameLen]; - int i; +void exec_makedir(void) { + char path[PathNameLen]; + int i; i = get_nstring(path, sizeof(path)); - if (i) longjmp(error_ret, SJ3_TooLongParameter); - if (make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); + if(i) longjmp(error_ret, SJ3_TooLongParameter); + if(make_full_path(path)) longjmp(error_ret, SJ3_TooLongParameter); - if (mkdir(path, dir_mode)) { - if (errno == EEXIST) + if(mkdir(path, dir_mode)) { + if(errno == EEXIST) longjmp(error_ret, SJ3_DirAlreadyExist); else longjmp(error_ret, SJ3_CannotCreateDir); @@ -1425,61 +1320,45 @@ exec_makedir (void) put_int(SJ3_NormalEnd); } - - -void -exec_who (void) -{ +void exec_who(void) { int i; - Client *cli; + Client* cli; - i = 0; + i = 0; cli = client; - while ((i <= client_num) && cli) { + while((i <= client_num) && cli) { i++; cli = cli->next; } - if (i < client_num) { + if(i < client_num) { put_int(i); } else { put_int(client_num); } - for (i = 0, cli = client ; (i < client_num) && cli ; i++, cli = cli->next) { - put_int(cli -> fd); - put_string(cli -> host); - put_string(cli -> user); - put_string(cli -> prog); + for(i = 0, cli = client; (i < client_num) && cli; i++, cli = cli->next) { + put_int(cli->fd); + put_string(cli->host); + put_string(cli->user); + put_string(cli->prog); } } - - -void -exec_kill (void) -{ +void exec_kill(void) { put_int(SJ3_NormalEnd); put_flush(); server_terminate(); } - - -void -exec_quit (void) -{ - if (client_num > 1) longjmp(error_ret, SJ3_UserConnected); +void exec_quit(void) { + if(client_num > 1) longjmp(error_ret, SJ3_UserConnected); exec_kill(); } - - -void -exec_version (void) -{ - extern char *version_number, *time_stamp; - static char *Version = "version : "; - static char *TimeStamp = "times-stamp : "; +void exec_version(void) { + extern char *version_number, *time_stamp; + static char* Version = "version : "; + static char* TimeStamp = "times-stamp : "; put_int(SJ3_NormalEnd); put_ndata(Version, strlen(Version)); @@ -1489,105 +1368,79 @@ exec_version (void) put_string(NULL); } +void exec_dictpass(void) { + TypeDicID dicid; + char buf[PasswdLen + 1]; + int err; + DICTL* dl; - -void -exec_dictpass (void) -{ - TypeDicID dicid; - char buf[PasswdLen + 1]; - int err; - DICTL *dl; - - dicid = get_int(); - err = get_nstring(buf, sizeof(buf)); + err = get_nstring(buf, sizeof(buf)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (err) longjmp(error_ret, SJ3_TooLongPasswd); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(err) longjmp(error_ret, SJ3_TooLongPasswd); - - for (dl = dictlist ; dl ; dl = dl -> next) - if (dl -> dict -> dicid == dicid) break; - if (!dl) longjmp(error_ret, SJ3_NoSuchDict); + for(dl = dictlist; dl; dl = dl->next) + if(dl->dict->dicid == dicid) break; + if(!dl) longjmp(error_ret, SJ3_NoSuchDict); - if (set_dictpass(dl -> dict, buf)) longjmp(error_ret, serv_errno); + if(set_dictpass(dl->dict, buf)) longjmp(error_ret, serv_errno); put_int(SJ3_NormalEnd); } +void exec_dictcmnt(void) { + TypeDicID dicid; + char buf[CommentLength + 1]; + int err; + DICTL* dl; - -void -exec_dictcmnt (void) -{ - TypeDicID dicid; - char buf[CommentLength + 1]; - int err; - DICTL *dl; - - dicid = get_int(); - err = get_nstring(buf, sizeof(buf)); + err = get_nstring(buf, sizeof(buf)); - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (err) longjmp(error_ret, SJ3_TooLongComment); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(err) longjmp(error_ret, SJ3_TooLongComment); - - for (dl = dictlist ; dl ; dl = dl -> next) - if (dl -> dict -> dicid == dicid) break; - if (!dl) longjmp(error_ret, SJ3_NoSuchDict); + for(dl = dictlist; dl; dl = dl->next) + if(dl->dict->dicid == dicid) break; + if(!dl) longjmp(error_ret, SJ3_NoSuchDict); - if (set_dictcmnt(dl -> dict, buf)) longjmp(error_ret, serv_errno); + if(set_dictcmnt(dl->dict, buf)) longjmp(error_ret, serv_errno); put_int(SJ3_NormalEnd); } +void exec_stdypass(void) { + char buf[PasswdLen + 1]; + int err; + err = get_nstring(buf, sizeof(buf)); -void -exec_stdypass (void) -{ - char buf[PasswdLen + 1]; - int err; + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); + if(err) longjmp(error_ret, SJ3_TooLongPasswd); - - err = get_nstring(buf, sizeof(buf)); - - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); - if (err) longjmp(error_ret, SJ3_TooLongPasswd); - - if (set_stdypass(buf)) longjmp(error_ret, serv_errno); + if(set_stdypass(buf)) longjmp(error_ret, serv_errno); put_int(SJ3_NormalEnd); } +void exec_stdycmnt(void) { + char buf[CommentLength + 1]; + int err; + err = get_nstring(buf, sizeof(buf)); -void -exec_stdycmnt (void) -{ - char buf[CommentLength + 1]; - int err; + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); + if(err) longjmp(error_ret, SJ3_TooLongComment); - - err = get_nstring(buf, sizeof(buf)); - - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); - if (err) longjmp(error_ret, SJ3_TooLongComment); - - if (set_stdycmnt(buf)) longjmp(error_ret, serv_errno); + if(set_stdycmnt(buf)) longjmp(error_ret, serv_errno); put_int(SJ3_NormalEnd); } +void exec_stdypara(void) { + int stynum, clstep, cllen; - -void -exec_stdypara (void) -{ - int stynum, clstep, cllen; - - if (!work_base) longjmp(error_ret, SJ3_NotConnected); - if (!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); + if(!work_base) longjmp(error_ret, SJ3_NotConnected); + if(!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); get_stdysize(&stynum, &clstep, &cllen); put_int(SJ3_NormalEnd); @@ -1596,89 +1449,180 @@ exec_stdypara (void) put_int(cllen); } +void execute_cmd(void) { + int i; - -void -execute_cmd (void) -{ - int i; - - if ((i = setjmp(error_ret)) != 0) { + if((i = setjmp(error_ret)) != 0) { debug_out(1, "%d: error code = %d\r\n", client_fd, i); put_int(i); - } - else { - cur_cli = cur_client; + } else { + cur_cli = cur_client; work_base = cur_cli->work ? &(cur_cli->work->global) : NULL; stdy_base = cur_cli->stdy ? &(cur_cli->stdy->stdy) : NULL; -#define CASE(X) case (X): { int j=X; debug_out(1, "%d: %d\t", client_fd, j); } - switch (i = get_int()) { +#define CASE(X) \ + case(X): \ + { \ + int j = X; \ + debug_out(1, "%d: %d\t", client_fd, j); \ + } + switch(i = get_int()) { - CASE(SJ3_CONNECT) exec_connect(); break; - CASE(SJ3_DISCONNECT) exec_disconnect(); break; + CASE(SJ3_CONNECT) + exec_connect(); + break; + CASE(SJ3_DISCONNECT) + exec_disconnect(); + break; - CASE(SJ3_OPENDICT) exec_opendict(); break; - CASE(SJ3_CLOSEDICT) exec_closedict(); break; + CASE(SJ3_OPENDICT) + exec_opendict(); + break; + CASE(SJ3_CLOSEDICT) + exec_closedict(); + break; - CASE(SJ3_OPENSTDY) exec_openstdy(); break; - CASE(SJ3_CLOSESTDY) exec_closestdy(); break; - CASE(SJ3_STDYSIZE) exec_stdysize(); break; + CASE(SJ3_OPENSTDY) + exec_openstdy(); + break; + CASE(SJ3_CLOSESTDY) + exec_closestdy(); + break; + CASE(SJ3_STDYSIZE) + exec_stdysize(); + break; - CASE(SJ3_LOCK) exec_lock(); break; - CASE(SJ3_UNLOCK) exec_unlock(); break; + CASE(SJ3_LOCK) + exec_lock(); + break; + CASE(SJ3_UNLOCK) + exec_unlock(); + break; - CASE(SJ3_PH2KNJ) exec_ph2knj(SJIS_PROTO); break; - CASE(SJ3_PH2KNJ_EUC) exec_ph2knj(EUC_PROTO); break; + CASE(SJ3_PH2KNJ) + exec_ph2knj(SJIS_PROTO); + break; + CASE(SJ3_PH2KNJ_EUC) + exec_ph2knj(EUC_PROTO); + break; - CASE(SJ3_CL2KNJ) exec_cl2knj(SJIS_PROTO); break; - CASE(SJ3_CL2KNJ_EUC) exec_cl2knj(EUC_PROTO); break; - CASE(SJ3_NEXTCL) exec_nextcl(SJIS_PROTO); break; - CASE(SJ3_NEXTCL_EUC) exec_nextcl(EUC_PROTO); break; - CASE(SJ3_PREVCL) exec_prevcl(SJIS_PROTO); break; - CASE(SJ3_PREVCL_EUC) exec_prevcl(EUC_PROTO); break; - CASE(SJ3_CL2KNJ_CNT) exec_cl2knj_cnt(SJIS_PROTO); break; - CASE(SJ3_CL2KNJ_CNT_EUC) exec_cl2knj_cnt(EUC_PROTO); - break; - CASE(SJ3_CL2KNJ_ALL) exec_cl2knj_all(SJIS_PROTO); break; - CASE(SJ3_CL2KNJ_ALL_EUC) exec_cl2knj_all(EUC_PROTO); - break; + CASE(SJ3_CL2KNJ) + exec_cl2knj(SJIS_PROTO); + break; + CASE(SJ3_CL2KNJ_EUC) + exec_cl2knj(EUC_PROTO); + break; + CASE(SJ3_NEXTCL) + exec_nextcl(SJIS_PROTO); + break; + CASE(SJ3_NEXTCL_EUC) + exec_nextcl(EUC_PROTO); + break; + CASE(SJ3_PREVCL) + exec_prevcl(SJIS_PROTO); + break; + CASE(SJ3_PREVCL_EUC) + exec_prevcl(EUC_PROTO); + break; + CASE(SJ3_CL2KNJ_CNT) + exec_cl2knj_cnt(SJIS_PROTO); + break; + CASE(SJ3_CL2KNJ_CNT_EUC) + exec_cl2knj_cnt(EUC_PROTO); + break; + CASE(SJ3_CL2KNJ_ALL) + exec_cl2knj_all(SJIS_PROTO); + break; + CASE(SJ3_CL2KNJ_ALL_EUC) + exec_cl2knj_all(EUC_PROTO); + break; - CASE(SJ3_STUDY) exec_study(); break; - CASE(SJ3_CLSTUDY) exec_clstudy(SJIS_PROTO); break; - CASE(SJ3_CLSTUDY_EUC) exec_clstudy(EUC_PROTO); break; + CASE(SJ3_STUDY) + exec_study(); + break; + CASE(SJ3_CLSTUDY) + exec_clstudy(SJIS_PROTO); + break; + CASE(SJ3_CLSTUDY_EUC) + exec_clstudy(EUC_PROTO); + break; - CASE(SJ3_ADDDICT) exec_adddict(SJIS_PROTO); break; - CASE(SJ3_ADDDICT_EUC) exec_adddict(EUC_PROTO); break; - CASE(SJ3_DELDICT) exec_deldict(SJIS_PROTO); break; - CASE(SJ3_DELDICT_EUC) exec_deldict(EUC_PROTO); break; + CASE(SJ3_ADDDICT) + exec_adddict(SJIS_PROTO); + break; + CASE(SJ3_ADDDICT_EUC) + exec_adddict(EUC_PROTO); + break; + CASE(SJ3_DELDICT) + exec_deldict(SJIS_PROTO); + break; + CASE(SJ3_DELDICT_EUC) + exec_deldict(EUC_PROTO); + break; - CASE(SJ3_GETDICT) exec_getdict(SJIS_PROTO); break; - CASE(SJ3_GETDICT_EUC) exec_getdict(EUC_PROTO); break; - CASE(SJ3_NEXTDICT) exec_nextdict(SJIS_PROTO); break; - CASE(SJ3_NEXTDICT_EUC) exec_nextdict(EUC_PROTO); break; - CASE(SJ3_PREVDICT) exec_prevdict(SJIS_PROTO); break; - CASE(SJ3_PREVDICT_EUC) exec_prevdict(EUC_PROTO); break; + CASE(SJ3_GETDICT) + exec_getdict(SJIS_PROTO); + break; + CASE(SJ3_GETDICT_EUC) + exec_getdict(EUC_PROTO); + break; + CASE(SJ3_NEXTDICT) + exec_nextdict(SJIS_PROTO); + break; + CASE(SJ3_NEXTDICT_EUC) + exec_nextdict(EUC_PROTO); + break; + CASE(SJ3_PREVDICT) + exec_prevdict(SJIS_PROTO); + break; + CASE(SJ3_PREVDICT_EUC) + exec_prevdict(EUC_PROTO); + break; - CASE(SJ3_MAKEDICT) exec_makedict(); break; - CASE(SJ3_MAKESTDY) exec_makestdy(); break; - CASE(SJ3_ACCESS) exec_access(); break; - CASE(SJ3_MAKEDIR) exec_makedir(); break; + CASE(SJ3_MAKEDICT) + exec_makedict(); + break; + CASE(SJ3_MAKESTDY) + exec_makestdy(); + break; + CASE(SJ3_ACCESS) + exec_access(); + break; + CASE(SJ3_MAKEDIR) + exec_makedir(); + break; - CASE(SJ3_WHO) exec_who(); break; - CASE(SJ3_QUIT) exec_quit(); break; - CASE(SJ3_KILL) exec_kill(); break; - CASE(SJ3_VERSION) exec_version(); break; + CASE(SJ3_WHO) + exec_who(); + break; + CASE(SJ3_QUIT) + exec_quit(); + break; + CASE(SJ3_KILL) + exec_kill(); + break; + CASE(SJ3_VERSION) + exec_version(); + break; - CASE(SJ3_DICTPASS) exec_dictpass(); break; - CASE(SJ3_DICTCMNT) exec_dictcmnt(); break; - CASE(SJ3_STDYPASS) exec_stdypass(); break; - CASE(SJ3_STDYCMNT) exec_stdycmnt(); break; - default: warning_out("Illegal command"); - longjmp(error_ret, SJ3_IllegalCommand); - break; + CASE(SJ3_DICTPASS) + exec_dictpass(); + break; + CASE(SJ3_DICTCMNT) + exec_dictcmnt(); + break; + CASE(SJ3_STDYPASS) + exec_stdypass(); + break; + CASE(SJ3_STDYCMNT) + exec_stdycmnt(); + break; + default: + warning_out("Illegal command"); + longjmp(error_ret, SJ3_IllegalCommand); + break; } -#undef CASE +#undef CASE debug_out(1, "cmd end\r\n"); } diff --git a/file.c b/file.c index 544bb2e..5efcdd9 100644 --- a/file.c +++ b/file.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,12 +28,11 @@ */ /* - * $SonyRCSfile: file.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: file.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1995/02/03 07:38:32 $ */ - #include #include #include @@ -41,123 +40,105 @@ #include #include "dicttool.h" -typedef struct filelist { - FILE *fp; - char *fname; - struct filelist *next; +typedef struct filelist { + FILE* fp; + char* fname; + struct filelist* next; } FileList; -static FileList *flist = NULL; +static FileList* flist = NULL; static char* -get_fname(FILE* fp) -{ - FileList *p; +get_fname(FILE* fp) { + FileList* p; - for (p = flist ; p ; p = p -> next) - if (p -> fp == fp) return p -> fname; + for(p = flist; p; p = p->next) + if(p->fp == fp) return p->fname; return "some file"; } -FILE* -Fopen(char* filename, char* type) -{ - FILE *fp; - FileList *fl; +FILE* Fopen(char* filename, char* type) { + FILE* fp; + FileList* fl; - if (!(fp = fopen(filename, type))) { + if(!(fp = fopen(filename, type))) { fprintf(stderr, "Can't open %s mode \"%s\"\n", filename, type); exit(1); } - fl = (FileList *)Malloc(sizeof(*fl)); - fl -> fname = Malloc(strlen(filename) + 1); - strcpy(fl -> fname, filename); - fl -> fp = fp; - fl -> next = flist; + fl = (FileList*)Malloc(sizeof(*fl)); + fl->fname = Malloc(strlen(filename) + 1); + strcpy(fl->fname, filename); + fl->fp = fp; + fl->next = flist; return fp; } -void -Fclose(FILE* fp) -{ +void Fclose(FILE* fp) { FileList *p, *q; - if (fclose(fp) == EOF) { + if(fclose(fp) == EOF) { fprintf(stderr, "Close error in %s\n", get_fname(fp)); exit(1); } - for (p = flist, q = NULL ; p ; q = p, p = p -> next) { - if (p -> fp == fp) { - if (q) - q -> next = p -> next; + for(p = flist, q = NULL; p; q = p, p = p->next) { + if(p->fp == fp) { + if(q) + q->next = p->next; else - flist = p -> next; - free(p -> fname); + flist = p->next; + free(p->fname); free(p); break; } } } -int -Fseek(FILE* fp, long ofs, int ptr) -{ - if (fseek(fp, ofs, ptr) == 0) return 0; +int Fseek(FILE* fp, long ofs, int ptr) { + if(fseek(fp, ofs, ptr) == 0) return 0; fprintf(stderr, "Seek error in %s\n", get_fname(fp)); exit(1); } -long -Ftell(FILE* fp) -{ +long Ftell(FILE* fp) { return ftell(fp); } off_t /* XXX: just looked in FreeBSD's sys/stat.h, need to check SUS spec. */ -Fsize(char* filename) -{ - struct stat buf; +Fsize(char* filename) { + struct stat buf; #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) - if (stat(filename, &buf) == 0) return (long)buf.st_size; + if(stat(filename, &buf) == 0) return (long)buf.st_size; #else - if (stat(filename, &buf) == 0) return buf.st_size; + if(stat(filename, &buf) == 0) return buf.st_size; #endif fprintf(stderr, "Stat error in %s\n", filename); exit(1); } -int -Fread(char* p, int s, int n, FILE* fp) -{ - if (fread(p, s, n, fp) == n) return n; +int Fread(char* p, int s, int n, FILE* fp) { + if(fread(p, s, n, fp) == n) return n; fprintf(stderr, "Read error in %s\n", get_fname(fp)); exit(1); } -int -Fwrite(char* p, int s, int n, FILE* fp) -{ - if (fwrite(p, s, n, fp) == n) return n; +int Fwrite(char* p, int s, int n, FILE* fp) { + if(fwrite(p, s, n, fp) == n) return n; fprintf(stderr, "Write error in %s\n", get_fname(fp)); exit(1); } -int -Fgetc(FILE* fp) -{ +int Fgetc(FILE* fp) { return fgetc(fp); } -void -Fflush(FILE* fp) -{ - fflush(fp); -} +void Fflush(FILE* fp) { + fflush(fp); +} diff --git a/format.sh b/format.sh new file mode 100755 index 0000000..c8fdbcf --- /dev/null +++ b/format.sh @@ -0,0 +1,2 @@ +#!/bin/sh +clang-format --verbose -i *.c *.h diff --git a/funckey.c b/funckey.c index 14a1a68..9f851bb 100644 --- a/funckey.c +++ b/funckey.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: funckey.c,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: funckey.c,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1997/01/23 11:20:53 $ * * $Id: funckey.c,v 1.3 2004/07/04 08:38:33 hiroo Exp $ */ - #include #include "wchar16.h" #include "sj2.h" @@ -44,109 +43,103 @@ #include "sj3.h" struct cvtkey { - char *key_word; - char key_seq[SEQLEN]; + char* key_word; + char key_seq[SEQLEN]; } cvtkeytbl[] = { - { "F1", "" }, - { "F2", "" }, - { "F3", "" }, - { "F4", "" }, - { "F5", "" }, - { "F6", "" }, - { "F7", "" }, - { "F8", "" }, - { "F9", "" }, - { "F10", "" }, - { "F11", "" }, - { "F12", "" }, - { "F13", "" }, - { "F14", "" }, - { "F15", "" }, - { "F16", "" }, - { "F17", "" }, - { "F18", "" }, - { "F19", "" }, - { "F20", "" }, - { "Select", "" }, - { "Kanji", "" }, - { "Cancel", "" }, - { "Execute", "" }, - { "Up", "" }, - { "Down", "" }, - { "Right", "" }, - { "Left", "" }, - { NULL, "" } -}; + {"F1", ""}, + {"F2", ""}, + {"F3", ""}, + {"F4", ""}, + {"F5", ""}, + {"F6", ""}, + {"F7", ""}, + {"F8", ""}, + {"F9", ""}, + {"F10", ""}, + {"F11", ""}, + {"F12", ""}, + {"F13", ""}, + {"F14", ""}, + {"F15", ""}, + {"F16", ""}, + {"F17", ""}, + {"F18", ""}, + {"F19", ""}, + {"F20", ""}, + {"Select", ""}, + {"Kanji", ""}, + {"Cancel", ""}, + {"Execute", ""}, + {"Up", ""}, + {"Down", ""}, + {"Right", ""}, + {"Left", ""}, + {NULL, ""}}; -extern struct wcvtkey wcvtkeytbl[]; +extern struct wcvtkey wcvtkeytbl[]; -int Uvalue[UKEYNUM]; -wchar16_t Ukey[UKEYNUM][SEQLEN + 1]; -int Unumber = 0; +int Uvalue[UKEYNUM]; +wchar16_t Ukey[UKEYNUM][SEQLEN + 1]; +int Unumber = 0; -int comvalue[COMNUM]; -wchar16_t comkey[COMNUM]; -int comnumber = 0; +int comvalue[COMNUM]; +wchar16_t comkey[COMNUM]; +int comnumber = 0; -#define ETCKEYS 10 -int u_etckeys = 0; -int Uetckey[ETCKEYS]; -int Uetcval[ETCKEYS]; +#define ETCKEYS 10 +int u_etckeys = 0; +int Uetckey[ETCKEYS]; +int Uetcval[ETCKEYS]; +extern wchar16_t* comstr[]; -extern wchar16_t *comstr[]; +int comstrvalue[KEY_OTHER] = { + KEY_CONV, KEY_HENKAN, KEY_MUHENKAN, + KEY_KETTEI, KEY_ZHIRA, KEY_HALPHA, + KEY_ZALPHA, KEY_HKATA, KEY_ZKATA, + KEY_CODE, KEY_ETC, KEY_RIGHT, + KEY_LEFT, KEY_UP, KEY_DOWN, + KEY_EDIT, KEY_TOGGLE, KEY_WRAPBACK, + KEY_WRAP, KEY_SJRC, KEY_BUFFER, + KEY_TOROKU, KEY_SYOUKYO, KEY_HELP, + KEY_HA_KET, KEY_FLUSH, KEY_DEBUG, + KEY_CANCEL, KEY_RECONV, KEY_IGNORE, + KEY_TOP, KEY_END, KEY_RECONNECT, + KEY_KILL, + KEY_OTHER}; -int comstrvalue[KEY_OTHER] = { - KEY_CONV, KEY_HENKAN, KEY_MUHENKAN, - KEY_KETTEI, KEY_ZHIRA, KEY_HALPHA, - KEY_ZALPHA, KEY_HKATA, KEY_ZKATA, - KEY_CODE, KEY_ETC, KEY_RIGHT, - KEY_LEFT, KEY_UP, KEY_DOWN, - KEY_EDIT, KEY_TOGGLE, KEY_WRAPBACK, - KEY_WRAP, KEY_SJRC, KEY_BUFFER, - KEY_TOROKU, KEY_SYOUKYO, KEY_HELP, - KEY_HA_KET, KEY_FLUSH, KEY_DEBUG, - KEY_CANCEL, KEY_RECONV, KEY_IGNORE, - KEY_TOP, KEY_END, KEY_RECONNECT, - KEY_KILL, - KEY_OTHER - }; +void mk_cvtkey(char* term) { + char* p; + char line[MAXLINE], rstr[16]; + FILE* fd; + char cvtkey_file[LONGLENGTH]; + struct cvtkey* ckeyp; + struct wcvtkey* wckeyp; - -void -mk_cvtkey(char* term) -{ - char *p; - char line[MAXLINE], rstr[16]; - FILE *fd; - char cvtkey_file[LONGLENGTH]; - struct cvtkey *ckeyp; - struct wcvtkey *wckeyp; - -/* - * Change a default value. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ + /* + * Change a default value. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ strcpy(cvtkey_file, DEFKEYFILE); strcpy(line, term); if((p = strchr(line, '-')) != NULL) *p = '\0'; strcat(cvtkey_file, line); - if ((fd = fopen(cvtkey_file, "r")) != NULL) { - while ((p = fgets(line, MAXLINE, fd)) != NULL) { - if (*p == '#' ||*p == '\n' ||*p == '\0') + if((fd = fopen(cvtkey_file, "r")) != NULL) { + while((p = fgets(line, MAXLINE, fd)) != NULL) { + if(*p == '#' || *p == '\n' || *p == '\0') continue; - if ((p = getkey2(p, rstr)) == NULL) + if((p = getkey2(p, rstr)) == NULL) continue; - ckeyp = cvtkeytbl; - wckeyp = wcvtkeytbl; + ckeyp = cvtkeytbl; + wckeyp = wcvtkeytbl; while(ckeyp->key_word != NULL) { - if (strcmp(ckeyp->key_word, rstr) == 0) { + if(strcmp(ckeyp->key_word, rstr) == 0) { p = getkey2(p, ckeyp->key_seq); - - (void) mbstowcs(wckeyp->key_seq, - ckeyp->key_seq, SEQLEN); + + (void)mbstowcs(wckeyp->key_seq, + ckeyp->key_seq, SEQLEN); break; } ckeyp++; @@ -157,57 +150,49 @@ mk_cvtkey(char* term) } } -char * -getkey2(char* istr, char* ostr) -{ - char *p; - int i; +char* getkey2(char* istr, char* ostr) { + char* p; + int i; - while (*istr == ' ' || *istr == '\t') + while(*istr == ' ' || *istr == '\t') istr++; p = istr; i = 0; - while (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') { + while(*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') { *ostr++ = *p; - if (++i > SEQLEN) { + if(++i > SEQLEN) { i = 0; break; } p++; } *ostr = '\0'; - if (i > 0) - return(p); - return(NULL); + if(i > 0) + return (p); + return (NULL); } - -void -clear_ukeys (void) -{ +void clear_ukeys(void) { Unumber = 0; } +void set_func(struct wordent word[]) { + int i, num; + wchar16_t * p, *s; + struct wcvtkey* ckeyp; -void -set_func (struct wordent word[]) -{ - int i, num; - wchar16_t *p, *s; - struct wcvtkey *ckeyp; - - if (Unumber >= UKEYNUM) + if(Unumber >= UKEYNUM) return; - for (i = 0 ; i < KEY_OTHER && *comstr[i] != '\0' ; i ++) { - if (match (word[1].word_str, comstr[i])) { + for(i = 0; i < KEY_OTHER && *comstr[i] != '\0'; i++) { + if(match(word[1].word_str, comstr[i])) { p = word[2].word_str; - if (iswupper(*p)) { + if(iswupper(*p)) { ckeyp = wcvtkeytbl; while(ckeyp->key_word != NULL) { - if (wscmp(p, ckeyp->key_word) == 0) { - p = ckeyp->key_seq; - if (*p == '\0') + if(wscmp(p, ckeyp->key_word) == 0) { + p = ckeyp->key_seq; + if(*p == '\0') return; break; } @@ -215,12 +200,12 @@ set_func (struct wordent word[]) } } s = Ukey[Unumber]; - if ((num = eval_keys (p, s)) > 1) { - if (Unumber < UKEYNUM) + if((num = eval_keys(p, s)) > 1) { + if(Unumber < UKEYNUM) Uvalue[Unumber++] = comstrvalue[i]; - } else if (num >= 0) { - if (comnumber < COMNUM) { - comkey[comnumber] = *s; + } else if(num >= 0) { + if(comnumber < COMNUM) { + comkey[comnumber] = *s; comvalue[comnumber++] = comstrvalue[i]; } } @@ -229,127 +214,106 @@ set_func (struct wordent word[]) } } - wchar16_t -eval_keys (wchar16_t* s, wchar16_t* p) -{ - wchar16_t c, i; +eval_keys(wchar16_t* s, wchar16_t* p) { + wchar16_t c, i; - if (wslen (s) > SEQLEN) - return (-1); + if(wslen(s) > SEQLEN) + return (-1); i = 0; - while ((c = *(s ++)) != '\0') { - if (c == '^') { - c = *(s ++); - if ('@' <= c && c <= '_') + while((c = *(s++)) != '\0') { + if(c == '^') { + c = *(s++); + if('@' <= c && c <= '_') c = c - '@'; - else if (c == '?') + else if(c == '?') c = DEL; else c = *(--s); } i++; - *(p ++) = c; + *(p++) = c; } *p = '\0'; return (i); } - -void -clear_key (void) -{ - clear_commkeys (); - clear_etckeys (); - clear_ukeys (); +void clear_key(void) { + clear_commkeys(); + clear_etckeys(); + clear_ukeys(); } - -void -clear_commkeys (void) -{ +void clear_commkeys(void) { comnumber = 0; } -int -eval_key (wchar16_t* s) -{ - wchar16_t c; +int eval_key(wchar16_t* s) { + wchar16_t c; c = *s; - - if (c == '^') { + if(c == '^') { c = s[1]; - if ('@' <= c && c <= '_') + if('@' <= c && c <= '_') return (c - '@'); - else if (c == '?') + else if(c == '?') return (DEL); } - - else if (c <= '~') + else if(c <= '~') return (c); return (-1); } - -void -clear_etckeys (void) -{ +void clear_etckeys(void) { u_etckeys = 0; } +int set_etckeys(struct wordent word[]) { + int i; -int -set_etckeys (struct wordent word[]) -{ - int i; - - if (u_etckeys >= ETCKEYS) + if(u_etckeys >= ETCKEYS) return (1); - for (i = 0 ; i < KEY_OTHER && *comstr[i] != '\0' ; i ++) { - if (match (word[1].word_str, comstr[i])) { + for(i = 0; i < KEY_OTHER && *comstr[i] != '\0'; i++) { + if(match(word[1].word_str, comstr[i])) { Uetcval[u_etckeys] = comstrvalue[i]; break; } } - if (i >= KEY_OTHER) + if(i >= KEY_OTHER) return (1); - for (i = 0 ; i < KEY_OTHER && *comstr[i] != '\0' ; i ++) { - if (match (word[2].word_str, comstr[i])) { + for(i = 0; i < KEY_OTHER && *comstr[i] != '\0'; i++) { + if(match(word[2].word_str, comstr[i])) { Uetckey[u_etckeys] = comstrvalue[i]; break; } } - if (i >= KEY_OTHER) + if(i >= KEY_OTHER) return (1); - u_etckeys ++; + u_etckeys++; return (0); } - wchar16_t -parse_command (wchar16_t* s, int* count) -{ - extern wchar16_t pars_seq[]; - extern int pars_n; - int i, j; - wchar16_t c; +parse_command(wchar16_t* s, int* count) { + extern wchar16_t pars_seq[]; + extern int pars_n; + int i, j; + wchar16_t c; c = *s; - for (i = 0; i < comnumber ; i ++) { - if (c == comkey[i]) { - for (j = 1 ; j < *count ; j ++) + for(i = 0; i < comnumber; i++) { + if(c == comkey[i]) { + for(j = 1; j < *count; j++) s[j - 1] = s[j]; (*count)--; - *pars_seq = c; + *pars_seq = c; pars_seq[1] = 0; - pars_n = 1; + pars_n = 1; return (comvalue[i]); } } return (KEY_NORMAL); } - diff --git a/functbl.c b/functbl.c index cc03ce5..91bbbc5 100644 --- a/functbl.c +++ b/functbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,51 +28,43 @@ */ /* - * $SonyRCSfile: functbl.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: functbl.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:46 $ * * $Id$ */ - #include "sj_rename.h" #include "sj_func.h" #include "kanakan.h" - -VFuncNT cvtnum_func[] = { - num_type00, num_type01, num_type02, num_type03, - num_type04, num_type05, num_type06, num_type07, - num_type08, num_type09, num_type10, num_type11, - num_type12, num_type13, num_type14 -}; +VFuncNT cvtnum_func[] = { + num_type00, num_type01, num_type02, num_type03, + num_type04, num_type05, num_type06, num_type07, + num_type08, num_type09, num_type10, num_type11, + num_type12, num_type13, num_type14}; UCPFuncGK getkan_func[] = { - getkan_norm, getkan_norm, getkan_hira, getkan_kata, - getkan_knj, getkan_ofs, getkan_norm, getkan_none, - getkan_norm, getkan_norm, getkan_hira, getkan_kata, - getkan_knj, getkan_ofs, getkan_norm, getkan_none -}; + getkan_norm, getkan_norm, getkan_hira, getkan_kata, + getkan_knj, getkan_ofs, getkan_norm, getkan_none, + getkan_norm, getkan_norm, getkan_hira, getkan_kata, + getkan_knj, getkan_ofs, getkan_norm, getkan_none}; IFuncSetj setjrec_func[] = { - setj_norm2, setj_norm2, setj_norm1, setj_norm1, - setj_knj, setj_ofs, setj_norm2, setj_atrb, - setj_norm2, setj_norm2, setj_norm1, setj_norm1, - setj_knj, setj_ofs, setj_norm2, setj_atrb -}; + setj_norm2, setj_norm2, setj_norm1, setj_norm1, + setj_knj, setj_ofs, setj_norm2, setj_atrb, + setj_norm2, setj_norm2, setj_norm1, setj_norm1, + setj_knj, setj_ofs, setj_norm2, setj_atrb}; IFuncHira hiraknj_func[] = { - hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask, - hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb, - hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask, - hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb -}; - + hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask, + hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb, + hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask, + hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb}; UCPFuncMK makekan_func[] = { - makekan_norm, makekan_norm, makekan_1byte, makekan_1byte, - makekan_knj, makekan_ofs, makekan_norm, makekan_none, - makekan_norm, makekan_norm, makekan_1byte, makekan_1byte, - makekan_knj, makekan_ofs, makekan_norm, makekan_none -}; + makekan_norm, makekan_norm, makekan_1byte, makekan_1byte, + makekan_knj, makekan_ofs, makekan_norm, makekan_none, + makekan_norm, makekan_norm, makekan_1byte, makekan_1byte, + makekan_knj, makekan_ofs, makekan_norm, makekan_none}; diff --git a/fuzoku.c b/fuzoku.c index 7a51bbb..876de1b 100644 --- a/fuzoku.c +++ b/fuzoku.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,60 +28,47 @@ */ /* - * $SonyRCSfile: fuzoku.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: fuzoku.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:47 $ */ - - - - #include "sj_kcnv.h" #include "sj_hinsi.h" #include "sj_right.h" #include "sj_yomi.h" +CLREC* argclrec(); +int terminate(); - -CLREC *argclrec(); -int terminate(); - - - -static int fzkstrcmp(yptr, fzkp, saml) -unsigned char *yptr; -unsigned char *fzkp; -int *saml; +static int fzkstrcmp(yptr, fzkp, saml) +unsigned char* yptr; +unsigned char* fzkp; +int* saml; { - int asklen, nkrlen; + int asklen, nkrlen; asklen = FzkAskLen(fzkp); - - if (*saml < asklen) return CONT; + if(*saml < asklen) return CONT; - - if (*saml > asklen) return OVER; + if(*saml > asklen) return OVER; - nkrlen = FzkNkrLen(fzkp); - yptr += asklen; - fzkp ++; + fzkp++; - - while (nkrlen--) { - if (*yptr > *fzkp) + while(nkrlen--) { + if(*yptr > *fzkp) return CONT; - else if (*yptr < *fzkp) { - if (!*yptr) return PARTLY; + else if(*yptr < *fzkp) { + if(!*yptr) return PARTLY; return OVER; } - else{ + else { yptr++; fzkp++; (*saml)++; @@ -91,204 +78,192 @@ int *saml; return MATCH; } - - -void setclrec(jrec, yptr, right) -JREC *jrec; -unsigned char *yptr; -TypeCnct right; +void setclrec(jrec, yptr, right) + JREC* jrec; +unsigned char* yptr; +TypeCnct right; { - CLREC *new; - TypeGram hinsi; - int len; + CLREC* new; + TypeGram hinsi; + int len; - - if (!(len = yptr - cnvstart)) return; + if(!(len = yptr - cnvstart)) return; - - if (len > MaxClInputLen) return; + if(len > MaxClInputLen) return; - - if (!(new = argclrec(len))) return; + if(!(new = argclrec(len))) return; - - new -> jnode = jrec; - new -> gobiln = gobilen; - new -> right = right; - new -> fzk_ka = fzk_ka_flg; - (jrec -> count)++; + new->jnode = jrec; + new->gobiln = gobilen; + new->right = right; + new->fzk_ka = fzk_ka_flg; + (jrec->count)++; - - hinsi = jrec -> hinsi; + hinsi = jrec->hinsi; - if (hinsi >= DO_SAHEN && hinsi <= SP_KA_ONB) - new -> kubun = K_DOUSHI; + if(hinsi >= DO_SAHEN && hinsi <= SP_KA_ONB) + new->kubun = K_DOUSHI; - else if ((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) || - (hinsi == SP_KEIYOUSI)){ + else if((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) || + (hinsi == SP_KEIYOUSI)) { if(right == R_FZKMEISI) - new -> kubun = K_TAIGEN; + new->kubun = K_TAIGEN; else - new -> kubun = K_YOUGEN; + new->kubun = K_YOUGEN; } - else if (hinsi == RENTAISI) - new -> kubun = K_RENTAISI; + else if(hinsi == RENTAISI) + new->kubun = K_RENTAISI; - else if ((hinsi >= FUKUSI_1 && hinsi <= FUKUSI_9) || - (hinsi == SP_FUKUSI)) - new -> kubun = K_FUKUSI; + else if((hinsi >= FUKUSI_1 && hinsi <= FUKUSI_9) || + (hinsi == SP_FUKUSI)) + new->kubun = K_FUKUSI; - else if (hinsi == SETUZOKU || hinsi==KANDOUSI || - hinsi == TANKANJI || hinsi==AISATU) - new -> kubun = K_SONOTA; + else if(hinsi == SETUZOKU || hinsi == KANDOUSI || + hinsi == TANKANJI || hinsi == AISATU) + new->kubun = K_SONOTA; - else if (gobilen) { - if (hinsi >= MEISI_5 && hinsi <= MEISI_7) - new -> kubun = K_DOUSHI; + else if(gobilen) { + if(hinsi >= MEISI_5 && hinsi <= MEISI_7) + new->kubun = K_DOUSHI; - else if (hinsi == D_MEISI_4) - new -> kubun = K_DOUSHI; + else if(hinsi == D_MEISI_4) + new->kubun = K_DOUSHI; - else if (hinsi == SETUBI_7 || hinsi == SETUBI_8) - new -> kubun = K_DOUSHI; + else if(hinsi == SETUBI_7 || hinsi == SETUBI_8) + new->kubun = K_DOUSHI; + else if(hinsi == D_MEISI_5) + new->kubun = K_YOUGEN; - else if (hinsi == D_MEISI_5) - new -> kubun = K_YOUGEN; - - else if (hinsi == SETUBI_5 || hinsi == SETUBI_6) - new -> kubun = K_YOUGEN; + else if(hinsi == SETUBI_5 || hinsi == SETUBI_6) + new->kubun = K_YOUGEN; else - new -> kubun = K_TAIGEN; - } - else if (hinsi >= MEISI_5 && hinsi <= MEISI_7) { - if (right >= R_I && right <= R_ITADAKE) - new -> kubun = K_DOUSHI; + new->kubun = K_TAIGEN; + } else if(hinsi >= MEISI_5 && hinsi <= MEISI_7) { + if(right >= R_I && right <= R_ITADAKE) + new->kubun = K_DOUSHI; - else if (right >= R_DESHI && right <= R_TAI) - new -> kubun = K_DOUSHI; + else if(right >= R_DESHI && right <= R_TAI) + new->kubun = K_DOUSHI; - else if (right >= R_NAI && right <= R_MEIREI2) - new -> kubun = K_DOUSHI; + else if(right >= R_NAI && right <= R_MEIREI2) + new->kubun = K_DOUSHI; - else if (right == R_TE2 || right == R_TERU) - new -> kubun = K_DOUSHI; + else if(right == R_TE2 || right == R_TERU) + new->kubun = K_DOUSHI; else - new -> kubun = K_TAIGEN; - } - else - new -> kubun = K_TAIGEN; + new->kubun = K_TAIGEN; + } else + new->kubun = K_TAIGEN; } -static int fzkcnct(right, left) -TypeCnct right; -TypeCnct left; +static int fzkcnct(right, left) +TypeCnct right; +TypeCnct left; { - unsigned char *cncttbl; + unsigned char* cncttbl; - if (right && left) { + if(right && left) { cncttbl = Rigtadr(right); left--; - if (cncttbl[left >> 3] << (left & 0x07) & 0x80) + if(cncttbl[left >> 3] << (left & 0x07) & 0x80) return TRUE; } return FALSE; } -void srchfzk(jrec, yptr, right, level) -JREC *jrec; -unsigned char *yptr; -TypeCnct right; -int level; +void srchfzk(jrec, yptr, right, level) + JREC* jrec; +unsigned char* yptr; +TypeCnct right; +int level; { - unsigned char *fzk; - int len = 0; - int cmp; - unsigned char *next; - FREC *fzkrec; - int i; - int nlen; - TypeCnct rt; + unsigned char* fzk; + int len = 0; + int cmp; + unsigned char* next; + FREC* fzkrec; + int i; + int nlen; + TypeCnct rt; - if ((level >= MAXFLVL) && !(Chrtbl[*yptr] & FZK_KGU)) return; - - if (terminate(right, yptr) && Chrtbl[*yptr] & FZK_KGU){ - if (!level) fzk_ka_flg = 0; + if((level >= MAXFLVL) && !(Chrtbl[*yptr] & FZK_KGU)) return; + + if(terminate(right, yptr) && Chrtbl[*yptr] & FZK_KGU) { + if(!level) fzk_ka_flg = 0; yptr++; - while (Chrtbl[*yptr] & FZK_KGU) yptr++; + while(Chrtbl[*yptr] & FZK_KGU) yptr++; setclrec(jrec, yptr, (TypeCnct)R_FZKKGU); return; } - if (right == R_CUT) return; - - if (!*yptr) return; - - if (!(*yptr >= _XA && *yptr <= _NN)) return; - + if(right == R_CUT) return; + + if(!*yptr) return; + + if(!(*yptr >= _XA && *yptr <= _NN)) return; + fzkrec = fzktbl; - - for (i = fzkcount ; i ; i--, fzkrec++) { - - if (yptr != fzkrec -> yomip) continue; - - fzk = fzkrec -> fzkp; - + + for(i = fzkcount; i; i--, fzkrec++) { + + if(yptr != fzkrec->yomip) continue; + + fzk = fzkrec->fzkp; + len = FzkAskLen(fzk) + (nlen = FzkNkrLen(fzk)) + 1; - - if (!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue; - - if (!level) fzk_ka_flg = FzkStrKa(fzk); - + + if(!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue; + + if(!level) fzk_ka_flg = FzkStrKa(fzk); + next = yptr + len; - - if (terminate(rt = FzkRight(fzk), next)) { + + if(terminate(rt = FzkRight(fzk), next)) { setclrec(jrec, next, rt); } - + srchfzk(jrec, next, rt, level + 1); } - if (len) return; + if(len) return; + + if(!(fzk = Fzkadr(*yptr - _XA))) return; - - if (!(fzk = Fzkadr(*yptr - _XA))) return; - yptr++; - - for ( ; *fzk != FZKEND ; fzk += nlen + (i ? 4 : 3)) { - nlen = FzkNkrLen(fzk); - i = FzkHasCode(fzk); + for(; *fzk != FZKEND; fzk += nlen + (i ? 4 : 3)) { + + nlen = FzkNkrLen(fzk); + i = FzkHasCode(fzk); cmp = fzkstrcmp(yptr, fzk, &len); - if (cmp == OVER) + if(cmp == OVER) break; - else if (cmp == PARTLY) + else if(cmp == PARTLY) break; - else if ((cmp != MATCH) || isdpnd(*(yptr + len))) + else if((cmp != MATCH) || isdpnd(*(yptr + len))) continue; - - fzktbl[fzkcount].yomip = yptr - 1; - fzktbl[fzkcount].fzkp = fzk; + fzktbl[fzkcount].yomip = yptr - 1; + fzktbl[fzkcount].fzkp = fzk; fzkcount++; - if (!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue; + if(!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue; + + if(!level) fzk_ka_flg = FzkStrKa(fzk); - if (!level) fzk_ka_flg = FzkStrKa(fzk); - next = yptr + len; - - if (terminate(rt = FzkRight(fzk), next)) { + + if(terminate(rt = FzkRight(fzk), next)) { setclrec(jrec, next, rt); } - + srchfzk(jrec, next, rt, level + 1); } } diff --git a/fzkyomi.c b/fzkyomi.c index 6780843..063f52c 100644 --- a/fzkyomi.c +++ b/fzkyomi.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: fzkyomi.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: fzkyomi.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:48 $ */ - - #include "const.h" #include "sj_rename.h" #include "sj_typedef.h" @@ -42,733 +40,675 @@ #include "sj_right.h" #include "sj_left.h" -static unsigned char fzk_wo[] = { -(0<<5)+0, L_WO, R_WO, -(0<<5)+0, L_WO_S, R_WO_S, -0xff -}; +static unsigned char fzk_wo[] = { + (0 << 5) + 0, L_WO, R_WO, + (0 << 5) + 0, L_WO_S, R_WO_S, + 0xff}; -static unsigned char fzk_xtu[] = { -(0<<5) + 1, _KE, L_KKE, R_SHUUJO, -(0<<5) + 3, _TA,_XTU,_TE, L_TTATTE, R_TTATTE, -(1<<5) + 1, _RA, L_TTARA, R_TTARA, -(2<<5) + 2, _SI, _I, L_TTARASII, R_KSHUUSI, -(3<<5) + 2, _KA, _XTU, L_TTARASII, R_ONBIN1, -(4<<5) + 2, _RO, _U, L_TTARASII, R_KAROU, -(3<<5) + 1, _KU, L_TTARASII, R_KRENYOU, -(3<<5) + 2, _KE, _RE, L_TTARASII, R_KATEI1, -(3<<5) + 1, _SA, L_TTARASII, R_FZKMEISI, -(0<<5) + 1, _TE, L_TTE1, R_TTE1, -(1<<5) + 0, L_TTE2, R_TTE2, -(0<<5) + 3, _PA,_NA,_SI, L_PPANASI, R_PPANASI, -(0<<5) + 2, _PO,_I, L_PPOI, R_PPOI, -(1<<5) + 2, _KA,_XTU, L_PPOI, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_PPOI, R_KAROU, -(1<<5) + 1, _KU, L_PPOI, R_KRENYOU, -(1<<5) + 2, _KE,_RE, L_PPOI, R_KATEI1, -0xff -}; +static unsigned char fzk_xtu[] = { + (0 << 5) + 1, _KE, L_KKE, R_SHUUJO, + (0 << 5) + 3, _TA, _XTU, _TE, L_TTATTE, R_TTATTE, + (1 << 5) + 1, _RA, L_TTARA, R_TTARA, + (2 << 5) + 2, _SI, _I, L_TTARASII, R_KSHUUSI, + (3 << 5) + 2, _KA, _XTU, L_TTARASII, R_ONBIN1, + (4 << 5) + 2, _RO, _U, L_TTARASII, R_KAROU, + (3 << 5) + 1, _KU, L_TTARASII, R_KRENYOU, + (3 << 5) + 2, _KE, _RE, L_TTARASII, R_KATEI1, + (3 << 5) + 1, _SA, L_TTARASII, R_FZKMEISI, + (0 << 5) + 1, _TE, L_TTE1, R_TTE1, + (1 << 5) + 0, L_TTE2, R_TTE2, + (0 << 5) + 3, _PA, _NA, _SI, L_PPANASI, R_PPANASI, + (0 << 5) + 2, _PO, _I, L_PPOI, R_PPOI, + (1 << 5) + 2, _KA, _XTU, L_PPOI, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_PPOI, R_KAROU, + (1 << 5) + 1, _KU, L_PPOI, R_KRENYOU, + (1 << 5) + 2, _KE, _RE, L_PPOI, R_KATEI1, + 0xff}; -static unsigned char fzk_a[] = { -(0<<5) + 1, _GE, L_YOUGEN, R_AGE, -(1<<5) + 1, _YO, L_YOUGEN, R_MEIREI2, -(1<<5) + 1, _RU, L_YOUGEN, R_SHUUSI, -(1<<5) + 1, _RE, L_YOUGEN, R_KATEI3, -(1<<5) + 1, _RO, L_YOUGEN, R_MEIREI1, -(0<<5) + 1, _XTU, L_ARU, R_AXTU, -(0<<5) + 1, _RA, L_ARA, R_MIZEN2, -(0<<5) + 1, _RI, L_ARI1, R_ARI1, -(1<<5) + 0, L_ARI2, R_ARI2, -(1<<5) + 0, L_ARI3, R_ARI3, -(0<<5) + 1, _RU, L_ARU, R_SHUUSI, -(0<<5) + 1, _RE, L_ARE1, R_KAMEI, -(1<<5) + 0, L_ARE2, R_KATEI2, -(1<<5) + 3, _BA,_KO,_SO, L_ARE1, R_CUT, -(0<<5) + 2, _RO,_U, L_AROU, R_AROU, -0xff -}; +static unsigned char fzk_a[] = { + (0 << 5) + 1, _GE, L_YOUGEN, R_AGE, + (1 << 5) + 1, _YO, L_YOUGEN, R_MEIREI2, + (1 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI, + (1 << 5) + 1, _RE, L_YOUGEN, R_KATEI3, + (1 << 5) + 1, _RO, L_YOUGEN, R_MEIREI1, + (0 << 5) + 1, _XTU, L_ARU, R_AXTU, + (0 << 5) + 1, _RA, L_ARA, R_MIZEN2, + (0 << 5) + 1, _RI, L_ARI1, R_ARI1, + (1 << 5) + 0, L_ARI2, R_ARI2, + (1 << 5) + 0, L_ARI3, R_ARI3, + (0 << 5) + 1, _RU, L_ARU, R_SHUUSI, + (0 << 5) + 1, _RE, L_ARE1, R_KAMEI, + (1 << 5) + 0, L_ARE2, R_KATEI2, + (1 << 5) + 3, _BA, _KO, _SO, L_ARE1, R_CUT, + (0 << 5) + 2, _RO, _U, L_AROU, R_AROU, + 0xff}; -static unsigned char fzk_i[] = { -(0<<5) + 0, L_IRU, R_I, -(0<<5) + 1, _I, L_II, R_SHUUSI, -(0<<5) + 1, _KA, L_YOUGEN, R_MIZEN5, -(0<<5) + 1, _KI, L_YOUGEN, R_IKI, -(0<<5) + 1, _KU, L_YOUGEN, R_SHUUSI, -(0<<5) + 1, _KE, L_YOUGEN, R_IKE, -(0<<5) + 2, _KO,_U, L_YOUGEN, R_AROU, -(0<<5) + 2, _TA,_SI, L_ITASI, R_ITASI, -(1<<5) + 2, _DA,_I, L_ITADAKU, R_ONBIN2, -(2<<5) + 1, _KA, L_ITADAKU, R_MIZEN4, -(2<<5) + 1, _KI, L_ITADAKU, R_ITADAKI, -(2<<5) + 1, _KU, L_ITADAKU, R_SHUUSI, -(2<<5) + 1, _KE, L_ITADAKU, R_ITADAKE, -(2<<5) + 2, _KO,_U, L_ITADAKU, R_AROU, -(0<<5) + 1, _XTU, L_YOUGEN, R_ONBIN8, -(0<<5) + 1, _YO, L_IRU, R_MEIREI2, -(0<<5) + 1, _RU, L_IRU, R_SHUUSI, -(0<<5) + 1, _RE, L_IRU, R_KATEI2, -(0<<5) + 1, _RO, L_IRU, R_MEIREI1, -0xff -}; +static unsigned char fzk_i[] = { + (0 << 5) + 0, L_IRU, R_I, + (0 << 5) + 1, _I, L_II, R_SHUUSI, + (0 << 5) + 1, _KA, L_YOUGEN, R_MIZEN5, + (0 << 5) + 1, _KI, L_YOUGEN, R_IKI, + (0 << 5) + 1, _KU, L_YOUGEN, R_SHUUSI, + (0 << 5) + 1, _KE, L_YOUGEN, R_IKE, + (0 << 5) + 2, _KO, _U, L_YOUGEN, R_AROU, + (0 << 5) + 2, _TA, _SI, L_ITASI, R_ITASI, + (1 << 5) + 2, _DA, _I, L_ITADAKU, R_ONBIN2, + (2 << 5) + 1, _KA, L_ITADAKU, R_MIZEN4, + (2 << 5) + 1, _KI, L_ITADAKU, R_ITADAKI, + (2 << 5) + 1, _KU, L_ITADAKU, R_SHUUSI, + (2 << 5) + 1, _KE, L_ITADAKU, R_ITADAKE, + (2 << 5) + 2, _KO, _U, L_ITADAKU, R_AROU, + (0 << 5) + 1, _XTU, L_YOUGEN, R_ONBIN8, + (0 << 5) + 1, _YO, L_IRU, R_MEIREI2, + (0 << 5) + 1, _RU, L_IRU, R_SHUUSI, + (0 << 5) + 1, _RE, L_IRU, R_KATEI2, + (0 << 5) + 1, _RO, L_IRU, R_MEIREI1, + 0xff}; -static unsigned char fzk_u[] = { -(0<<5) + 1, _E, L_UE, R_UE, -(0<<5) + 1, _TI, L_UTI, R_UTI, -(0<<5) + 1, _RU, L_ERU, R_SHUUSI, -0xff -}; +static unsigned char fzk_u[] = { + (0 << 5) + 1, _E, L_UE, R_UE, + (0 << 5) + 1, _TI, L_UTI, R_UTI, + (0 << 5) + 1, _RU, L_ERU, R_SHUUSI, + 0xff}; -static unsigned char fzk_e[] = { -(0<<5) + 0, L_ERU, R_E, -(0<<5) + 1, _RU, L_ERU, R_SHUUSI, -(0<<5) + 1, _RE, L_ERU, R_KATEI3, -0xff -}; +static unsigned char fzk_e[] = { + (0 << 5) + 0, L_ERU, R_E, + (0 << 5) + 1, _RU, L_ERU, R_SHUUSI, + (0 << 5) + 1, _RE, L_ERU, R_KATEI3, + 0xff}; -static unsigned char fzk_o[] = { -(0<<5) + 1, _I, L_YOUGEN, R_ONBIN8, -(1<<5) + 1, _TE, L_OITE, R_OITE, -(0<<5) + 1, _KA, L_YOUGEN, R_MIZEN5, -(0<<5) + 1, _KI, L_YOUGEN, R_IKI, -(0<<5) + 1, _KU, L_YOUGEN, R_SHUUSI, -(0<<5) + 1, _KE, L_YOUGEN, R_IKE, -(1<<5) + 1, _RU, L_OKERU, R_OKERU, -(0<<5) + 2, _KO,_U, L_YOUGEN, R_AROU, -(0<<5) + 1, _RA, L_YOUGEN, R_MIZEN2, -(0<<5) + 1, _RI, L_ORI, R_ORI1, -(1<<5) + 0, L_YOUGEN, R_ORI2, -(0<<5) + 1, _RE, L_YOUGEN, R_KAMEI, -0xff -}; +static unsigned char fzk_o[] = { + (0 << 5) + 1, _I, L_YOUGEN, R_ONBIN8, + (1 << 5) + 1, _TE, L_OITE, R_OITE, + (0 << 5) + 1, _KA, L_YOUGEN, R_MIZEN5, + (0 << 5) + 1, _KI, L_YOUGEN, R_IKI, + (0 << 5) + 1, _KU, L_YOUGEN, R_SHUUSI, + (0 << 5) + 1, _KE, L_YOUGEN, R_IKE, + (1 << 5) + 1, _RU, L_OKERU, R_OKERU, + (0 << 5) + 2, _KO, _U, L_YOUGEN, R_AROU, + (0 << 5) + 1, _RA, L_YOUGEN, R_MIZEN2, + (0 << 5) + 1, _RI, L_ORI, R_ORI1, + (1 << 5) + 0, L_YOUGEN, R_ORI2, + (0 << 5) + 1, _RE, L_YOUGEN, R_KAMEI, + 0xff}; -static unsigned char fzk_ka[] = { -(0<<5) + 0 + 8, L_KA1, R_KA1, -(0<<5) + 0 + 8, L_KA2, R_KA2, -(0<<5) + 1, _I, L_KAI, R_SHUUJO, -(0<<5) + 1, _KE, L_KAKERU, R_KAKE, -(1<<5) + 1, _RU, L_KAKERU, R_SHUUSI, -(1<<5) + 1, _RE, L_KAKERU, R_KATEI3, -(0<<5) + 2, _SI,_RA, L_KASIRA, R_SHUUJO, -(2<<5) + 1, _NE, L_KASIRA, R_SHUUJO, -(0<<5) + 3, _TA,_GA,_TA, L_KATAGATA,R_KATAGATA, -(0<<5) + 3, _DO,_U,_KA, L_KADOUKA, R_KADOUKA, -(0<<5) + 1, _NA, L_KANA, R_SHUUJO, -(0<<5) + 1, _NE, L_KANE, R_SHUUJO, -(1<<5) + 0, L_KANERU, R_KANE2, -(1<<5) + 1, _RU, L_KANERU, R_SHUUSI, -(1<<5) + 1, _RE, L_KANERU, R_KATEI3, -(0<<5) + 3, _MA,_TA,_HA, L_KA1, R_CUT, -(0<<5) + 1, _MO, L_KAMO, R_KAMO, -(0<<5) + 1, _RA, L_KARA1, R_KARA1, -(1<<5) + 0, L_KARA2, R_KARA2, -(1<<5) + 1, _ZU, L_KARAZU, R_ZU, -(1<<5) + 1, _NU, L_KARAZU, R_NU, -0xff -}; +static unsigned char fzk_ka[] = { + (0 << 5) + 0 + 8, L_KA1, R_KA1, + (0 << 5) + 0 + 8, L_KA2, R_KA2, + (0 << 5) + 1, _I, L_KAI, R_SHUUJO, + (0 << 5) + 1, _KE, L_KAKERU, R_KAKE, + (1 << 5) + 1, _RU, L_KAKERU, R_SHUUSI, + (1 << 5) + 1, _RE, L_KAKERU, R_KATEI3, + (0 << 5) + 2, _SI, _RA, L_KASIRA, R_SHUUJO, + (2 << 5) + 1, _NE, L_KASIRA, R_SHUUJO, + (0 << 5) + 3, _TA, _GA, _TA, L_KATAGATA, R_KATAGATA, + (0 << 5) + 3, _DO, _U, _KA, L_KADOUKA, R_KADOUKA, + (0 << 5) + 1, _NA, L_KANA, R_SHUUJO, + (0 << 5) + 1, _NE, L_KANE, R_SHUUJO, + (1 << 5) + 0, L_KANERU, R_KANE2, + (1 << 5) + 1, _RU, L_KANERU, R_SHUUSI, + (1 << 5) + 1, _RE, L_KANERU, R_KATEI3, + (0 << 5) + 3, _MA, _TA, _HA, L_KA1, R_CUT, + (0 << 5) + 1, _MO, L_KAMO, R_KAMO, + (0 << 5) + 1, _RA, L_KARA1, R_KARA1, + (1 << 5) + 0, L_KARA2, R_KARA2, + (1 << 5) + 1, _ZU, L_KARAZU, R_ZU, + (1 << 5) + 1, _NU, L_KARAZU, R_NU, + 0xff}; -static unsigned char fzk_ga[] = { -(0<<5) + 0, L_GA1, R_GA1, -(0<<5) + 0, L_GA2, R_GA2, -(0<<5) + 2, _TA,_I, L_GATAI, R_KSHUUSI, -(1<<5) + 2, _KA,_XTU, L_GATAI, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_GATAI, R_KAROU, -(1<<5) + 1, _KU, L_GATAI, R_GATAKU, -(1<<5) + 2, _KE,_RE, L_GATAI, R_KATEI2, -(0<<5) + 1, _TI, L_GATIDA, R_GATI, -(1<<5) + 1, _DA, L_GATIDA, R_DSHUUSI1, -(2<<5) + 1, _XTU, L_GATIDA, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_GATIDA, R_DAROU, -(1<<5) + 1, _DE, L_GATIDA, R_DRENYOU1, -(1<<5) + 1, _NA, L_GATIDA, R_DRENTAI1, -(2<<5) + 1, _RA, L_GATIDA, R_KATEI1, -(1<<5) + 1, _NI, L_GATIDA, R_DRENYOU2, -(0<<5) + 2, _TE,_RA, L_GATERA, R_GATERA, -0xff -}; +static unsigned char fzk_ga[] = { + (0 << 5) + 0, L_GA1, R_GA1, + (0 << 5) + 0, L_GA2, R_GA2, + (0 << 5) + 2, _TA, _I, L_GATAI, R_KSHUUSI, + (1 << 5) + 2, _KA, _XTU, L_GATAI, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_GATAI, R_KAROU, + (1 << 5) + 1, _KU, L_GATAI, R_GATAKU, + (1 << 5) + 2, _KE, _RE, L_GATAI, R_KATEI2, + (0 << 5) + 1, _TI, L_GATIDA, R_GATI, + (1 << 5) + 1, _DA, L_GATIDA, R_DSHUUSI1, + (2 << 5) + 1, _XTU, L_GATIDA, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_GATIDA, R_DAROU, + (1 << 5) + 1, _DE, L_GATIDA, R_DRENYOU1, + (1 << 5) + 1, _NA, L_GATIDA, R_DRENTAI1, + (2 << 5) + 1, _RA, L_GATIDA, R_KATEI1, + (1 << 5) + 1, _NI, L_GATIDA, R_DRENYOU2, + (0 << 5) + 2, _TE, _RA, L_GATERA, R_GATERA, + 0xff}; -static unsigned char fzk_ki[] = { -(0<<5) + 0, L_YOUGEN, R_FZKKI, -(0<<5) + 1, _RI, L_KIRI, R_KIRI, -0xff -}; +static unsigned char fzk_ki[] = { + (0 << 5) + 0, L_YOUGEN, R_FZKKI, + (0 << 5) + 1, _RI, L_KIRI, R_KIRI, + 0xff}; -static unsigned char fzk_ku[] = { -(0<<5) + 2, _SE,_NI, L_KUSENI, R_KUSENI, -(0<<5) + 3, _DA,_SA,_I, L_KUDASARU, R_KUDASAI, -(2<<5) + 1, _XTU, L_KUDASARU, R_ONBIN6, -(2<<5) + 1, _RA, L_KUDASARU, R_MIZEN4, -(2<<5) + 1, _RI, L_KUDASARU, R_ITADAKI, -(2<<5) + 1, _RU, L_KUDASARU, R_SHUUSI, -(2<<5) + 1, _RE, L_KUDASARU, R_KATEI3, -(0<<5) + 2, _RA,_I, L_KURAI, R_KURAI, -(0<<5) + 1, _RU, L_YOUGEN, R_SHUUSI, -(0<<5) + 1, _RE, L_YOUGEN, R_KURE, -(1<<5) + 1, _RU, L_YOUGEN, R_SHUUSI, -(1<<5) + 1, _RE, L_YOUGEN, R_KATEI3, -0xff -}; +static unsigned char fzk_ku[] = { + (0 << 5) + 2, _SE, _NI, L_KUSENI, R_KUSENI, + (0 << 5) + 3, _DA, _SA, _I, L_KUDASARU, R_KUDASAI, + (2 << 5) + 1, _XTU, L_KUDASARU, R_ONBIN6, + (2 << 5) + 1, _RA, L_KUDASARU, R_MIZEN4, + (2 << 5) + 1, _RI, L_KUDASARU, R_ITADAKI, + (2 << 5) + 1, _RU, L_KUDASARU, R_SHUUSI, + (2 << 5) + 1, _RE, L_KUDASARU, R_KATEI3, + (0 << 5) + 2, _RA, _I, L_KURAI, R_KURAI, + (0 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI, + (0 << 5) + 1, _RE, L_YOUGEN, R_KURE, + (1 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI, + (1 << 5) + 1, _RE, L_YOUGEN, R_KATEI3, + 0xff}; -static unsigned char fzk_gu[] = { -(0<<5) + 2, _RA,_I, L_KURAI, R_KURAI, -(0<<5) + 2, _RU,_MI, L_GURUMI, R_GURUMI, -0xff -}; +static unsigned char fzk_gu[] = { + (0 << 5) + 2, _RA, _I, L_KURAI, R_KURAI, + (0 << 5) + 2, _RU, _MI, L_GURUMI, R_GURUMI, + 0xff}; -static unsigned char fzk_ke[] = { -(0<<5) + 1, _DO, L_KEDO, R_KEDO, -(1<<5) + 1, _MO, L_KEDO, R_KEDO, -(0<<5) + 2, _RE,_DO, L_KEDO, R_KEDO, -(2<<5) + 1, _MO, L_KEDO, R_KEDO, -0xff -}; +static unsigned char fzk_ke[] = { + (0 << 5) + 1, _DO, L_KEDO, R_KEDO, + (1 << 5) + 1, _MO, L_KEDO, R_KEDO, + (0 << 5) + 2, _RE, _DO, L_KEDO, R_KEDO, + (2 << 5) + 1, _MO, L_KEDO, R_KEDO, + 0xff}; -static unsigned char fzk_ko[] = { -(0<<5) + 0, L_YOUGEN, R_KO, -(0<<5) + 1, _I, L_YOUGEN, R_MEIREI1, -(0<<5) + 1, _SO, L_KOSO, R_KOSO, -(0<<5) + 1, _TO, L_KOTO, R_KOTO, -0xff -}; +static unsigned char fzk_ko[] = { + (0 << 5) + 0, L_YOUGEN, R_KO, + (0 << 5) + 1, _I, L_YOUGEN, R_MEIREI1, + (0 << 5) + 1, _SO, L_KOSO, R_KOSO, + (0 << 5) + 1, _TO, L_KOTO, R_KOTO, + 0xff}; -static unsigned char fzk_go[] = { -(0<<5) + 2, _ZA,_I, L_GOZAI, R_GOZAI, -(0<<5) + 2, _TO,_KI, L_GOTOSI, R_GOTOKI, -(1<<5) + 1, _KU, L_GOTOSI, R_GOTOKU, -(1<<5) + 1, _SI, L_GOTOSI, R_GOTOSI, -0xff -}; +static unsigned char fzk_go[] = { + (0 << 5) + 2, _ZA, _I, L_GOZAI, R_GOZAI, + (0 << 5) + 2, _TO, _KI, L_GOTOSI, R_GOTOKI, + (1 << 5) + 1, _KU, L_GOTOSI, R_GOTOKU, + (1 << 5) + 1, _SI, L_GOTOSI, R_GOTOSI, + 0xff}; -static unsigned char fzk_sa[] = { -(0<<5) + 0, L_SA1, R_MIZEN1, -(0<<5) + 0, L_SA2, R_SHUUJO, -(0<<5) + 1, _E, L_SAE, R_SAE, -(0<<5) + 1, _SE, L_SASERU, R_SASE, -(1<<5) + 1, _YO, L_SASERU, R_MEIREI2, -(1<<5) + 1, _RU, L_SASERU, R_SHUUSI, -(1<<5) + 1, _RE, L_SASERU, R_KATEI2, -(1<<5) + 1, _RO, L_SASERU, R_MEIREI1, -0xff -}; +static unsigned char fzk_sa[] = { + (0 << 5) + 0, L_SA1, R_MIZEN1, + (0 << 5) + 0, L_SA2, R_SHUUJO, + (0 << 5) + 1, _E, L_SAE, R_SAE, + (0 << 5) + 1, _SE, L_SASERU, R_SASE, + (1 << 5) + 1, _YO, L_SASERU, R_MEIREI2, + (1 << 5) + 1, _RU, L_SASERU, R_SHUUSI, + (1 << 5) + 1, _RE, L_SASERU, R_KATEI2, + (1 << 5) + 1, _RO, L_SASERU, R_MEIREI1, + 0xff}; -static unsigned char fzk_za[] = { -(0<<5) + 1, _RU, L_ZARU, R_ZARU, -(0<<5) + 1, _RE, L_ZARU, R_KATEI2, -0xff -}; +static unsigned char fzk_za[] = { + (0 << 5) + 1, _RU, L_ZARU, R_ZARU, + (0 << 5) + 1, _RE, L_ZARU, R_KATEI2, + 0xff}; -static unsigned char fzk_si[] = { -(0<<5) + 0, L_SI1, R_SI1, -(0<<5) + 0, L_SI2, R_SI2, -(0<<5) + 0, L_N_SI, R_N_SI, -(0<<5) + 1, _KA, L_SIKA, R_SIKA, -(0<<5) + 1, _TE, L_SITE, R_SITE, -(0<<5) + 2, _MA,_I, L_YOUGEN, R_IKI, -(1<<5) + 1, _U, L_YOUGEN, R_SHUUSI, -(1<<5) + 1, _E, L_YOUGEN, R_IKE, -(1<<5) + 2, _O,_U, L_YOUGEN, R_AROU, -(1<<5) + 1, _XTU, L_YOUGEN, R_ONBIN6, -(1<<5) + 1, _WA, L_YOUGEN, R_MIZEN5, -(0<<5) + 1, _RO, L_SIRO, R_MEIREI1, -0xff -}; +static unsigned char fzk_si[] = { + (0 << 5) + 0, L_SI1, R_SI1, + (0 << 5) + 0, L_SI2, R_SI2, + (0 << 5) + 0, L_N_SI, R_N_SI, + (0 << 5) + 1, _KA, L_SIKA, R_SIKA, + (0 << 5) + 1, _TE, L_SITE, R_SITE, + (0 << 5) + 2, _MA, _I, L_YOUGEN, R_IKI, + (1 << 5) + 1, _U, L_YOUGEN, R_SHUUSI, + (1 << 5) + 1, _E, L_YOUGEN, R_IKE, + (1 << 5) + 2, _O, _U, L_YOUGEN, R_AROU, + (1 << 5) + 1, _XTU, L_YOUGEN, R_ONBIN6, + (1 << 5) + 1, _WA, L_YOUGEN, R_MIZEN5, + (0 << 5) + 1, _RO, L_SIRO, R_MEIREI1, + 0xff}; -static unsigned char fzk_ji[] = { -(0<<5) + 2, _MA,_I, L_JIMAU, R_IKI, -(1<<5) + 1, _U, L_JIMAU, R_SHUUSI, -(1<<5) + 1, _E, L_JIMAU, R_IKE, -(1<<5) + 2, _O,_U, L_JIMAU, R_AROU, -(1<<5) + 1, _XTU, L_JIMAU, R_ONBIN6, -(1<<5) + 1, _WA, L_JIMAU, R_MIZEN5, -(0<<5) + 1, _XYA, L_JYA, R_JYA, -(1<<5) + 1, _I, L_JYAU, R_IKI, -(1<<5) + 1, _U, L_JYAU, R_SHUUSI, -(1<<5) + 1, _E, L_JYAU, R_IKE, -(1<<5) + 2, _O,_U, L_JYAU, R_AROU, -(1<<5) + 1, _XTU, L_JYAU, R_ONBIN6, -(1<<5) + 1, _WA, L_JYAU, R_MIZEN5, -0xff -}; +static unsigned char fzk_ji[] = { + (0 << 5) + 2, _MA, _I, L_JIMAU, R_IKI, + (1 << 5) + 1, _U, L_JIMAU, R_SHUUSI, + (1 << 5) + 1, _E, L_JIMAU, R_IKE, + (1 << 5) + 2, _O, _U, L_JIMAU, R_AROU, + (1 << 5) + 1, _XTU, L_JIMAU, R_ONBIN6, + (1 << 5) + 1, _WA, L_JIMAU, R_MIZEN5, + (0 << 5) + 1, _XYA, L_JYA, R_JYA, + (1 << 5) + 1, _I, L_JYAU, R_IKI, + (1 << 5) + 1, _U, L_JYAU, R_SHUUSI, + (1 << 5) + 1, _E, L_JYAU, R_IKE, + (1 << 5) + 2, _O, _U, L_JYAU, R_AROU, + (1 << 5) + 1, _XTU, L_JYAU, R_ONBIN6, + (1 << 5) + 1, _WA, L_JYAU, R_MIZEN5, + 0xff}; -static unsigned char fzk_su[] = { -(0<<5) + 1, _GI, L_SUGIRU, R_SUGI, -(1<<5) + 1, _RU, L_SUGIRU, R_SHUUSI, -(1<<5) + 1, _RE, L_SUGIRU, R_KATEI2, -(0<<5) + 3, _BE,_KA,_RA, L_SUBESI, R_BEKARA, -(1<<5) + 1, _KI, L_SUBESI, R_BEKI, -(1<<5) + 1, _KU, L_SUBESI, R_BEKU, -(1<<5) + 1, _SI, L_SUBESI, R_BESI, -(0<<5) + 1, _RA, L_SURA, R_SURA, -(0<<5) + 1, _RU, L_SURU, R_SHUUSI, -(0<<5) + 1, _RE, L_SURE, R_KATEI2, -0xff -}; +static unsigned char fzk_su[] = { + (0 << 5) + 1, _GI, L_SUGIRU, R_SUGI, + (1 << 5) + 1, _RU, L_SUGIRU, R_SHUUSI, + (1 << 5) + 1, _RE, L_SUGIRU, R_KATEI2, + (0 << 5) + 3, _BE, _KA, _RA, L_SUBESI, R_BEKARA, + (1 << 5) + 1, _KI, L_SUBESI, R_BEKI, + (1 << 5) + 1, _KU, L_SUBESI, R_BEKU, + (1 << 5) + 1, _SI, L_SUBESI, R_BESI, + (0 << 5) + 1, _RA, L_SURA, R_SURA, + (0 << 5) + 1, _RU, L_SURU, R_SHUUSI, + (0 << 5) + 1, _RE, L_SURE, R_KATEI2, + 0xff}; -static unsigned char fzk_zu[] = { -(0<<5) + 0, L_ZU, R_ZU, -(0<<5) + 1, _TU, L_ZUTU, R_ZUTU, -(0<<5) + 2, _NI,_I, L_ZU, R_I, -(2<<5) + 1, _RU, L_ZU, R_SHUUSI, -(0<<5) + 2, _NN,_BA, L_ZUNBA, R_CUT, -0xff - }; +static unsigned char fzk_zu[] = { + (0 << 5) + 0, L_ZU, R_ZU, + (0 << 5) + 1, _TU, L_ZUTU, R_ZUTU, + (0 << 5) + 2, _NI, _I, L_ZU, R_I, + (2 << 5) + 1, _RU, L_ZU, R_SHUUSI, + (0 << 5) + 2, _NN, _BA, L_ZUNBA, R_CUT, + 0xff}; -static unsigned char fzk_se[] = { -(0<<5) + 0, L_SE, R_MIZEN2, -(0<<5) + 0, L_SERU, R_SASE, -(0<<5) + 1, _YO, L_SEYO, R_MEIREI2, -(1<<5) + 0, L_SERU, R_MEIREI2, -(0<<5) + 1, _RU, L_SERU, R_SHUUSI, -(0<<5) + 1, _RE, L_SERU, R_KATEI2, -(0<<5) + 1, _RO, L_SERU, R_MEIREI1, -0xff -}; +static unsigned char fzk_se[] = { + (0 << 5) + 0, L_SE, R_MIZEN2, + (0 << 5) + 0, L_SERU, R_SASE, + (0 << 5) + 1, _YO, L_SEYO, R_MEIREI2, + (1 << 5) + 0, L_SERU, R_MEIREI2, + (0 << 5) + 1, _RU, L_SERU, R_SHUUSI, + (0 << 5) + 1, _RE, L_SERU, R_KATEI2, + (0 << 5) + 1, _RO, L_SERU, R_MEIREI1, + 0xff}; -static unsigned char fzk_ze[] = { -(0<<5) + 0, L_ZE, R_SHUUJO, -0xff -}; +static unsigned char fzk_ze[] = { + (0 << 5) + 0, L_ZE, R_SHUUJO, + 0xff}; -static unsigned char fzk_so[] = { -(0<<5) + 1, _U, L_SOUDA, R_SOU, -(1<<5) + 1, _DA, L_SOUDA, R_SOUDA, -(2<<5) + 1, _XTU, L_YOUTAI, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_YOUTAI, R_DAROU, -(1<<5) + 1, _DE, L_SOUDA, R_SOUDE, -(2<<5) + 1, _SI, L_SOUDA, R_DESHI, -(3<<5) + 1, _XYO, L_YOUTAI, R_SHO, -(4<<5) + 1, _U, L_YOUTAI, R_DESHOU, -(2<<5) + 1, _SU, L_SOUDA, R_SOUDESU, -(1<<5) + 1, _NA, L_DENBUN, R_SOUNA1, -(2<<5) + 0, L_YOUTAI, R_SOUNA2, -(2<<5) + 1, _RA, L_SOUDA, R_KATEI1, -(1<<5) + 1, _NI, L_YOUTAI, R_SOUNI, -0xff -}; +static unsigned char fzk_so[] = { + (0 << 5) + 1, _U, L_SOUDA, R_SOU, + (1 << 5) + 1, _DA, L_SOUDA, R_SOUDA, + (2 << 5) + 1, _XTU, L_YOUTAI, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_YOUTAI, R_DAROU, + (1 << 5) + 1, _DE, L_SOUDA, R_SOUDE, + (2 << 5) + 1, _SI, L_SOUDA, R_DESHI, + (3 << 5) + 1, _XYO, L_YOUTAI, R_SHO, + (4 << 5) + 1, _U, L_YOUTAI, R_DESHOU, + (2 << 5) + 1, _SU, L_SOUDA, R_SOUDESU, + (1 << 5) + 1, _NA, L_DENBUN, R_SOUNA1, + (2 << 5) + 0, L_YOUTAI, R_SOUNA2, + (2 << 5) + 1, _RA, L_SOUDA, R_KATEI1, + (1 << 5) + 1, _NI, L_YOUTAI, R_SOUNI, + 0xff}; -static unsigned char fzk_zo[] = { -(0<<5) + 0, L_ZO, R_SHUUJO, -0xff -}; +static unsigned char fzk_zo[] = { + (0 << 5) + 0, L_ZO, R_SHUUJO, + 0xff}; -static unsigned char fzk_ta[] = { -(0<<5) + 0, L_TA, R_TA, -(0<<5) + 1, _I, L_TAI, R_TAI, -(0<<5) + 2, _KA,_XTU, L_TAI, R_ONBIN1, -(1<<5) + 2, _RO,_U, L_TAI, R_KAROU, -(0<<5) + 2, _GA,_XTU, L_TAGARU, R_ONBIN6, -(1<<5) + 1, _RA, L_TAGARU, R_TAGARA, -(1<<5) + 1, _RI, L_TAGARU, R_TAGARI, -(1<<5) + 1, _RU, L_TAGARU, R_SHUUSI, -(1<<5) + 1, _RE, L_TAGARU, R_KATEI3, -(1<<5) + 2, _RO,_U, L_TAGARU, R_KAROU, -(0<<5) + 1, _KU, L_TAI, R_TAKU, -(0<<5) + 2, _KE,_RE, L_TAI, R_KATEI3, -(0<<5) + 2, _MA,_I, L_TAMAU, R_IKI, -(1<<5) + 1, _U, L_TAMAU, R_SHUUSI, -(1<<5) + 1, _E, L_TAMAU, R_KAMEI, -(1<<5) + 1, _XTU, L_TAMAU, R_ONBIN6, -(1<<5) + 1, _WA, L_TAMAU, R_MIZEN5, -(0<<5) + 1, _ME, L_TAME, R_TAME, -(0<<5) + 1, _RA, L_TA, R_KATEI1, -(0<<5) + 1, _RI, L_TA, R_TARI, -(0<<5) + 1, _RU, L_TARU, R_CUT, -(0<<5) + 2, _RO,_U, L_TA, R_KAROU, -0xff -}; +static unsigned char fzk_ta[] = { + (0 << 5) + 0, L_TA, R_TA, + (0 << 5) + 1, _I, L_TAI, R_TAI, + (0 << 5) + 2, _KA, _XTU, L_TAI, R_ONBIN1, + (1 << 5) + 2, _RO, _U, L_TAI, R_KAROU, + (0 << 5) + 2, _GA, _XTU, L_TAGARU, R_ONBIN6, + (1 << 5) + 1, _RA, L_TAGARU, R_TAGARA, + (1 << 5) + 1, _RI, L_TAGARU, R_TAGARI, + (1 << 5) + 1, _RU, L_TAGARU, R_SHUUSI, + (1 << 5) + 1, _RE, L_TAGARU, R_KATEI3, + (1 << 5) + 2, _RO, _U, L_TAGARU, R_KAROU, + (0 << 5) + 1, _KU, L_TAI, R_TAKU, + (0 << 5) + 2, _KE, _RE, L_TAI, R_KATEI3, + (0 << 5) + 2, _MA, _I, L_TAMAU, R_IKI, + (1 << 5) + 1, _U, L_TAMAU, R_SHUUSI, + (1 << 5) + 1, _E, L_TAMAU, R_KAMEI, + (1 << 5) + 1, _XTU, L_TAMAU, R_ONBIN6, + (1 << 5) + 1, _WA, L_TAMAU, R_MIZEN5, + (0 << 5) + 1, _ME, L_TAME, R_TAME, + (0 << 5) + 1, _RA, L_TA, R_KATEI1, + (0 << 5) + 1, _RI, L_TA, R_TARI, + (0 << 5) + 1, _RU, L_TARU, R_CUT, + (0 << 5) + 2, _RO, _U, L_TA, R_KAROU, + 0xff}; -static unsigned char fzk_da[] = { -(0<<5) + 0, L_DA1, R_TA, -(0<<5) + 0, L_DA2, R_DSHUUSI1, -(0<<5) + 1, _KE, L_DAKE, R_DAKE, -(0<<5) + 1, _XTU, L_DAXTU, R_ONBIN1, -(0<<5) + 1, _NO, L_DANO, R_DANO, -(0<<5) + 1, _RA, L_DA1, R_KATEI1, -(1<<5) + 1, _KE, L_DARAKE, R_DARAKE, -(0<<5) + 1, _RI, L_DA1, R_TARI, -(0<<5) + 2, _RO,_U, L_DAROU, R_DAROU, -0xff -}; +static unsigned char fzk_da[] = { + (0 << 5) + 0, L_DA1, R_TA, + (0 << 5) + 0, L_DA2, R_DSHUUSI1, + (0 << 5) + 1, _KE, L_DAKE, R_DAKE, + (0 << 5) + 1, _XTU, L_DAXTU, R_ONBIN1, + (0 << 5) + 1, _NO, L_DANO, R_DANO, + (0 << 5) + 1, _RA, L_DA1, R_KATEI1, + (1 << 5) + 1, _KE, L_DARAKE, R_DARAKE, + (0 << 5) + 1, _RI, L_DA1, R_TARI, + (0 << 5) + 2, _RO, _U, L_DAROU, R_DAROU, + 0xff}; -static unsigned char fzk_ti[] = { -(0<<5) + 2, _MA,_I, L_TIMAU, R_IKI, -(1<<5) + 1, _U, L_TIMAU, R_SHUUSI, -(1<<5) + 1, _E, L_TIMAU, R_IKE, -(1<<5) + 2, _O,_U, L_TIMAU, R_AROU, -(1<<5) + 1, _XTU, L_TIMAU, R_ONBIN6, -(1<<5) + 1, _WA, L_TIMAU, R_MIZEN5, -(0<<5) + 1, _XYA, L_TYA, R_CUT, -(1<<5) + 1, _I, L_TYAU, R_IKI, -(1<<5) + 1, _U, L_TYAU, R_SHUUSI, -(1<<5) + 1, _E, L_TYAU, R_IKE, -(1<<5) + 2, _O,_U, L_TYAU, R_AROU, -(1<<5) + 1, _XTU, L_TYAU, R_ONBIN6, -(1<<5) + 1, _WA, L_TYAU, R_MIZEN5, -0xff -}; +static unsigned char fzk_ti[] = { + (0 << 5) + 2, _MA, _I, L_TIMAU, R_IKI, + (1 << 5) + 1, _U, L_TIMAU, R_SHUUSI, + (1 << 5) + 1, _E, L_TIMAU, R_IKE, + (1 << 5) + 2, _O, _U, L_TIMAU, R_AROU, + (1 << 5) + 1, _XTU, L_TIMAU, R_ONBIN6, + (1 << 5) + 1, _WA, L_TIMAU, R_MIZEN5, + (0 << 5) + 1, _XYA, L_TYA, R_CUT, + (1 << 5) + 1, _I, L_TYAU, R_IKI, + (1 << 5) + 1, _U, L_TYAU, R_SHUUSI, + (1 << 5) + 1, _E, L_TYAU, R_IKE, + (1 << 5) + 2, _O, _U, L_TYAU, R_AROU, + (1 << 5) + 1, _XTU, L_TYAU, R_ONBIN6, + (1 << 5) + 1, _WA, L_TYAU, R_MIZEN5, + 0xff}; -static unsigned char fzk_di[] = { -(0<<5) + 1, _XYA, L_JYA, R_JYA, -0xff -}; +static unsigned char fzk_di[] = { + (0 << 5) + 1, _XYA, L_JYA, R_JYA, + 0xff}; -static unsigned char fzk_tu[] = { -(0<<5) + 2, _I,_TE, L_TUITE, R_TUITE, -(0<<5) + 1, _KI, L_TUKI, R_TUKI, -(0<<5) + 1, _TU, L_TUTU, R_TUTU, -(0<<5) + 2, _MO,_RI, L_TUMORI, R_TUMORI, -0xff -}; +static unsigned char fzk_tu[] = { + (0 << 5) + 2, _I, _TE, L_TUITE, R_TUITE, + (0 << 5) + 1, _KI, L_TUKI, R_TUKI, + (0 << 5) + 1, _TU, L_TUTU, R_TUTU, + (0 << 5) + 2, _MO, _RI, L_TUMORI, R_TUMORI, + 0xff}; -static unsigned char fzk_te[] = { -(0<<5) + 0, L_TE1, R_TE1, -(0<<5) + 0, L_TE2, R_TE2, -(0<<5) + 1, _RU, L_TERU, R_TERU, -0xff -}; +static unsigned char fzk_te[] = { + (0 << 5) + 0, L_TE1, R_TE1, + (0 << 5) + 0, L_TE2, R_TE2, + (0 << 5) + 1, _RU, L_TERU, R_TERU, + 0xff}; -static unsigned char fzk_de[] = { -(0<<5) + 0, L_DE, R_DE, -(0<<5) + 0, L_DA1, R_TE2, -(0<<5) + 3, _A,_RO,_U, L_DEAROU, R_AROU, -(0<<5) + 1, _KI, L_DEKIRU, R_DEKI, -(1<<5) + 1, _RU, L_DEKIRU, R_SHUUSI, -(1<<5) + 1, _RE, L_DEKIRU, R_KATEI3, -(0<<5) + 1, _SI, L_DESI, R_DESHI, -(1<<5) + 1, _XYO, L_DESHO, R_SHO, -(2<<5) + 1, _U, L_DESHO, R_DESHOU, -(0<<5) + 1, _SU, L_DESU, R_DESU, -(0<<5) + 1, _HA, L_DEHA, R_DEHA, -(0<<5) + 1, _RU, L_DERU, R_TERU, -0xff -}; +static unsigned char fzk_de[] = { + (0 << 5) + 0, L_DE, R_DE, + (0 << 5) + 0, L_DA1, R_TE2, + (0 << 5) + 3, _A, _RO, _U, L_DEAROU, R_AROU, + (0 << 5) + 1, _KI, L_DEKIRU, R_DEKI, + (1 << 5) + 1, _RU, L_DEKIRU, R_SHUUSI, + (1 << 5) + 1, _RE, L_DEKIRU, R_KATEI3, + (0 << 5) + 1, _SI, L_DESI, R_DESHI, + (1 << 5) + 1, _XYO, L_DESHO, R_SHO, + (2 << 5) + 1, _U, L_DESHO, R_DESHOU, + (0 << 5) + 1, _SU, L_DESU, R_DESU, + (0 << 5) + 1, _HA, L_DEHA, R_DEHA, + (0 << 5) + 1, _RU, L_DERU, R_TERU, + 0xff}; -static unsigned char fzk_to[] = { -(0<<5) + 0, L_TO1, R_TO1, -(0<<5) + 0, L_TO2, R_TO2, -(0<<5) + 1, _I, L_TE2, R_ONBIN8, -(1<<5) + 1, _U, L_TOIU, R_TOIU, -(0<<5) + 2, _O,_RI, L_TOORI, R_TOORI, -(0<<5) + 1, _KA, L_TE2, R_MIZEN5, -(0<<5) + 1, _KI, L_TOKI, R_TOKI, -(1<<5) + 0, L_TE2, R_IKI, -(0<<5) + 1, _KU, L_TE2, R_SHUUSI, -(0<<5) + 1, _KE, L_TE2, R_IKE, -(0<<5) + 1, _KO, L_TOKORO, R_TOKORO, -(1<<5) + 1, _U, L_TE2, R_AROU, -(1<<5) + 1, _RO, L_TOKORO, R_TOKORO, -(0<<5) + 2, _XTU,_TE, L_TOTTE, R_TOTTE, -(0<<5) + 1, _TE, L_TOTE, R_TOTE, -(0<<5) + 3, _HA,_I,_E, L_TOHAIE, R_TOHAIE, -(0<<5) + 1, _MO, L_TOMO, R_TOMO, -0xff -}; +static unsigned char fzk_to[] = { + (0 << 5) + 0, L_TO1, R_TO1, + (0 << 5) + 0, L_TO2, R_TO2, + (0 << 5) + 1, _I, L_TE2, R_ONBIN8, + (1 << 5) + 1, _U, L_TOIU, R_TOIU, + (0 << 5) + 2, _O, _RI, L_TOORI, R_TOORI, + (0 << 5) + 1, _KA, L_TE2, R_MIZEN5, + (0 << 5) + 1, _KI, L_TOKI, R_TOKI, + (1 << 5) + 0, L_TE2, R_IKI, + (0 << 5) + 1, _KU, L_TE2, R_SHUUSI, + (0 << 5) + 1, _KE, L_TE2, R_IKE, + (0 << 5) + 1, _KO, L_TOKORO, R_TOKORO, + (1 << 5) + 1, _U, L_TE2, R_AROU, + (1 << 5) + 1, _RO, L_TOKORO, R_TOKORO, + (0 << 5) + 2, _XTU, _TE, L_TOTTE, R_TOTTE, + (0 << 5) + 1, _TE, L_TOTE, R_TOTE, + (0 << 5) + 3, _HA, _I, _E, L_TOHAIE, R_TOHAIE, + (0 << 5) + 1, _MO, L_TOMO, R_TOMO, + 0xff}; -static unsigned char fzk_do[] = { -(0<<5) + 0, L_DO, R_DO, -(0<<5) + 1, _I, L_DA1, R_ONBIN8, -(0<<5) + 2, _O,_RI, L_DOORI, R_DOORI, -(0<<5) + 1, _KA, L_DA1, R_MIZEN5, -(0<<5) + 1, _KI, L_DA1, R_IKI, -(0<<5) + 1, _KU, L_DA1, R_SHUUSI, -(0<<5) + 1, _KE, L_DA1, R_IKE, -(0<<5) + 2, _KO,_U, L_DA1, R_AROU, -(1<<5) + 1, _RO, L_DOKORO, R_DOKORO, -(2<<5) + 1, _KA, L_DOKOROKA, R_DOKOROKA, -(0<<5) + 1, _MO, L_DOMO, R_DOMO, -0xff -}; +static unsigned char fzk_do[] = { + (0 << 5) + 0, L_DO, R_DO, + (0 << 5) + 1, _I, L_DA1, R_ONBIN8, + (0 << 5) + 2, _O, _RI, L_DOORI, R_DOORI, + (0 << 5) + 1, _KA, L_DA1, R_MIZEN5, + (0 << 5) + 1, _KI, L_DA1, R_IKI, + (0 << 5) + 1, _KU, L_DA1, R_SHUUSI, + (0 << 5) + 1, _KE, L_DA1, R_IKE, + (0 << 5) + 2, _KO, _U, L_DA1, R_AROU, + (1 << 5) + 1, _RO, L_DOKORO, R_DOKORO, + (2 << 5) + 1, _KA, L_DOKOROKA, R_DOKOROKA, + (0 << 5) + 1, _MO, L_DOMO, R_DOMO, + 0xff}; -static unsigned char fzk_na[] = { -(0<<5) + 0, L_NA1, R_SHUUJO, -(0<<5) + 0, L_NA2, R_NA2, -(0<<5) + 1, _XA, L_NAA, R_SHUUJO, -(0<<5) + 1, _A, L_NAA, R_SHUUJO, -(0<<5) + 1, _I, L_NAI, R_NAI, -(1<<5) + 1, _DE, L_NAI, R_NAIDE, -(0<<5) + 2, _KA,_XTU, L_NAI, R_ONBIN1, -(1<<5) + 2, _RO,_U, L_NAI, R_KAROU, -(0<<5) + 2, _GA,_RA, L_NAGARA, R_NAGARA, -(2<<5) + 0, L_NAGARA2, R_NAGARA2, -(0<<5) + 2, _KI,_XYA, L_NAI, R_CUT, -(0<<5) + 1, _KU, L_NAI, R_NAKU, -(0<<5) + 2, _KE,_RE, L_NAI, R_KATEI3, -(0<<5) + 2, _SA,_I, L_NASAI, R_NASAI, -(1<<5) + 1, _RA, L_NASARU, R_MIZEN4, -(1<<5) + 1, _RI, L_NASARU, R_ITADAKI, -(1<<5) + 1, _RU, L_NASARU, R_SHUUSI, -(1<<5) + 1, _RE, L_NASARU, R_KATEI3, -(2<<5) + 1, _RU, L_NASARU, R_SHUUSI, -(0<<5) + 1, _ZO, L_NAZO, R_NAZO, -(0<<5) + 1, _XTU, L_NARU, R_ONBIN2, -(0<<5) + 1, _DO, L_NADO, R_NADO, -(0<<5) + 1, _YO, L_NA1, R_SHUUJO, -(0<<5) + 1, _RA, L_NARA, R_KATEI1, -(1<<5) + 0, L_NARU, R_MIZEN5, -(0<<5) + 1, _RI, L_NARI, R_NARI, -(1<<5) + 0, L_NARU, R_IKI, -(0<<5) + 1, _RU, L_NARU, R_SHUUSI, -(0<<5) + 1, _RE, L_NARU, R_IKE, -(0<<5) + 2, _RO,_U, L_NARU, R_AROU, -(0<<5) + 2, _NN,_KA, L_NANKA, R_NANKA, -(1<<5) + 1, _ZO, L_NANZO, R_NANZO, -(1<<5) + 1, _TE, L_NANTE, R_NANTE, -0xff -}; +static unsigned char fzk_na[] = { + (0 << 5) + 0, L_NA1, R_SHUUJO, + (0 << 5) + 0, L_NA2, R_NA2, + (0 << 5) + 1, _XA, L_NAA, R_SHUUJO, + (0 << 5) + 1, _A, L_NAA, R_SHUUJO, + (0 << 5) + 1, _I, L_NAI, R_NAI, + (1 << 5) + 1, _DE, L_NAI, R_NAIDE, + (0 << 5) + 2, _KA, _XTU, L_NAI, R_ONBIN1, + (1 << 5) + 2, _RO, _U, L_NAI, R_KAROU, + (0 << 5) + 2, _GA, _RA, L_NAGARA, R_NAGARA, + (2 << 5) + 0, L_NAGARA2, R_NAGARA2, + (0 << 5) + 2, _KI, _XYA, L_NAI, R_CUT, + (0 << 5) + 1, _KU, L_NAI, R_NAKU, + (0 << 5) + 2, _KE, _RE, L_NAI, R_KATEI3, + (0 << 5) + 2, _SA, _I, L_NASAI, R_NASAI, + (1 << 5) + 1, _RA, L_NASARU, R_MIZEN4, + (1 << 5) + 1, _RI, L_NASARU, R_ITADAKI, + (1 << 5) + 1, _RU, L_NASARU, R_SHUUSI, + (1 << 5) + 1, _RE, L_NASARU, R_KATEI3, + (2 << 5) + 1, _RU, L_NASARU, R_SHUUSI, + (0 << 5) + 1, _ZO, L_NAZO, R_NAZO, + (0 << 5) + 1, _XTU, L_NARU, R_ONBIN2, + (0 << 5) + 1, _DO, L_NADO, R_NADO, + (0 << 5) + 1, _YO, L_NA1, R_SHUUJO, + (0 << 5) + 1, _RA, L_NARA, R_KATEI1, + (1 << 5) + 0, L_NARU, R_MIZEN5, + (0 << 5) + 1, _RI, L_NARI, R_NARI, + (1 << 5) + 0, L_NARU, R_IKI, + (0 << 5) + 1, _RU, L_NARU, R_SHUUSI, + (0 << 5) + 1, _RE, L_NARU, R_IKE, + (0 << 5) + 2, _RO, _U, L_NARU, R_AROU, + (0 << 5) + 2, _NN, _KA, L_NANKA, R_NANKA, + (1 << 5) + 1, _ZO, L_NANZO, R_NANZO, + (1 << 5) + 1, _TE, L_NANTE, R_NANTE, + 0xff}; -static unsigned char fzk_ni[] = { -(0<<5) + 0, L_NI1, R_NI1, -(0<<5) + 0, L_NI2, R_NI2, -(0<<5) + 0, L_NI3, R_NI3, -(0<<5) + 2, _KU,_I, L_NIKUI, R_KSHUUSI, -(1<<5) + 2, _KA,_XTU, L_NIKUI, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_NIKUI, R_KAROU, -(1<<5) + 1, _KU, L_NIKUI, R_TAKU, -(1<<5) + 2, _KE,_RE, L_NIKUI, R_KATEI3, -(1<<5) + 1, _SA, L_NIKUI, R_FZKMEISI, -(0<<5) + 1, _TE, L_NITE, R_NITE, -(0<<5) + 2, _DE,_MO, L_NI1, R_MO1, -(0<<5) + 1, _MO, L_NIMO, R_NIMO, -0xff -}; +static unsigned char fzk_ni[] = { + (0 << 5) + 0, L_NI1, R_NI1, + (0 << 5) + 0, L_NI2, R_NI2, + (0 << 5) + 0, L_NI3, R_NI3, + (0 << 5) + 2, _KU, _I, L_NIKUI, R_KSHUUSI, + (1 << 5) + 2, _KA, _XTU, L_NIKUI, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_NIKUI, R_KAROU, + (1 << 5) + 1, _KU, L_NIKUI, R_TAKU, + (1 << 5) + 2, _KE, _RE, L_NIKUI, R_KATEI3, + (1 << 5) + 1, _SA, L_NIKUI, R_FZKMEISI, + (0 << 5) + 1, _TE, L_NITE, R_NITE, + (0 << 5) + 2, _DE, _MO, L_NI1, R_MO1, + (0 << 5) + 1, _MO, L_NIMO, R_NIMO, + 0xff}; -static unsigned char fzk_nu[] = { -(0<<5) + 0, L_NU, R_NU, -0xff -}; +static unsigned char fzk_nu[] = { + (0 << 5) + 0, L_NU, R_NU, + 0xff}; -static unsigned char fzk_ne[] = { -(0<<5) + 0, L_NE1, R_SHUUJO, -(0<<5) + 0, L_NE2, R_KATEI2, -(0<<5) + 1, _E, L_NEE, R_SHUUJO, -0xff -}; +static unsigned char fzk_ne[] = { + (0 << 5) + 0, L_NE1, R_SHUUJO, + (0 << 5) + 0, L_NE2, R_KATEI2, + (0 << 5) + 1, _E, L_NEE, R_SHUUJO, + 0xff}; -static unsigned char fzk_no[] = { -(0<<5) + 0, L_NO1, R_NO1, -(0<<5) + 0, L_NO2, R_NO2, -(0<<5) + 1, _DE, L_NODE, R_NODE, -(0<<5) + 1, _NI, L_NONI, R_NONI, -(0<<5) + 1, _MI, L_NOMI, R_NOMI, -(1<<5) + 3, _NA,_RA,_ZU, L_NOMINRZ, R_NOMINRZ, -0xff -}; +static unsigned char fzk_no[] = { + (0 << 5) + 0, L_NO1, R_NO1, + (0 << 5) + 0, L_NO2, R_NO2, + (0 << 5) + 1, _DE, L_NODE, R_NODE, + (0 << 5) + 1, _NI, L_NONI, R_NONI, + (0 << 5) + 1, _MI, L_NOMI, R_NOMI, + (1 << 5) + 3, _NA, _RA, _ZU, L_NOMINRZ, R_NOMINRZ, + 0xff}; -static unsigned char fzk_ha[] = { -(0<<5) + 0, L_HA, R_HA, -(0<<5) + 1, _SI, L_HA, R_HASI, -(0<<5) + 1, _ZU, L_HAZU, R_HAZU, -0xff -}; +static unsigned char fzk_ha[] = { + (0 << 5) + 0, L_HA, R_HA, + (0 << 5) + 1, _SI, L_HA, R_HASI, + (0 << 5) + 1, _ZU, L_HAZU, R_HAZU, + 0xff}; -static unsigned char fzk_ba[] = { -(0<<5) + 0, L_BA, R_BA, -(0<<5) + 2, _KA,_SI, L_BAKARI, R_BAKARI, -(1<<5) + 1, _RI, L_BAKARI, R_BAKARI, -(0<<5) + 3, _XTU,_KA,_SI, L_BAKARI, R_BAKARI, -(2<<5) + 1, _RI, L_BAKARI, R_BAKARI, -0xff -}; +static unsigned char fzk_ba[] = { + (0 << 5) + 0, L_BA, R_BA, + (0 << 5) + 2, _KA, _SI, L_BAKARI, R_BAKARI, + (1 << 5) + 1, _RI, L_BAKARI, R_BAKARI, + (0 << 5) + 3, _XTU, _KA, _SI, L_BAKARI, R_BAKARI, + (2 << 5) + 1, _RI, L_BAKARI, R_BAKARI, + 0xff}; -static unsigned char fzk_hu[] = { -(0<<5) + 2, _U,_DA, L_FUUDA, R_SOUDA, -(2<<5) + 1, _XTU, L_FUUDA, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_FUUDA, R_DAROU, -(1<<5) + 1, _DE, L_FUUDA, R_SOUDE, -(2<<5) + 1, _SI, L_FUUDA, R_DESHI, -(3<<5) + 1, _XYO, L_FUUDA, R_SHO, -(4<<5) + 1, _U, L_FUUDA, R_DESHOU, -(2<<5) + 1, _SU, L_FUUDA, R_SOUDESU, -(1<<5) + 1, _NA, L_FUUDA, R_SOUNA2, -(2<<5) + 1, _RA, L_FUUDA, R_KATEI1, -(1<<5) + 1, _NI, L_FUUDA, R_FUUNI, -0xff -}; +static unsigned char fzk_hu[] = { + (0 << 5) + 2, _U, _DA, L_FUUDA, R_SOUDA, + (2 << 5) + 1, _XTU, L_FUUDA, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_FUUDA, R_DAROU, + (1 << 5) + 1, _DE, L_FUUDA, R_SOUDE, + (2 << 5) + 1, _SI, L_FUUDA, R_DESHI, + (3 << 5) + 1, _XYO, L_FUUDA, R_SHO, + (4 << 5) + 1, _U, L_FUUDA, R_DESHOU, + (2 << 5) + 1, _SU, L_FUUDA, R_SOUDESU, + (1 << 5) + 1, _NA, L_FUUDA, R_SOUNA2, + (2 << 5) + 1, _RA, L_FUUDA, R_KATEI1, + (1 << 5) + 1, _NI, L_FUUDA, R_FUUNI, + 0xff}; -static unsigned char fzk_he[] = { -(0<<5)+0, L_HE, R_HE, -0xff -}; +static unsigned char fzk_he[] = { + (0 << 5) + 0, L_HE, R_HE, + 0xff}; -static unsigned char fzk_be[] = { -(0<<5) + 2, _KA,_RA, L_BESI, R_BEKARA, -(0<<5) + 1, _KI, L_BESI, R_BEKI, -(0<<5) + 1, _KU, L_BESI, R_BEKU, -(0<<5) + 1, _SI, L_BESI, R_BESI, -0xff -}; +static unsigned char fzk_be[] = { + (0 << 5) + 2, _KA, _RA, L_BESI, R_BEKARA, + (0 << 5) + 1, _KI, L_BESI, R_BEKI, + (0 << 5) + 1, _KU, L_BESI, R_BEKU, + (0 << 5) + 1, _SI, L_BESI, R_BESI, + 0xff}; -static unsigned char fzk_ho[] = { -(0<<5) + 1, _U, L_HOU, R_HOU, -(0<<5) + 1, _KA, L_HOKA, R_HOKA, -(0<<5) + 1, _DO, L_HODO, R_HODO, -0xff -}; +static unsigned char fzk_ho[] = { + (0 << 5) + 1, _U, L_HOU, R_HOU, + (0 << 5) + 1, _KA, L_HOKA, R_HOKA, + (0 << 5) + 1, _DO, L_HODO, R_HODO, + 0xff}; -static unsigned char fzk_ma[] = { -(0<<5) + 1, _I, L_MAI, R_MAI, -(0<<5) + 1, _SI, L_MASU, R_DESHI, -(1<<5) + 0, L_MASU, R_MEIREI2, -(1<<5) + 1, _XYO, L_MASU, R_SHO, -(2<<5) + 1, _U, L_MASU, R_DESHOU, -(0<<5) + 1, _SU, L_MASU, R_MASU, -(1<<5) + 1, _RE, L_MASURE, R_KATEI2, -(0<<5) + 1, _SE, L_MASE, R_MEIREI1, -(1<<5) + 1, _NU, L_MASU, R_NU, -(1<<5) + 1, _NN, L_MASU, R_NN2, -(0<<5) + 1, _DE, L_MADE, R_MADE, -(0<<5) + 1, _MA, L_MAMA, R_MAMA, -0xff -}; +static unsigned char fzk_ma[] = { + (0 << 5) + 1, _I, L_MAI, R_MAI, + (0 << 5) + 1, _SI, L_MASU, R_DESHI, + (1 << 5) + 0, L_MASU, R_MEIREI2, + (1 << 5) + 1, _XYO, L_MASU, R_SHO, + (2 << 5) + 1, _U, L_MASU, R_DESHOU, + (0 << 5) + 1, _SU, L_MASU, R_MASU, + (1 << 5) + 1, _RE, L_MASURE, R_KATEI2, + (0 << 5) + 1, _SE, L_MASE, R_MEIREI1, + (1 << 5) + 1, _NU, L_MASU, R_NU, + (1 << 5) + 1, _NN, L_MASU, R_NN2, + (0 << 5) + 1, _DE, L_MADE, R_MADE, + (0 << 5) + 1, _MA, L_MAMA, R_MAMA, + 0xff}; -static unsigned char fzk_mi[] = { -(0<<5) + 0, L_YOUGEN, R_MI, -(0<<5) + 2, _TA,_I, L_MITAIDA, R_MITAI, -(2<<5) + 1, _DA, L_MITAIDA, R_MITAIDA, -(3<<5) + 1, _XTU, L_MITAIDA, R_ONBIN1, -(3<<5) + 2, _RO,_U, L_MITAIDA, R_DAROU, -(2<<5) + 1, _DE, L_MITAIDA, R_SOUDE, -(3<<5) + 1, _SI, L_MITAIDA, R_DESHI, -(4<<5) + 1, _XYO, L_MITAIDA, R_SHO, -(5<<5) + 1, _U, L_MITAIDA, R_DESHOU, -(3<<5) + 1, _SU, L_MITAIDA, R_SOUDESU, -(2<<5) + 1, _NA, L_MITAIDA, R_SOUNA2, -(3<<5) + 1, _RA, L_MITAIDA, R_KATEI1, -(2<<5) + 1, _NI, L_MITAIDA, R_FUUNI, -(0<<5) + 1, _YO, L_YOUGEN, R_MEIREI2, -(0<<5) + 1, _RU, L_YOUGEN, R_SHUUSI, -(0<<5) + 1, _RE, L_YOUGEN, R_KATEI2, -(0<<5) + 1, _RO, L_YOUGEN, R_MEIREI1, -0xff -}; +static unsigned char fzk_mi[] = { + (0 << 5) + 0, L_YOUGEN, R_MI, + (0 << 5) + 2, _TA, _I, L_MITAIDA, R_MITAI, + (2 << 5) + 1, _DA, L_MITAIDA, R_MITAIDA, + (3 << 5) + 1, _XTU, L_MITAIDA, R_ONBIN1, + (3 << 5) + 2, _RO, _U, L_MITAIDA, R_DAROU, + (2 << 5) + 1, _DE, L_MITAIDA, R_SOUDE, + (3 << 5) + 1, _SI, L_MITAIDA, R_DESHI, + (4 << 5) + 1, _XYO, L_MITAIDA, R_SHO, + (5 << 5) + 1, _U, L_MITAIDA, R_DESHOU, + (3 << 5) + 1, _SU, L_MITAIDA, R_SOUDESU, + (2 << 5) + 1, _NA, L_MITAIDA, R_SOUNA2, + (3 << 5) + 1, _RA, L_MITAIDA, R_KATEI1, + (2 << 5) + 1, _NI, L_MITAIDA, R_FUUNI, + (0 << 5) + 1, _YO, L_YOUGEN, R_MEIREI2, + (0 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI, + (0 << 5) + 1, _RE, L_YOUGEN, R_KATEI2, + (0 << 5) + 1, _RO, L_YOUGEN, R_MEIREI1, + 0xff}; -static unsigned char fzk_mo[] = { -(0<<5) + 0, L_MO1, R_MO1, -(0<<5) + 0, L_MO2, R_MO2, -(0<<5) + 2, _XTU,_TE, L_MOTTE, R_MOTTE, -(0<<5) + 1, _NO, L_MONO, R_MONO, -(0<<5) + 2, _RA,_I, L_YOUGEN, R_IKI, -(1<<5) + 1, _U, L_YOUGEN, R_SHUUSI, -(1<<5) + 1, _E, L_YOUGEN, R_IKE, -(1<<5) + 2, _O,_U, L_YOUGEN, R_AROU, -(1<<5) + 1, _XTU, L_YOUGEN, R_ONBIN2, -(1<<5) + 1, _WA, L_YOUGEN, R_MIZEN5, -(0<<5) + 1, _NN, L_WAYO, R_SHUUJO, -(1<<5) + 1, _KA, L_WAYO, R_SHUUJO, -0xff -}; +static unsigned char fzk_mo[] = { + (0 << 5) + 0, L_MO1, R_MO1, + (0 << 5) + 0, L_MO2, R_MO2, + (0 << 5) + 2, _XTU, _TE, L_MOTTE, R_MOTTE, + (0 << 5) + 1, _NO, L_MONO, R_MONO, + (0 << 5) + 2, _RA, _I, L_YOUGEN, R_IKI, + (1 << 5) + 1, _U, L_YOUGEN, R_SHUUSI, + (1 << 5) + 1, _E, L_YOUGEN, R_IKE, + (1 << 5) + 2, _O, _U, L_YOUGEN, R_AROU, + (1 << 5) + 1, _XTU, L_YOUGEN, R_ONBIN2, + (1 << 5) + 1, _WA, L_YOUGEN, R_MIZEN5, + (0 << 5) + 1, _NN, L_WAYO, R_SHUUJO, + (1 << 5) + 1, _KA, L_WAYO, R_SHUUJO, + 0xff}; -static unsigned char fzk_ya[] = { -(0<<5) + 0, L_YA1, R_YA1, -(0<<5) + 0, L_YA2, R_YA2, -(0<<5) + 2, _SU,_I, L_YASUI, R_KSHUUSI, -(1<<5) + 2, _KA,_XTU, L_YASUI, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_YASUI, R_KAROU, -(1<<5) + 1, _KU, L_YASUI, R_TAKU, -(1<<5) + 2, _KE,_RE, L_YASUI, R_KATEI3, -(1<<5) + 1, _SA, L_YASUI, R_FZKMEISI, -(0<<5) + 1, _XTU, L_YOUGEN, R_ONBIN2, -(0<<5) + 1, _RA, L_YARA, R_YARA, -(1<<5) + 0, L_YOUGEN, R_MIZEN5, -(0<<5) + 1, _RI, L_YOUGEN, R_IKI, -(0<<5) + 1, _RU, L_YOUGEN, R_SHUUSI, -(0<<5) + 1, _RE, L_YOUGEN, R_KATEI2, -(0<<5) + 2, _RO,_U, L_YOUGEN, R_AROU, -0xff -}; +static unsigned char fzk_ya[] = { + (0 << 5) + 0, L_YA1, R_YA1, + (0 << 5) + 0, L_YA2, R_YA2, + (0 << 5) + 2, _SU, _I, L_YASUI, R_KSHUUSI, + (1 << 5) + 2, _KA, _XTU, L_YASUI, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_YASUI, R_KAROU, + (1 << 5) + 1, _KU, L_YASUI, R_TAKU, + (1 << 5) + 2, _KE, _RE, L_YASUI, R_KATEI3, + (1 << 5) + 1, _SA, L_YASUI, R_FZKMEISI, + (0 << 5) + 1, _XTU, L_YOUGEN, R_ONBIN2, + (0 << 5) + 1, _RA, L_YARA, R_YARA, + (1 << 5) + 0, L_YOUGEN, R_MIZEN5, + (0 << 5) + 1, _RI, L_YOUGEN, R_IKI, + (0 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI, + (0 << 5) + 1, _RE, L_YOUGEN, R_KATEI2, + (0 << 5) + 2, _RO, _U, L_YOUGEN, R_AROU, + 0xff}; -static unsigned char fzk_yu[] = { -(0<<5) + 1, _E, L_YUE, R_YUE, -0xff -}; +static unsigned char fzk_yu[] = { + (0 << 5) + 1, _E, L_YUE, R_YUE, + 0xff}; -static unsigned char fzk_yo[] = { -(0<<5) + 0, L_YO, R_SHUUJO, -(0<<5) + 1, _I, L_YOI, R_KSHUUSI, -(0<<5) + 1, _U, L_YOU, R_YOU1, -(1<<5) + 0, L_YOUDA, R_YOU2, -(1<<5) + 1, _DA, L_YOUDA, R_SOUDA, -(2<<5) + 1, _XTU, L_YOUDA, R_ONBIN1, -(2<<5) + 2, _RO,_U, L_YOUDA, R_DAROU, -(1<<5) + 1, _DE, L_YOUDA, R_SOUDE, -(2<<5) + 1, _SI, L_YOUDA, R_DESHI, -(3<<5) + 1, _XYO, L_YOUDA, R_SHO, -(4<<5) + 1, _U, L_YOUDA, R_DESHOU, -(2<<5) + 1, _SU, L_YOUDA, R_SOUDESU, -(1<<5) + 1, _NA, L_YOUDA, R_SOUNA2, -(2<<5) + 1, _RA, L_YOUDA, R_KATEI1, -(1<<5) + 1, _NI, L_YOUDA, R_FUUNI, -(0<<5) + 2, _KA,_XTU, L_YOI, R_ONBIN1, -(1<<5) + 2, _RO,_U, L_YOI, R_KAROU, -(0<<5) + 1, _KU, L_YOI, R_TAKU, -(0<<5) + 2, _KE,_RE, L_YOI, R_KATEI3, -(0<<5) + 1, _SA, L_YOI, R_FZKMEISI, -(0<<5) + 2, _XTU,_TE, L_YORU, R_YOTTE, -(0<<5) + 2, _NA,_XA, L_YO, R_SHUUJO, -(1<<5) + 1, _A, L_YO, R_SHUUJO, -(0<<5) + 1, _NE, L_YO, R_SHUUJO, -(0<<5) + 1, _RA, L_YORU, R_MIZEN4, -(0<<5) + 1, _RI, L_YORI, R_YORI1, -(1<<5) + 0, L_YORU, R_YORI2, -(0<<5) + 1, _RU, L_YORU, R_SHUUSI, -(0<<5) + 1, _RE, L_YORU, R_KATEI3, -0xff -}; +static unsigned char fzk_yo[] = { + (0 << 5) + 0, L_YO, R_SHUUJO, + (0 << 5) + 1, _I, L_YOI, R_KSHUUSI, + (0 << 5) + 1, _U, L_YOU, R_YOU1, + (1 << 5) + 0, L_YOUDA, R_YOU2, + (1 << 5) + 1, _DA, L_YOUDA, R_SOUDA, + (2 << 5) + 1, _XTU, L_YOUDA, R_ONBIN1, + (2 << 5) + 2, _RO, _U, L_YOUDA, R_DAROU, + (1 << 5) + 1, _DE, L_YOUDA, R_SOUDE, + (2 << 5) + 1, _SI, L_YOUDA, R_DESHI, + (3 << 5) + 1, _XYO, L_YOUDA, R_SHO, + (4 << 5) + 1, _U, L_YOUDA, R_DESHOU, + (2 << 5) + 1, _SU, L_YOUDA, R_SOUDESU, + (1 << 5) + 1, _NA, L_YOUDA, R_SOUNA2, + (2 << 5) + 1, _RA, L_YOUDA, R_KATEI1, + (1 << 5) + 1, _NI, L_YOUDA, R_FUUNI, + (0 << 5) + 2, _KA, _XTU, L_YOI, R_ONBIN1, + (1 << 5) + 2, _RO, _U, L_YOI, R_KAROU, + (0 << 5) + 1, _KU, L_YOI, R_TAKU, + (0 << 5) + 2, _KE, _RE, L_YOI, R_KATEI3, + (0 << 5) + 1, _SA, L_YOI, R_FZKMEISI, + (0 << 5) + 2, _XTU, _TE, L_YORU, R_YOTTE, + (0 << 5) + 2, _NA, _XA, L_YO, R_SHUUJO, + (1 << 5) + 1, _A, L_YO, R_SHUUJO, + (0 << 5) + 1, _NE, L_YO, R_SHUUJO, + (0 << 5) + 1, _RA, L_YORU, R_MIZEN4, + (0 << 5) + 1, _RI, L_YORI, R_YORI1, + (1 << 5) + 0, L_YORU, R_YORI2, + (0 << 5) + 1, _RU, L_YORU, R_SHUUSI, + (0 << 5) + 1, _RE, L_YORU, R_KATEI3, + 0xff}; -static unsigned char fzk_ra[] = { -(0<<5) + 2, _SI,_I, L_RASII, R_RASII, -(1<<5) + 2, _KA,_XTU, L_RASII, R_ONBIN1, -(1<<5) + 1, _KI, L_RASII, R_GOTOKI, -(1<<5) + 1, _KU, L_RASII, R_TAKU, -(1<<5) + 2, _XYU,_U, L_RASII, R_RASHUU, -(0<<5) + 1, _RE, L_RARERU, R_RARE, -(1<<5) + 1, _YO, L_RARERU, R_MEIREI2, -(1<<5) + 1, _RU, L_RARERU, R_SHUUSI, -(1<<5) + 1, _RE, L_RARERU, R_KATEI2, -(1<<5) + 1, _RO, L_RARERU, R_MEIREI1, -0xff -}; +static unsigned char fzk_ra[] = { + (0 << 5) + 2, _SI, _I, L_RASII, R_RASII, + (1 << 5) + 2, _KA, _XTU, L_RASII, R_ONBIN1, + (1 << 5) + 1, _KI, L_RASII, R_GOTOKI, + (1 << 5) + 1, _KU, L_RASII, R_TAKU, + (1 << 5) + 2, _XYU, _U, L_RASII, R_RASHUU, + (0 << 5) + 1, _RE, L_RARERU, R_RARE, + (1 << 5) + 1, _YO, L_RARERU, R_MEIREI2, + (1 << 5) + 1, _RU, L_RARERU, R_SHUUSI, + (1 << 5) + 1, _RE, L_RARERU, R_KATEI2, + (1 << 5) + 1, _RO, L_RARERU, R_MEIREI1, + 0xff}; -static unsigned char fzk_re[] = { -(0<<5) + 0, L_RERU, R_RARE, -(0<<5) + 1, _YO, L_RERU, R_MEIREI2, -(0<<5) + 1, _RU, L_RERU, R_SHUUSI, -(0<<5) + 1, _RE, L_RERU, R_KATEI2, -(0<<5) + 1, _RO, L_RERU, R_MEIREI1, -0xff -}; +static unsigned char fzk_re[] = { + (0 << 5) + 0, L_RERU, R_RARE, + (0 << 5) + 1, _YO, L_RERU, R_MEIREI2, + (0 << 5) + 1, _RU, L_RERU, R_SHUUSI, + (0 << 5) + 1, _RE, L_RERU, R_KATEI2, + (0 << 5) + 1, _RO, L_RERU, R_MEIREI1, + 0xff}; -static unsigned char fzk_wa[] = { -(0<<5) + 0, L_WA, R_SHUUJO, -(0<<5) + 1, _KE, L_WAKE, R_WAKE, -(0<<5) + 1, _NE, L_WANE, R_SHUUJO, -(0<<5) + 1, _YO, L_WAYO, R_SHUUJO, -0xff -}; +static unsigned char fzk_wa[] = { + (0 << 5) + 0, L_WA, R_SHUUJO, + (0 << 5) + 1, _KE, L_WAKE, R_WAKE, + (0 << 5) + 1, _NE, L_WANE, R_SHUUJO, + (0 << 5) + 1, _YO, L_WAYO, R_SHUUJO, + 0xff}; -static unsigned char fzk_nn[] = { -(0<<5) + 0, L_NN1, R_NN1, -(0<<5) + 0, L_NN2, R_NN2, -0xff -}; +static unsigned char fzk_nn[] = { + (0 << 5) + 0, L_NN1, R_NN1, + (0 << 5) + 0, L_NN2, R_NN2, + 0xff}; - - -unsigned char *fzkadr[] = { - 0, fzk_a, 0, fzk_i, 0, - fzk_u, 0, fzk_e, 0, fzk_o, - fzk_ka, fzk_ga, fzk_ki, 0, fzk_ku, - fzk_gu, fzk_ke, 0, fzk_ko, fzk_go, - fzk_sa, fzk_za, fzk_si, fzk_ji, fzk_su, - fzk_zu, fzk_se, fzk_ze, fzk_so, fzk_zo, - fzk_ta, fzk_da, fzk_ti, fzk_di, fzk_xtu, - fzk_tu, 0, fzk_te, fzk_de, fzk_to, - fzk_do, fzk_na, fzk_ni, fzk_nu, fzk_ne, - fzk_no, fzk_ha, fzk_ba, 0, 0, - 0, 0, fzk_hu, 0, 0, - fzk_he, fzk_be, 0, fzk_ho, 0, - 0, fzk_ma, fzk_mi, 0, 0, - fzk_mo, 0, fzk_ya, 0, fzk_yu, - 0, fzk_yo, fzk_ra, 0, 0, - fzk_re, 0, 0, fzk_wa, 0, - 0, fzk_wo, fzk_nn -}; +unsigned char* fzkadr[] = { + 0, fzk_a, 0, fzk_i, 0, + fzk_u, 0, fzk_e, 0, fzk_o, + fzk_ka, fzk_ga, fzk_ki, 0, fzk_ku, + fzk_gu, fzk_ke, 0, fzk_ko, fzk_go, + fzk_sa, fzk_za, fzk_si, fzk_ji, fzk_su, + fzk_zu, fzk_se, fzk_ze, fzk_so, fzk_zo, + fzk_ta, fzk_da, fzk_ti, fzk_di, fzk_xtu, + fzk_tu, 0, fzk_te, fzk_de, fzk_to, + fzk_do, fzk_na, fzk_ni, fzk_nu, fzk_ne, + fzk_no, fzk_ha, fzk_ba, 0, 0, + 0, 0, fzk_hu, 0, 0, + fzk_he, fzk_be, 0, fzk_ho, 0, + 0, fzk_ma, fzk_mi, 0, 0, + fzk_mo, 0, fzk_ya, 0, fzk_yu, + 0, fzk_yo, fzk_ra, 0, 0, + fzk_re, 0, 0, fzk_wa, 0, + 0, fzk_wo, fzk_nn}; diff --git a/getkanji.c b/getkanji.c index 419f241..c635de9 100644 --- a/getkanji.c +++ b/getkanji.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,77 +28,64 @@ */ /* - * $SonyRCSfile: getkanji.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: getkanji.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:49 $ * * $Id$ */ - #include "sj_euc.h" #include "sj_kcnv.h" #include "kanakan.h" - static unsigned char* code2kanji(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); unsigned char* -getkan_none(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ +getkan_none(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { return d; } - unsigned char* -getkan_hira(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ - int cnt, csize; +getkan_hira(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { + int cnt, csize; csize = codesize(*s); - - cnt = (*s & KanjiCodeMask) + 1; - - if (flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2; + cnt = (*s & KanjiCodeMask) + 1; + + if(flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2; - cnt *= 2; - while (cnt-- > 0) *d++ = *ym++; + while(cnt-- > 0) *d++ = *ym++; return d; } - unsigned char* -getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ - int cnt, csize; - unsigned char ch; +getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { + int cnt, csize; + unsigned char ch; csize = codesize(*s); - - cnt = (*s & KanjiCodeMask) + 1; - - if (flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2; + cnt = (*s & KanjiCodeMask) + 1; - - while (cnt-- > 0) { - - if (*ym == 0xa4) { + if(flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2; + + while(cnt-- > 0) { + + if(*ym == 0xa4) { ch = *++ym; - if (0xa1 <= ch && ch <= 0xf3) { + if(0xa1 <= ch && ch <= 0xf3) { *d++ = 0xa5; - } - else { + } else { *d++ = 0xa4; } *d++ = ch; ym++; - } - else { + } else { *d++ = *ym++; *d++ = *ym++; } @@ -107,126 +94,123 @@ getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int f return d; } - unsigned char* -getkan_knj(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ - +getkan_knj(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { + return code2kanji(askknj[*s & KnjAssyukuMask], d, ym, yl, flg); } - unsigned char* -getkan_ofs(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ - - return code2kanji(dicbuf + ((*s & KanjiCodeMask) << 8) + *(s + 1), - d, ym, yl, flg); +getkan_ofs(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { + + return code2kanji(dicbuf + ((*s & KanjiCodeMask) << 8) + *(s + 1), + d, ym, yl, flg); } - unsigned char* -getkan_norm(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ +getkan_norm(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { unsigned char c; - if (*s != 0) { + if(*s != 0) { c = s[1]; - if (c & 0x80) - *d++ = SS3; - *d++ = *s | 0x80; - *d++ = c | 0x80; + if(c & 0x80) + *d++ = SS3; + *d++ = *s | 0x80; + *d++ = c | 0x80; } else { *d++ = *s; } return d; } - unsigned char* -getkan_ascii(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ +getkan_ascii(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { unsigned char c; c = s[1]; - if (c & 0x80) - *d++ = SS2; + if(c & 0x80) + *d++ = SS2; *d++ = c; return d; } - static unsigned char* -code2kanji(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) -{ +code2kanji(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) { int csize; - for ( ; ; ) { + for(;;) { csize = codesize(*s); - if (s[csize] == KanjiStrEnd) { + if(s[csize] == KanjiStrEnd) { switch(*s & KanjiModeMask) { - case ZenHiraAssyuku: - d = getkan_hira(s, d, ym, yl, flg); break; - - case ZenKataAssyuku: - d = getkan_kata(s, d, ym, yl, flg); break; - - case OffsetAssyuku: - d = getkan_ofs(s, d, ym, yl, flg); break; - - case AiAttribute: - d = getkan_none(s, d, ym, yl, flg); break; + case ZenHiraAssyuku: + d = getkan_hira(s, d, ym, yl, flg); + break; - case LeadingHankaku: - d = getkan_ascii(s, d, ym, yl, flg); break; - - case KanjiAssyuku: - d = getkan_knj(s, d, ym, yl, flg); break; + case ZenKataAssyuku: + d = getkan_kata(s, d, ym, yl, flg); + break; - default: - d = getkan_norm(s, d, ym, yl, flg); + case OffsetAssyuku: + d = getkan_ofs(s, d, ym, yl, flg); + break; + + case AiAttribute: + d = getkan_none(s, d, ym, yl, flg); + break; + + case LeadingHankaku: + d = getkan_ascii(s, d, ym, yl, flg); + break; + + case KanjiAssyuku: + d = getkan_knj(s, d, ym, yl, flg); + break; + + default: + d = getkan_norm(s, d, ym, yl, flg); } break; - } - else + } else switch(*s & KanjiModeMask) { - case ZenHiraAssyuku: - d = getkan_hira(s, d, ym, yl, FALSE); break; - - case ZenKataAssyuku: - d = getkan_kata(s, d, ym, yl, FALSE); break; - - case OffsetAssyuku: - d = getkan_ofs(s, d, ym, yl, FALSE); break; - - case AiAttribute: - d = getkan_none(s, d, ym, yl, FALSE); break; + case ZenHiraAssyuku: + d = getkan_hira(s, d, ym, yl, FALSE); + break; - case LeadingHankaku: - d = getkan_ascii(s, d, ym, yl, FALSE); break; + case ZenKataAssyuku: + d = getkan_kata(s, d, ym, yl, FALSE); + break; - case KanjiAssyuku: - d = getkan_knj(s, d, ym, yl, FALSE); break; - - default: + case OffsetAssyuku: + d = getkan_ofs(s, d, ym, yl, FALSE); + break; + + case AiAttribute: + d = getkan_none(s, d, ym, yl, FALSE); + break; + + case LeadingHankaku: + d = getkan_ascii(s, d, ym, yl, FALSE); + break; + + case KanjiAssyuku: + d = getkan_knj(s, d, ym, yl, FALSE); + break; + + default: d = getkan_norm(s, d, ym, yl, FALSE); } - + s += codesize(*s); } return d; } +int getkanji(unsigned char* ym, int yl, unsigned char* ptr, unsigned char* buf) { + unsigned char* q; -int -getkanji(unsigned char* ym, int yl, unsigned char* ptr, unsigned char* buf) -{ - unsigned char *q; - q = code2kanji(ptr, buf, ym, yl, TRUE); return q - buf; } - diff --git a/getrank.c b/getrank.c index 34a7bc3..922af51 100644 --- a/getrank.c +++ b/getrank.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,122 +28,101 @@ */ /* - * $SonyRCSfile: getrank.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: getrank.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:50 $ * * $Id$ */ - #include "sj_kcnv.h" #include "kanakan.h" +static void setstynum(void); +static void setnspr(KHREC* kptr, STDYIN* sptr); +static void regetrank(void); -static void setstynum (void); -static void setnspr (KHREC *kptr, STDYIN *sptr); -static void regetrank (void); - - - -void -getrank (void) -{ +void getrank(void) { trank = nrank = 1; setstynum(); regetrank(); } - - -static void -setstynum (void) -{ - KHREC *kptr; - STDYIN *sptr; +static void +setstynum(void) { + KHREC* kptr; + STDYIN* sptr; int count; - for (kptr = kouhotbl, count = khcount ; count-- ; kptr++) { - sptr = srchstdy(kptr -> clrec -> jnode -> jseg, kptr -> offs, - kptr -> clrec -> jnode -> dicid); - if (!sptr) continue; - setnspr(kptr, sptr); + for(kptr = kouhotbl, count = khcount; count--; kptr++) { + sptr = srchstdy(kptr->clrec->jnode->jseg, kptr->offs, + kptr->clrec->jnode->dicid); + if(!sptr) continue; + setnspr(kptr, sptr); } } +static void +setnspr(KHREC* kptr, STDYIN* sptr) { + KHREC* ptr; + int keepnm; + TypeStyNum styno; + styno = kptr->styno = sptr->styno; + keepnm = trank; -static void -setnspr (KHREC *kptr, STDYIN *sptr) -{ - KHREC *ptr; - int keepnm; - TypeStyNum styno; - - styno = kptr -> styno = sptr -> styno; - keepnm = trank; - - for (ptr = kouhotbl ; ptr < kptr ; ptr++) { - if (styno < ptr -> styno) { - ptr -> rank++; + for(ptr = kouhotbl; ptr < kptr; ptr++) { + if(styno < ptr->styno) { + ptr->rank++; keepnm--; - } - else if (styno == ptr -> styno) { - if (kptr -> sttfg && kptr -> ka_fg) { - if ((sptr -> sttkj == kptr -> sttkj) && - (sptr -> ka_kj == kptr -> ka_kj)) { - ptr -> rank++; + } else if(styno == ptr->styno) { + if(kptr->sttfg && kptr->ka_fg) { + if((sptr->sttkj == kptr->sttkj) && + (sptr->ka_kj == kptr->ka_kj)) { + ptr->rank++; keepnm--; } - } - else if (kptr -> sttfg) { - if (sptr -> sttkj == kptr -> sttkj) { - ptr -> rank++; + } else if(kptr->sttfg) { + if(sptr->sttkj == kptr->sttkj) { + ptr->rank++; keepnm--; } - } - else if (kptr -> ka_fg) { - if (sptr -> ka_kj == kptr -> ka_kj) { - ptr -> rank++; + } else if(kptr->ka_fg) { + if(sptr->ka_kj == kptr->ka_kj) { + ptr->rank++; keepnm--; } } } } - kptr -> rank = (unsigned char)keepnm; + kptr->rank = (unsigned char)keepnm; trank++; - if (keepnm <= nrank) nrank++; - if (sptr -> nmflg && (nrank > keepnm)) nrank = keepnm; + if(keepnm <= nrank) nrank++; + if(sptr->nmflg && (nrank > keepnm)) nrank = keepnm; } +static void +regetrank(void) { + KHREC* kptr; + int count; + int tmp; - -static void -regetrank (void) -{ - KHREC *kptr; - int count; - int tmp; - - if (nrank < trank) { + if(nrank < trank) { tmp = nrank; trank += nkhcount; - } - else { + } else { nkhcount = tmp = 0; } - for (count = khcount, kptr = kouhotbl ; count-- ; kptr++) { - if (!(kptr -> rank)) { - if (tmp && kptr -> mode && !(kptr -> offs)) { - kptr -> rank = (unsigned char)tmp++; - } - else - kptr -> rank = (unsigned char)trank++; - } - else if ((short)kptr -> rank >= nrank) - kptr -> rank += (unsigned char)nkhcount; + for(count = khcount, kptr = kouhotbl; count--; kptr++) { + if(!(kptr->rank)) { + if(tmp && kptr->mode && !(kptr->offs)) { + kptr->rank = (unsigned char)tmp++; + } else + kptr->rank = (unsigned char)trank++; + } else if((short)kptr->rank >= nrank) + kptr->rank += (unsigned char)nkhcount; } } diff --git a/global.c b/global.c index 00c8029..b6371a5 100644 --- a/global.c +++ b/global.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,31 +28,30 @@ */ /* - * $SonyRCSfile: global.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: global.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:35 $ */ - #include #include #include "sj_struct2.h" -DouonRec *douon_ptr = NULL; -int douon_num = 0; -int yomi_len = 0; -int hinsi_num = 0; -int kanji_len = 0; +DouonRec* douon_ptr = NULL; +int douon_num = 0; +int yomi_len = 0; +int hinsi_num = 0; +int kanji_len = 0; -HindoRec *hindo[MaxHindoNumber]; -int hindo_num = 0; +HindoRec* hindo[MaxHindoNumber]; +int hindo_num = 0; -OffsetRec *ofsrec[MaxOffsetNumber]; -int ofsrec_num = 0; +OffsetRec* ofsrec[MaxOffsetNumber]; +int ofsrec_num = 0; -AssyukuRec *assyuku = NULL; +AssyukuRec* assyuku = NULL; -HindoRec *askknj[MaxKnjAskNumber]; -int askknj_num = 0; +HindoRec* askknj[MaxKnjAskNumber]; +int askknj_num = 0; -int kanji_num = 0; +int kanji_num = 0; diff --git a/global2.c b/global2.c index 094f49f..72001ab 100644 --- a/global2.c +++ b/global2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,12 +28,11 @@ */ /* - * $SonyRCSfile: global.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: global.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1994/12/09 11:27:06 $ */ - #include #include @@ -46,11 +45,10 @@ #include "sj_typedef.h" #include "sj_var.h" -Global *global_work_base; +Global* global_work_base; -Global *work_base; +Global* work_base; -STDY *stdy_base; - -int serv_errno; +STDY* stdy_base; +int serv_errno; diff --git a/henkan.c b/henkan.c index a8a8a44..bfc31db 100644 --- a/henkan.c +++ b/henkan.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: henkan.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: henkan.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1997/01/23 11:09:37 $ */ - - #include "common.h" #include "key.h" #include "wchar16.h" @@ -42,29 +40,28 @@ void Rdisp(); -int i_point; +int i_point; -exec_henkan () -{ - Conversion *cv; - int i, j; - wchar16_t *s, *p; - short sp; - int len, rlen, ilen; - int opos, ipos, bnum; - unsigned char index[BUFFLENGTH * 2], mode; +exec_henkan() { + Conversion* cv; + int i, j; + wchar16_t * s, *p; + short sp; + int len, rlen, ilen; + int opos, ipos, bnum; + unsigned char index[BUFFLENGTH * 2], mode; - cv = GetConversion (); - sp = 0; - mode = cv->in_mode[sp]; + cv = GetConversion(); + sp = 0; + mode = cv->in_mode[sp]; cv->kettei[sp] = mode; - for (i = 1; i < cv->out_point; i++) { - if (mode != cv->in_mode[i]) { - p = &cv->out_buf[i]; + for(i = 1; i < cv->out_point; i++) { + if(mode != cv->in_mode[i]) { + p = &cv->out_buf[i]; cv->span_l[sp] = p - cv->span_p[sp]; sp++; cv->span_p[sp] = p; - mode = cv->in_mode[i]; + mode = cv->in_mode[i]; cv->kettei[sp] = mode; } } @@ -72,84 +69,83 @@ exec_henkan () sp++; cv->span_point = sp; - p = cv->yomiout; + p = cv->yomiout; i_point = 0; - ipos = -1; - for (i = 0; i < cv->span_point; i++) { + ipos = -1; + for(i = 0; i < cv->span_point; i++) { len = cv->span_l[i]; s = cv->span_p[i]; - if (cv->kettei[i] == MODE_ZHIRA) { - if (ipos >= 0) { + if(cv->kettei[i] == MODE_ZHIRA) { + if(ipos >= 0) { ilen = getipos(s - cv->out_buf) - ipos; Strncpy(p, &cv->Halpha[ipos], ilen); p += ilen; ipos = -1; - for (j = 0; j < ilen; j++) + for(j = 0; j < ilen; j++) index[i_point++] = ObjMuhenkan; } Strncpy(p, s, len); p += len; - for (j = 0; j < len; j++) + for(j = 0; j < len; j++) index[i_point++] = ObjHenkan; - } else if (ipos == -1) + } else if(ipos == -1) ipos = getipos(s - cv->out_buf); } - if (ipos >= 0) { + if(ipos >= 0) { ilen = cv->ha_point - ipos; Strncpy(p, &cv->Halpha[ipos], ilen); p += ilen; - for (j = 0; j < ilen; j++) + for(j = 0; j < ilen; j++) index[i_point++] = ObjMuhenkan; } index[i_point] = ObjEnd; - *p = '\0'; - - bnum = SJ2_henkan(cv->yomiout, cv->Bun, cv->kanjiout, BUFFLENGTH*4); + *p = '\0'; - - if (bnum < 0 && !dconnect(1)) - bnum = SJ2_henkan(cv->yomiout, cv->Bun, cv->kanjiout, BUFFLENGTH*4); + bnum = SJ2_henkan(cv->yomiout, cv->Bun, cv->kanjiout, BUFFLENGTH * 4); - if (bnum <= 0) { - cv->Bun[0].srclen = i_point; - cv->Bun[0].srcstr = cv->yomiout; + if(bnum < 0 && !dconnect(1)) + bnum = SJ2_henkan(cv->yomiout, cv->Bun, cv->kanjiout, BUFFLENGTH * 4); + + if(bnum <= 0) { + cv->Bun[0].srclen = i_point; + cv->Bun[0].srcstr = cv->yomiout; cv->Bun[0].destlen = 0; cv->Bun[0].deststr = NULL; - bnum = 1; + bnum = 1; } - i_point = 0; + i_point = 0; cv->Bnum = 0; - i = 0; - while (i < bnum && i < cv->span_point) { - s = cv->span_p[i]; + i = 0; + while(i < bnum && i < cv->span_point) { + s = cv->span_p[i]; len = cv->span_l[i]; - if (index[i_point] == ObjMuhenkan) { + if(index[i_point] == ObjMuhenkan) { cv->Bkettei[cv->Bnum] = Bmuhenkan; - opos = s - cv->out_buf; - len = getipos(opos + len) - getipos(opos); - if (len < cv->Bun[i].srclen) { + opos = s - cv->out_buf; + len = getipos(opos + len) - getipos(opos); + if(len < cv->Bun[i].srclen) { i_point += len; rlen = cv->Bun[i].srclen - len; - opos = cv->span_p[i+1] - cv->out_buf; - if (index[i_point+rlen] == ObjMuhenkan || - rlen != 1 || cv->out_mode[opos+rlen] == 0) { + opos = cv->span_p[i + 1] - cv->out_buf; + if(index[i_point + rlen] == ObjMuhenkan || + rlen != 1 || cv->out_mode[opos + rlen] == 0) { addBun(i, bnum); cv->Bun[i].srclen = len; - cv->Bun[i+1].srclen -= len; - cv->Bun[i+1].srcstr += len; - if (cv->Bun[i].deststr != NULL) { + cv->Bun[i + 1].srclen -= len; + cv->Bun[i + 1].srcstr += len; + if(cv->Bun[i].deststr != NULL) { cv->Bun[i].destlen = len; - cv->Bun[i+1].destlen -= len; - cv->Bun[i+1].deststr += len; + cv->Bun[i + 1].destlen -= len; + cv->Bun[i + 1].deststr += len; } bnum++; } else { cv->span_l[i] += rlen; - if ((unsigned int)cv->span_l[i + 1] >= rlen) { + if((unsigned int)cv->span_l[i + 1] >= rlen) { cv->span_l[i + 1] -= rlen; cv->span_p[i + 1] += rlen; } else { @@ -158,34 +154,34 @@ exec_henkan () } i_point += rlen; } - } else if (len > cv->Bun[i].srclen) { + } else if(len > cv->Bun[i].srclen) { delBun(i, bnum); bnum--; continue; } else { i_point += len; } - } else if (index[i_point] == ObjHenkan) { + } else if(index[i_point] == ObjHenkan) { cv->Bkettei[cv->Bnum] = Bhenkan; - if (len < cv->Bun[i].srclen) { + if(len < cv->Bun[i].srclen) { i_point += len; addBun(i, bnum); cv->Bun[i].srclen = len; - cv->Bun[i+1].srclen -= len; - cv->Bun[i+1].srcstr += len; - if (cv->Bun[i].deststr != NULL) { - rlen = cv->Bun[i+1].srclen; + cv->Bun[i + 1].srclen -= len; + cv->Bun[i + 1].srcstr += len; + if(cv->Bun[i].deststr != NULL) { + rlen = cv->Bun[i + 1].srclen; cv->Bun[i].destlen -= rlen; - cv->Bun[i+1].destlen = rlen; - cv->Bun[i+1].deststr += - cv->Bun[i].destlen; + cv->Bun[i + 1].destlen = rlen; + cv->Bun[i + 1].deststr += + cv->Bun[i].destlen; } bnum++; - } else if (len > cv->Bun[i].srclen) { - for (j = cv->span_point; j > i; j--) { - cv->span_p[j] = cv->span_p[j-1]; - cv->span_l[j] = cv->span_l[j-1]; - cv->kettei[j] = cv->kettei[j-1]; + } else if(len > cv->Bun[i].srclen) { + for(j = cv->span_point; j > i; j--) { + cv->span_p[j] = cv->span_p[j - 1]; + cv->span_l[j] = cv->span_l[j - 1]; + cv->kettei[j] = cv->kettei[j - 1]; } cv->span_point++; rlen = cv->Bun[i].srclen; @@ -205,373 +201,356 @@ exec_henkan () } cv->Bkettei[cv->Bnum] = Bend; - for (i = 0 ; i < cv->Bnum ; i ++) { + for(i = 0; i < cv->Bnum; i++) { cv->Pkettei[i] = cv->kettei[i]; - cv->Ppoint[i] = cv->span_p[i]; + cv->Ppoint[i] = cv->span_p[i]; cv->OrgPlen[i] = cv->Plen[i] = cv->span_l[i]; - cv->Pedited[i] = 0; - cv->Bpoint[i] = i + 1; + cv->Pedited[i] = 0; + cv->Bpoint[i] = i + 1; } - if (flush_conversion) + if(flush_conversion) cv->PreBun = cv->CurBun = -1; else cv->PreBun = cv->CurBun = 0; - Bdisp (1); + Bdisp(1); - cv->Dflag = -1; - cv->Enum = 0; + cv->Dflag = -1; + cv->Enum = 0; cv->e_point = 0; - cv->Kanji = 1; + cv->Kanji = 1; } -addBun(cur, end) -int cur, end; +addBun(cur, end) int cur, end; { - int i; - Conversion *cv; + int i; + Conversion* cv; cv = GetConversion(); - for (i = end; i > cur; i--) { - cv->Bun[i].srclen = cv->Bun[i - 1].srclen; - cv->Bun[i].srcstr = cv->Bun[i - 1].srcstr; + for(i = end; i > cur; i--) { + cv->Bun[i].srclen = cv->Bun[i - 1].srclen; + cv->Bun[i].srcstr = cv->Bun[i - 1].srcstr; cv->Bun[i].destlen = cv->Bun[i - 1].destlen; cv->Bun[i].deststr = cv->Bun[i - 1].deststr; } } -delspan(cur) -int cur; +delspan(cur) int cur; { - int i; - Conversion *cv; + int i; + Conversion* cv; cv = GetConversion(); - for (i = cur; i < cv->span_point - 1; i++) { + for(i = cur; i < cv->span_point - 1; i++) { cv->span_l[i] = cv->span_l[i + 1]; cv->span_p[i] = cv->span_p[i + 1]; cv->kettei[i] = cv->kettei[i + 1]; } } -delBun(cur, end) -int cur, end; +delBun(cur, end) int cur, end; { - int i; - Conversion *cv; + int i; + Conversion* cv; cv = GetConversion(); cv->Bun[cur].srclen += cv->Bun[cur + 1].srclen; cv->Bun[cur].destlen += cv->Bun[cur + 1].destlen; - for (i = cur + 1; i < end; i++) { - cv->Bun[i].srclen = cv->Bun[i + 1].srclen; - cv->Bun[i].srcstr = cv->Bun[i + 1].srcstr; + for(i = cur + 1; i < end; i++) { + cv->Bun[i].srclen = cv->Bun[i + 1].srclen; + cv->Bun[i].srcstr = cv->Bun[i + 1].srcstr; cv->Bun[i].destlen = cv->Bun[i + 1].destlen; cv->Bun[i].deststr = cv->Bun[i + 1].deststr; } } - -IsHex (c) -wchar16_t c; +IsHex(c) + wchar16_t c; { - return(iswxdigit(c)); + return (iswxdigit(c)); } -Getcode (in, out) -wchar16_t *in, *out; +Getcode(in, out) + wchar16_t* in, + *out; { - int c, i, j; - unsigned char s[5]; - int base, c_code; - unsigned short code; - wchar16_t sw[5]; - wchar16_t tmp[3]; + int c, i, j; + unsigned char s[5]; + int base, c_code; + unsigned short code; + wchar16_t sw[5]; + wchar16_t tmp[3]; - *out = (wchar16_t) '\0'; - i = 0; - if (((c_code = GetCcode()) == CODE_KUTEN) || (c_code == CODE_KUTEN2)) - base = 10; - else - base = 16; - while ((c = *in) != '\0') { - if (WcIsKANJI(c)) { - in ++; - *(out ++) = c; - i = 0; + *out = (wchar16_t)'\0'; + i = 0; + if(((c_code = GetCcode()) == CODE_KUTEN) || (c_code == CODE_KUTEN2)) + base = 10; + else + base = 16; + while((c = *in) != '\0') { + if(WcIsKANJI(c)) { + in++; + *(out++) = c; + i = 0; continue; - } else if (IsHex(c)) - s[i++] = WcLowByte(c); + } else if(IsHex(c)) + s[i++] = WcLowByte(c); else - break; - in ++; - if (i == 4) { + break; + in++; + if(i == 4) { s[i] = '\0'; - code = (unsigned short)strtol((char *)s, (char **)NULL, base); - switch (c_code) { - case CODE_KUTEN : - case CODE_KUTEN2 : - c = ((code / 100) << 8) + code % 100; - code = c + 0x2020; - case CODE_JIS : - case CODE_JIS2 : - code = jis2euc(code); - break; - case CODE_SJIS : - code = sjis2euc(code); - break; - } - if ((c_code == CODE_KUTEN2) || + code = (unsigned short)strtol((char*)s, (char**)NULL, base); + switch(c_code) { + case CODE_KUTEN: + case CODE_KUTEN2: + c = ((code / 100) << 8) + code % 100; + code = c + 0x2020; + case CODE_JIS: + case CODE_JIS2: + code = jis2euc(code); + break; + case CODE_SJIS: + code = sjis2euc(code); + break; + } + if((c_code == CODE_KUTEN2) || (c_code == CODE_JIS2) || (c_code == CODE_EUC2)) - code &= WcX0212MASK; - if (!WcIsZENKAKU(code)) - break; - *out++ = code; - i = 0; + code &= WcX0212MASK; + if(!WcIsZENKAKU(code)) + break; + *out++ = code; + i = 0; } } - *out = (wchar16_t) '\0'; - if (i) { - for (j = 0; j < i; j++) - sw[j] = (wchar16_t) s[j]; - sw[i] = (wchar16_t) '\0'; - i = sj_hantozen(out, sw, i); + *out = (wchar16_t)'\0'; + if(i) { + for(j = 0; j < i; j++) + sw[j] = (wchar16_t)s[j]; + sw[i] = (wchar16_t)'\0'; + i = sj_hantozen(out, sw, i); out += i; } - if (*in != '\0') -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - (void)sj_hantozen(out, in, strlen((char *)in)); -} + if(*in != '\0') + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + (void)sj_hantozen(out, in, strlen((char*)in)); +} +static unsigned char load_mode; -static unsigned char load_mode; - -load_bun (num, s, type) -int num; -wchar16_t *s; -unsigned char type; +load_bun(num, s, type) int num; +wchar16_t* s; +unsigned char type; { - Conversion *cv; - int len, ilen; - unsigned char itype; - wchar16_t Htmp[BUFFLENGTH], Ztmp[BUFFLENGTH * 2]; + Conversion* cv; + int len, ilen; + unsigned char itype; + wchar16_t Htmp[BUFFLENGTH], Ztmp[BUFFLENGTH * 2]; - cv = GetConversion (); - if (num < 0 || (len = cv->Plen[num]) == 0) { + cv = GetConversion(); + if(num < 0 || (len = cv->Plen[num]) == 0) { *s = '\0'; - return(0); + return (0); } - if (type == 0) + if(type == 0) type = MODE_ZHIRA; - if (cv->Bpoint[num] < cv->Bpoint[0]) + if(cv->Bpoint[num] < cv->Bpoint[0]) itype = MODE_ALPHA; else itype = cv->kettei[cv->Bpoint[num] - 1]; - if (type & MODE_ZEN) + if(type & MODE_ZEN) load_mode = 1; else load_mode = 0; - if (type == itype) { + if(type == itype) { Strncpy(s, cv->Ppoint[num], len); s += len; *s = '\0'; - } else { + } else { - if (type == MODE_CODE && itype != MODE_CODE) { + if(type == MODE_CODE && itype != MODE_CODE) { ilen = getistr(Htmp, cv->Ppoint[num], len); Getcode(Htmp, s); len = wslen(s); - } else if ((type & MODE_CONV) && (itype == MODE_ALPHA || - itype == MODE_ZALPHA)) { + } else if((type & MODE_CONV) && (itype == MODE_ALPHA || + itype == MODE_ZALPHA)) { ilen = sj_zentohan(Htmp, cv->Ppoint[num], len); ilen = sj_rkconv(Ztmp, Htmp, ilen); - if (type & MODE_ZEN) { + if(type & MODE_ZEN) { len = sj_hantozen(s, Ztmp, ilen); - if (type == MODE_ZKATA) { + if(type == MODE_ZKATA) { wscpy(Ztmp, s); sj_htok(s, Ztmp); } - } else + } else len = sj_zentohan(s, Ztmp, ilen); - } else if (!(type & MODE_CONV) && (itype == MODE_CODE || - itype & MODE_CONV)) { - if (type & MODE_ZEN) { + } else if(!(type & MODE_CONV) && (itype == MODE_CODE || + itype & MODE_CONV)) { + if(type & MODE_ZEN) { ilen = getistr(Htmp, cv->Ppoint[num], len); - len = sj_hantozen(s, Htmp, ilen); + len = sj_hantozen(s, Htmp, ilen); } else { len = getistr(s, cv->Ppoint[num], len); } } else { - if (type & MODE_ZEN) { + if(type & MODE_ZEN) { len = sj_hantozen(Ztmp, cv->Ppoint[num], len); - if (type == MODE_ZKATA) + if(type == MODE_ZKATA) sj_htok(s, Ztmp); else sj_ktoh(s, Ztmp); - } else + } else len = sj_zentohan(s, cv->Ppoint[num], len); } - } - return(len); + return (len); } -load_bun2(num, htmp, ztmp, omode) -int num; -wchar16_t *htmp, *ztmp; -unsigned short *omode; +load_bun2(num, htmp, ztmp, omode) int num; +wchar16_t * htmp, *ztmp; +unsigned short* omode; { - Conversion *cv; - int i; - int len, ilen; - unsigned short *op; + Conversion* cv; + int i; + int len, ilen; + unsigned short* op; unsigned char type; - wchar16_t Ztmp[DLEN + 1]; + wchar16_t Ztmp[DLEN + 1]; - - cv = GetConversion (); - if (num < 0 || (len = cv->Plen[num]) == 0) { + cv = GetConversion(); + if(num < 0 || (len = cv->Plen[num]) == 0) { *ztmp = '\0'; - return(0); + return (0); } - if (cv->Bpoint[num] < cv->Bpoint[0]) + if(cv->Bpoint[num] < cv->Bpoint[0]) i = cv->span_point; else i = cv->Bpoint[num]; type = cv->kettei[i - 1]; - if (type == MODE_ZHIRA || type == MODE_ZKATA) { - if (len > DLEN) - return(len); - if (type == MODE_ZHIRA) { + if(type == MODE_ZHIRA || type == MODE_ZKATA) { + if(len > DLEN) + return (len); + if(type == MODE_ZHIRA) { Strncpy(ztmp, cv->Ppoint[num], len); ztmp += len; *ztmp = '\0'; } else { Strncpy(Ztmp, cv->Ppoint[num], len); Ztmp[len] = '\0'; - sj_ktoh(ztmp, Ztmp); + sj_ktoh(ztmp, Ztmp); } (void)load_bun(num, htmp, MODE_ALPHA); op = &cv->out_mode[cv->Ppoint[num] - cv->Ppoint[0]]; - for (i = 0; i < len; i++) + for(i = 0; i < len; i++) *omode++ = *op++; } else { ilen = load_bun(num, htmp, MODE_ALPHA); - len = sj_rkconv2(ztmp, htmp, omode, ilen); + len = sj_rkconv2(ztmp, htmp, omode, ilen); } - return(len); + return (len); } getistr(s, ostr, len) -wchar16_t *s, *ostr; + wchar16_t* s, + *ostr; int len; { - int ipos, opos; - Conversion *cv; - int rlen; + int ipos, opos; + Conversion* cv; + int rlen; - cv = GetConversion(); + cv = GetConversion(); opos = ostr - cv->out_buf; - if (!(cv->out_mode[opos] & OMODE_MASK)) + if(!(cv->out_mode[opos] & OMODE_MASK)) chhstr(cv->Halpha, cv->out_buf, cv->out_mode, opos); ipos = getipos(opos); - if (*(ostr + len) != '\0' && !(cv->out_mode[opos + len] & OMODE_MASK)) + if(*(ostr + len) != '\0' && !(cv->out_mode[opos + len] & OMODE_MASK)) chhstr(cv->Halpha, cv->out_buf, cv->out_mode, opos + len); rlen = getipos(opos + len) - ipos; Strncpy(s, &cv->Halpha[ipos], rlen); s += rlen; - *s = (wchar16_t) '\0'; - return(rlen); + *s = (wchar16_t)'\0'; + return (rlen); } -exec_muhenkan (first) -int first; +exec_muhenkan(first) int first; { - Conversion *cv; + Conversion* cv; - cv = GetConversion (); - cv->Bnum = 1; - cv->Ppoint[0] = &(cv->out_buf[0]); - cv->Plen[0] = cv->out_point; + cv = GetConversion(); + cv->Bnum = 1; + cv->Ppoint[0] = &(cv->out_buf[0]); + cv->Plen[0] = cv->out_point; cv->OrgPlen[0] = cv->Plen[0]; cv->Pedited[0] = 0; - if (first) { + if(first) { cv->Bkettei[0] = Bmuhenkan; cv->Pkettei[0] = cv->Imode; - } - else if (cv->Bkettei[0] != Bmuhenkan) { + } else if(cv->Bkettei[0] != Bmuhenkan) { cv->Bkettei[0] = Bmuhenkan; cv->Pkettei[0] = MODE_ZHIRA; - } - else if (cv->Pkettei[0] != MODE_ZHIRA) { + } else if(cv->Pkettei[0] != MODE_ZHIRA) { cv->Pkettei[0] = MODE_ZHIRA; - } - else { + } else { cv->Pkettei[0] = MODE_ZKATA; } - if (flush_conversion) + if(flush_conversion) cv->PreBun = cv->CurBun = -1; else cv->PreBun = cv->CurBun = 0; - cv->Dflag = -1; - cv->Enum = 0; + cv->Dflag = -1; + cv->Enum = 0; cv->e_point = 0; - cv->Kanji = 1; + cv->Kanji = 1; - Bdisp (1); + Bdisp(1); } +static unsigned char Bstr_mode; - -static unsigned char Bstr_mode; - -Bstr (bnum, s) -int bnum; -wchar16_t *s; +Bstr(bnum, s) int bnum; +wchar16_t* s; { - Conversion *cv; - int i, len; + Conversion* cv; + int i, len; - cv = GetConversion (); - if (cv->Bkettei[bnum] & Bmuhenkan) { - len = load_bun (bnum, s, cv->Pkettei[bnum]); + cv = GetConversion(); + if(cv->Bkettei[bnum] & Bmuhenkan) { + len = load_bun(bnum, s, cv->Pkettei[bnum]); Bstr_mode = load_mode; - } - else if (cv->Bkettei[bnum] & Bedit) { - i = cv->Edit[bnum]; + } else if(cv->Bkettei[bnum] & Bedit) { + i = cv->Edit[bnum]; len = cv->Elen[i]; - if (len <= DLEN) { - if (cv->Epoint[i] != NULL) { + if(len <= DLEN) { + if(cv->Epoint[i] != NULL) { Strncpy(s, cv->Epoint[i], len); s += len; *s = '\0'; } else len = -1; - } - else - len = load_bun (bnum, s, 0); + } else + len = load_bun(bnum, s, 0); Bstr_mode = 1; - } - else if (cv->Bkettei[bnum] & Bhenkan) { - if (!(i = cv->Bpoint[bnum])) { - len = -1; - return len; - } - if (cv->Bun[i - 1].deststr != NULL) { + } else if(cv->Bkettei[bnum] & Bhenkan) { + if(!(i = cv->Bpoint[bnum])) { + len = -1; + return len; + } + if(cv->Bun[i - 1].deststr != NULL) { len = cv->Bun[i - 1].destlen; Strncpy(s, cv->Bun[i - 1].deststr, len); s += len; *s = '\0'; - } else if (cv->Bun[i - 1].srcstr != NULL) { + } else if(cv->Bun[i - 1].srcstr != NULL) { len = cv->Bun[i - 1].srclen; Strncpy(s, cv->Bun[i - 1].srcstr, len); s += len; @@ -579,309 +558,279 @@ wchar16_t *s; } else len = -1; Bstr_mode = 1; - } - else + } else len = -1; return (len); } - - -mode_muhenkan (mod, bkettei) -int mod, bkettei; +mode_muhenkan(mod, bkettei) int mod, bkettei; { - int def; + int def; - if (!(bkettei & Bmuhenkan)) + if(!(bkettei & Bmuhenkan)) return (KEY_ZHIRA); - def = value_muhenkan (); - if (mod == MODE_ZHIRA) + def = value_muhenkan(); + if(mod == MODE_ZHIRA) return (KEY_ZKATA); - else if (mod == MODE_ZKATA) { - if (def != KEY_ZHIRA && def != KEY_ZKATA) + else if(mod == MODE_ZKATA) { + if(def != KEY_ZHIRA && def != KEY_ZKATA) return (def); } return (KEY_ZHIRA); } -Bchange (mod) -int mod; +Bchange(mod) int mod; { - Conversion *cv; - int i; - int PushKettei; + Conversion* cv; + int i; + int PushKettei; - cv = GetConversion (); - if (cv->CurBun == -1) + cv = GetConversion(); + if(cv->CurBun == -1) cv->CurBun = 0; i = cv->PreBun = cv->CurBun; - if (mod == KEY_MUHENKAN) - mod = mode_muhenkan (cv->Pkettei[i], cv->Bkettei[i]); - else if (mod == KEY_TOGGLE) - mod = toggle_mode (cv->Pkettei[i]); + if(mod == KEY_MUHENKAN) + mod = mode_muhenkan(cv->Pkettei[i], cv->Bkettei[i]); + else if(mod == KEY_TOGGLE) + mod = toggle_mode(cv->Pkettei[i]); PushKettei = cv->Bkettei[i]; - if (!(cv->Bkettei[i] & Bmuhenkan)) { + if(!(cv->Bkettei[i] & Bmuhenkan)) { cv->Bkettei[i] |= Bmuhenkan; cv->Bkettei[i] &= ~Bhenkan; } - switch (mod) { + switch(mod) { case KEY_CODE: cv->Pkettei[i] = MODE_CODE; - Rdisp (); + Rdisp(); break; case KEY_ZHIRA: cv->Pkettei[i] = MODE_ZHIRA; - Rdisp (); + Rdisp(); break; case KEY_HALPHA: cv->Pkettei[i] = MODE_HALPHA; - Rdisp (); + Rdisp(); break; case KEY_ZALPHA: cv->Pkettei[i] = MODE_ZALPHA; - Rdisp (); + Rdisp(); break; case KEY_HKATA: cv->Pkettei[i] = MODE_HKATA; - Rdisp (); + Rdisp(); break; case KEY_ZKATA: cv->Pkettei[i] = MODE_ZKATA; - Rdisp (); + Rdisp(); break; default: cv->Bkettei[i] = PushKettei; - beep (); + beep(); break; } } +Bdisp(redraw) { + Conversion* cv; + int i; + int len; + wchar16_t BDtmp[BUFFLENGTH * 2]; + int displen; + int amount = 0; + int tmpcol = 0; + unsigned short row, col; + CursorRead(&row, &col); -Bdisp (redraw) -{ - Conversion *cv; - int i; - int len; - wchar16_t BDtmp[BUFFLENGTH * 2]; - int displen; - int amount = 0; - int tmpcol=0; - unsigned short row, col; - - CursorRead(&row, &col); - - cv = GetConversion (); - Cclear (redraw); - SetVcol (0); - for (i = 0 ; i < cv->Bnum ; i ++) { - if ((len = Bstr (i, BDtmp)) < 0) + cv = GetConversion(); + Cclear(redraw); + SetVcol(0); + for(i = 0; i < cv->Bnum; i++) { + if((len = Bstr(i, BDtmp)) < 0) continue; - amount += len; - if (amount > BUFFLENGTH * 2) { - cv->Bnum = i + 1; - break; - } + amount += len; + if(amount > BUFFLENGTH * 2) { + cv->Bnum = i + 1; + break; + } displen = wcbyte(BDtmp); - tmpcol += displen; - if ((tmpcol > (unsigned int)cv->column) && (row == cv->line) - && (row == cv->SavedRow) && (row > 0)) { - cv->SavedRow--; - tmpcol -= cv->column; - } + tmpcol += displen; + if((tmpcol > (unsigned int)cv->column) && (row == cv->line) && (row == cv->SavedRow) && (row > 0)) { + cv->SavedRow--; + tmpcol -= cv->column; + } cv->Displen[i] = displen; cv->Dispmod[i] = Bstr_mode; - if (len <= 0) + if(len <= 0) continue; - if (i == cv->CurBun) - vprintR (BDtmp, Bstr_mode); + if(i == cv->CurBun) + vprintR(BDtmp, Bstr_mode); else - vprintU (BDtmp, Bstr_mode); + vprintU(BDtmp, Bstr_mode); } - Flush (); + Flush(); } +void Rdisp() { + Conversion* cv; + int i; + int Total; + int len; + wchar16_t BDtmp[BUFFLENGTH * 2]; + int displen; + int amount = 0; + int tmpcol = 0; + unsigned short row, col; -void -Rdisp () -{ - Conversion *cv; - int i; - int Total; - int len; - wchar16_t BDtmp[BUFFLENGTH * 2]; - int displen; - int amount=0; - int tmpcol=0; - unsigned short row, col; + CursorRead(&row, &col); - CursorRead(&row, &col); - - cv = GetConversion (); + cv = GetConversion(); Total = 0; - for (i = 0 ; i < cv->Bnum ; i ++) { - if ((len = Bstr (i, BDtmp)) < 0) + for(i = 0; i < cv->Bnum; i++) { + if((len = Bstr(i, BDtmp)) < 0) continue; - amount += len; - if (amount > BUFFLENGTH * 2) { - cv->Bnum = i + 1; - break; - } + amount += len; + if(amount > BUFFLENGTH * 2) { + cv->Bnum = i + 1; + break; + } displen = wcbyte(BDtmp); - tmpcol += displen; - if ((tmpcol > (unsigned int)cv->column) && (row == cv->line) - && (row == cv->SavedRow) && (row > 0)) { - cv->SavedRow--; - tmpcol -= cv->column; - } - if (cv->Displen[i] != displen || cv->Dispmod[i] != Bstr_mode) { - AfterAllPrint (i, Total); + tmpcol += displen; + if((tmpcol > (unsigned int)cv->column) && (row == cv->line) && (row == cv->SavedRow) && (row > 0)) { + cv->SavedRow--; + tmpcol -= cv->column; + } + if(cv->Displen[i] != displen || cv->Dispmod[i] != Bstr_mode) { + AfterAllPrint(i, Total); return; } - if (len <= 0) + if(len <= 0) continue; - if (i == cv->CurBun || i == cv->PreBun) { - if (i == cv->CurBun) - IprintR (BDtmp, Total); + if(i == cv->CurBun || i == cv->PreBun) { + if(i == cv->CurBun) + IprintR(BDtmp, Total); else - IprintU (BDtmp, Total); + IprintU(BDtmp, Total); } Total += displen; } - Cgoto (Total); - Flush (); + Cgoto(Total); + Flush(); } -AfterAllPrint (from, Total) -int from; -int Total; +AfterAllPrint(from, Total) int from; +int Total; { - Conversion *cv; - int i; - int len; - wchar16_t BDtmp[BUFFLENGTH * 2]; - int displen; - int amount=0; - int tmpcol=0; - unsigned short row, col; + Conversion* cv; + int i; + int len; + wchar16_t BDtmp[BUFFLENGTH * 2]; + int displen; + int amount = 0; + int tmpcol = 0; + unsigned short row, col; - CursorRead(&row, &col); + CursorRead(&row, &col); - cv = GetConversion (); - Cgoto (Total); - for (i = from ; i < cv->Bnum ; i ++) { - if ((len = Bstr (i, BDtmp)) < 0) + cv = GetConversion(); + Cgoto(Total); + for(i = from; i < cv->Bnum; i++) { + if((len = Bstr(i, BDtmp)) < 0) continue; - amount += len; - if (amount > BUFFLENGTH * 2) { - cv->Bnum = i + 1; - break; - } - displen = wcbyte(BDtmp); - tmpcol += displen; - if ((tmpcol > (unsigned int)cv->column) && (row == cv->line) - && (row == cv->SavedRow) && (row > 0)) { - cv->SavedRow--; - tmpcol -= cv->column; + amount += len; + if(amount > BUFFLENGTH * 2) { + cv->Bnum = i + 1; + break; } - cv->Displen[i] = displen; + displen = wcbyte(BDtmp); + tmpcol += displen; + if((tmpcol > (unsigned int)cv->column) && (row == cv->line) && (row == cv->SavedRow) && (row > 0)) { + cv->SavedRow--; + tmpcol -= cv->column; + } + cv->Displen[i] = displen; cv->Dispmod[i] = Bstr_mode; - if (len <= 0) + if(len <= 0) continue; - if (i == cv->CurBun) - vprintR (BDtmp, Bstr_mode); + if(i == cv->CurBun) + vprintR(BDtmp, Bstr_mode); else - vprintU (BDtmp, Bstr_mode); + vprintU(BDtmp, Bstr_mode); Total += displen; } - ClearToMax (); - Cgoto (Total); - Flush (); + ClearToMax(); + Cgoto(Total); + Flush(); } +void Bright() { + Conversion* cv; + int flag; -void -Bright () -{ - Conversion *cv; - int flag; - - cv = GetConversion (); - flag = 0; + cv = GetConversion(); + flag = 0; cv->PreBun = cv->CurBun; do { - cv->CurBun ++; - if (cv->CurBun >= cv->Bnum) { - if (flag) + cv->CurBun++; + if(cv->CurBun >= cv->Bnum) { + if(flag) return; else flag = 1; cv->CurBun = 0; } - } while (cv->Plen[cv->CurBun] <= 0); - Rdisp (); + } while(cv->Plen[cv->CurBun] <= 0); + Rdisp(); } +void Bleft() { + Conversion* cv; + int flag; -void -Bleft () -{ - Conversion *cv; - int flag; - - cv = GetConversion (); - flag = 0; + cv = GetConversion(); + flag = 0; cv->PreBun = cv->CurBun; do { - cv->CurBun --; - if (cv->CurBun < 0) { - if (flag) + cv->CurBun--; + if(cv->CurBun < 0) { + if(flag) return; else flag = 1; cv->CurBun = cv->Bnum - 1; } - } while (cv->Plen[cv->CurBun] <= 0); - Rdisp (); + } while(cv->Plen[cv->CurBun] <= 0); + Rdisp(); } +void Blast() { + Conversion* cv; -void -Blast () -{ - Conversion *cv; - - cv = GetConversion (); + cv = GetConversion(); cv->PreBun = cv->CurBun; cv->CurBun = cv->Bnum - 1; - while (cv->Plen[cv->CurBun] <= 0) { + while(cv->Plen[cv->CurBun] <= 0) { cv->CurBun--; - if (cv->CurBun < 0) + if(cv->CurBun < 0) return; } Rdisp(); - } +void Btop() { + Conversion* cv; -void -Btop () -{ - Conversion *cv; - - cv = GetConversion (); + cv = GetConversion(); cv->PreBun = cv->CurBun; cv->CurBun = 0; - while (cv->Plen[cv->CurBun] <= 0) { + while(cv->Plen[cv->CurBun] <= 0) { cv->CurBun++; - if (cv->CurBun >= cv->Bnum) + if(cv->CurBun >= cv->Bnum) return; } Rdisp(); } - - diff --git a/henkan.h b/henkan.h index c28dd28..0850121 100644 --- a/henkan.h +++ b/henkan.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,23 +28,21 @@ */ /* - * $SonyRCSfile: henkan.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: henkan.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:43 $ */ +#define ObjEnd 0 +#define ObjHenkan 1 +#define ObjMuhenkan 2 +#define Bend 0 +#define Bhenkan 1 +#define Bmuhenkan 2 +#define Bedit 4 +#define BEDIT 8 -#define ObjEnd 0 -#define ObjHenkan 1 -#define ObjMuhenkan 2 - -#define Bend 0 -#define Bhenkan 1 -#define Bmuhenkan 2 -#define Bedit 4 -#define BEDIT 8 - -#define DLEN (DOUONLEN*2) -#define EDITLEN (BUFFLENGTH*DLEN) -#define MAXENUM (EDITLEN/DLEN) +#define DLEN (DOUONLEN * 2) +#define EDITLEN (BUFFLENGTH * DLEN) +#define MAXENUM (EDITLEN / DLEN) diff --git a/hindo.c b/hindo.c index 5743da0..68800c6 100644 --- a/hindo.c +++ b/hindo.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,395 +28,328 @@ */ /* - * $SonyRCSfile: hindo.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: hindo.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1994/08/17 01:50:26 $ * * $Id$ */ - #include #include #include #include "sj_struct.h" #include "dicttool.h" -extern HindoRec *hindo[]; -extern int hindo_num; -extern AssyukuRec *assyuku; -extern HindoRec *askknj[]; -extern int askknj_num; -extern int kanji_num; +extern HindoRec* hindo[]; +extern int hindo_num; +extern AssyukuRec* assyuku; +extern HindoRec* askknj[]; +extern int askknj_num; +extern int kanji_num; +int check_hindo(unsigned char* ptr, int len) { + int low, high, mid; + int i; -int -check_hindo(unsigned char* ptr, int len) -{ - int low, high, mid; - int i; + if(hindo_num <= 0) return 0; - - if (hindo_num <= 0) return 0; - - - low = 0; high = hindo_num - 1; - while (low <= high) { + low = 0; + high = hindo_num - 1; + while(low <= high) { mid = (low + high) / 2; - i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, ptr, len); - if (i > 0) + i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, ptr, len); + if(i > 0) high = mid - 1; - else if (i < 0) + else if(i < 0) low = ++mid; else - return(hindo[mid]->exist + hindo[mid]->hindo); + return (hindo[mid]->exist + hindo[mid]->hindo); } return 0; } - - static AssyukuRec* -makeassyuku (int num) -{ - AssyukuRec *arec; +makeassyuku(int num) { + AssyukuRec* arec; - - arec = (AssyukuRec *)Malloc(sizeof(AssyukuRec)); - if (!arec) { + arec = (AssyukuRec*)Malloc(sizeof(AssyukuRec)); + if(!arec) { fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n"); exit(1); } - - arec -> len = num; - arec -> nrec = NULL; - arec -> anext = NULL; + arec->len = num; + arec->nrec = NULL; + arec->anext = NULL; return arec; } - static int -assyuku_len(HindoRec* hrec) -{ - int org; - int old; - int new; - OffsetRec *p; +assyuku_len(HindoRec* hrec) { + int org; + int old; + int new; + OffsetRec* p; - - if (((*(hrec->kptr) & KanjiModeMask) == OffsetAssyuku) && - (hrec->klen == 2)) { - - p = real_ofsrec(hrec -> kptr); + if(((*(hrec->kptr) & KanjiModeMask) == OffsetAssyuku) && + (hrec->klen == 2)) { - - org = check_hindo(p -> kptr, p -> klen); + p = real_ofsrec(hrec->kptr); + + org = check_hindo(p->kptr, p->klen); - - old = p->klen * org + 2 * (hrec->exist + hrec->hindo); - - new = p->klen + (hrec->exist + hrec->hindo + org); } - - else { - - old = hrec -> klen * (hrec -> exist + hrec -> hindo); - - new = hrec -> klen + (hrec -> exist + hrec -> hindo); + else { + + old = hrec->klen * (hrec->exist + hrec->hindo); + + new = hrec->klen + (hrec->exist + hrec->hindo); } - return (old - new); } - - static void -set_assyuku(HindoRec* hrec) -{ - AssyukuRec *arec; - AssyukuRec *aprev; - int len; +set_assyuku(HindoRec* hrec) { + AssyukuRec* arec; + AssyukuRec* aprev; + int len; - len = assyuku_len(hrec); - - if (len <= 0) return; + if(len <= 0) return; - - arec = assyuku; aprev = NULL; - while (arec) { - - if (arec -> len == len) { - - hrec -> arec = arec; - hrec -> anext = arec -> nrec; - arec -> nrec = hrec; + arec = assyuku; + aprev = NULL; + while(arec) { + + if(arec->len == len) { + + hrec->arec = arec; + hrec->anext = arec->nrec; + arec->nrec = hrec; return; } - - else if (arec -> len < len) + + else if(arec->len < len) break; aprev = arec; - arec = arec -> anext; + arec = arec->anext; } - arec = makeassyuku(len); - - hrec -> anext = NULL; - hrec -> arec = arec; - arec -> nrec = hrec; + hrec->anext = NULL; + hrec->arec = arec; + arec->nrec = hrec; - - if (aprev) { - arec -> anext = aprev -> anext; - aprev -> anext = arec; - } - else { - arec -> anext = assyuku; - assyuku = arec; + if(aprev) { + arec->anext = aprev->anext; + aprev->anext = arec; + } else { + arec->anext = assyuku; + assyuku = arec; } } - - static void -reset_assyuku(HindoRec* hrec) -{ - AssyukuRec *arec; - AssyukuRec *aptr; - AssyukuRec *aprev; - HindoRec *hptr; - HindoRec *hprev; +reset_assyuku(HindoRec* hrec) { + AssyukuRec* arec; + AssyukuRec* aptr; + AssyukuRec* aprev; + HindoRec* hptr; + HindoRec* hprev; - arec = hrec -> arec; + arec = hrec->arec; - - if (!arec) return; - hrec -> arec = NULL; + if(!arec) return; + hrec->arec = NULL; - - hptr = arec -> nrec; hprev = NULL; - while (hptr) { - if (hptr == hrec) break; + hptr = arec->nrec; + hprev = NULL; + while(hptr) { + if(hptr == hrec) break; hprev = hptr; - hptr = hptr -> anext; + hptr = hptr->anext; } - - if (!hptr) return; + if(!hptr) return; - - if (hprev) { - hprev -> anext = hrec -> anext; - hrec -> anext = NULL; + if(hprev) { + hprev->anext = hrec->anext; + hrec->anext = NULL; return; } - - if (hrec -> anext) { - arec -> nrec = hrec -> anext; - hrec -> anext = NULL; + if(hrec->anext) { + arec->nrec = hrec->anext; + hrec->anext = NULL; return; } - - - - if (!assyuku) return; - aptr = assyuku; aprev = NULL; - while (aptr) { - if (aptr == arec) break; + if(!assyuku) return; + aptr = assyuku; + aprev = NULL; + while(aptr) { + if(aptr == arec) break; aprev = aptr; - aptr = aptr -> anext; + aptr = aptr->anext; } - - if (!aptr) return; + if(!aptr) return; + + if(aprev) + aprev->anext = arec->anext; - - if (aprev) - aprev -> anext = arec -> anext; - else - assyuku = arec -> anext; + assyuku = arec->anext; - Free(arec); - - hrec -> anext = NULL; + hrec->anext = NULL; } - - static HindoRec* -makehindo(unsigned char* ptr, int len, int alen) -{ - HindoRec *hrec; - unsigned char *p; +makehindo(unsigned char* ptr, int len, int alen) { + HindoRec* hrec; + unsigned char* p; - - hrec = (HindoRec *)Malloc(sizeof(HindoRec)); - if (!hrec) { + hrec = (HindoRec*)Malloc(sizeof(HindoRec)); + if(!hrec) { fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n"); exit(1); } - p = (unsigned char *)Malloc(len); - if (!p) { + p = (unsigned char*)Malloc(len); + if(!p) { fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n"); exit(1); } - - hrec -> klen = len; - hrec -> kptr = p; - if (len == alen && len > 2) { - hrec -> hindo = 0; - hrec -> exist = 1; - hrec -> offset = ++kanji_num; + + hrec->klen = len; + hrec->kptr = p; + if(len == alen && len > 2) { + hrec->hindo = 0; + hrec->exist = 1; + hrec->offset = ++kanji_num; + } else { + hrec->hindo = 1; + hrec->exist = 0; + hrec->offset = 0; } - else { - hrec -> hindo = 1; - hrec -> exist = 0; - hrec -> offset = 0; - } - while (len-- > 0) *p++ = *ptr++; - hrec -> anext = NULL; - hrec -> arec = NULL; + while(len-- > 0) *p++ = *ptr++; + hrec->anext = NULL; + hrec->arec = NULL; return hrec; } - - static void -set_hindo(unsigned char* ptr, int len, int alen) -{ - HindoRec *hrec; - int low, high, mid; - int i; +set_hindo(unsigned char* ptr, int len, int alen) { + HindoRec* hrec; + int low, high, mid; + int i; - - if (hindo_num <= 0) { - hrec = makehindo(ptr, len, alen); - hindo[0]= hrec; + if(hindo_num <= 0) { + hrec = makehindo(ptr, len, alen); + hindo[0] = hrec; hindo_num = 1; - set_assyuku(hrec); return; } - - low = 0; high = hindo_num - 1; - while (low <= high) { + low = 0; + high = hindo_num - 1; + while(low <= high) { mid = (low + high) / 2; - i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, ptr, len); - if (i > 0) + i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, ptr, len); + if(i > 0) high = mid - 1; - else if (i < 0) + else if(i < 0) low = ++mid; else break; } - - if (i) { - if (hindo_num >= MaxHindoNumber) { + if(i) { + if(hindo_num >= MaxHindoNumber) { fprintf(stderr, "\311\321\305\331\245\306\241\274\245\326\245\353\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n"); exit(1); } - hrec = makehindo(ptr, len, alen); - - for (i = hindo_num ; i > mid ; i--) hindo[i] = hindo[i - 1]; + for(i = hindo_num; i > mid; i--) hindo[i] = hindo[i - 1]; hindo[mid] = hrec; hindo_num++; } - + else { hrec = hindo[mid]; - reset_assyuku(hrec); - - if (hrec -> exist > 0) - hrec -> exist += 1; + if(hrec->exist > 0) + hrec->exist += 1; - - else if (len == alen && len > 2) { - hrec -> exist = 1; - hrec -> offset = ++kanji_num; + else if(len == alen && len > 2) { + hrec->exist = 1; + hrec->offset = ++kanji_num; } - else - hrec -> hindo += 1; + hrec->hindo += 1; } - set_assyuku(hrec); } - - static void -reset_hindo(unsigned char* p, int l) -{ - HindoRec *hrec; - int low, high, mid; - int i; +reset_hindo(unsigned char* p, int l) { + HindoRec* hrec; + int low, high, mid; + int i; - - if (hindo_num <= 0) return; + if(hindo_num <= 0) return; - - low = 0; high = hindo_num - 1; - while (low <= high) { + low = 0; + high = hindo_num - 1; + while(low <= high) { mid = (low + high) / 2; - i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, p, l); - if (i > 0) + i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, p, l); + if(i > 0) high = mid - 1; - else if (i < 0) + else if(i < 0) low = ++mid; - + else { hrec = hindo[mid]; - reset_assyuku(hrec); - if (hrec -> exist > 0) - hrec -> exist -= 1; - else if (hrec -> hindo > 0) - hrec -> hindo -= 1; + if(hrec->exist > 0) + hrec->exist -= 1; + else if(hrec->hindo > 0) + hrec->hindo -= 1; - - if (hrec -> exist + hrec -> hindo == 0) { - while (++mid < hindo_num) { + if(hrec->exist + hrec->hindo == 0) { + while(++mid < hindo_num) { hindo[mid - 1] = hindo[mid]; } hindo_num--; - Free(hrec -> kptr); + Free(hrec->kptr); Free(hrec); - } - else { - + } else { + set_assyuku(hrec); } @@ -426,170 +359,141 @@ reset_hindo(unsigned char* p, int l) } } +void knjhnd_set(unsigned char* p, int l) { + unsigned char* kp1; + unsigned char* kp2; + int i; + int kl1; + unsigned char tmp[MaxKanjiLength * 2 + MaxAtrNumber * 2 + 1]; -void -knjhnd_set(unsigned char* p, int l) -{ - unsigned char *kp1; - unsigned char *kp2; - int i; - int kl1; - unsigned char tmp[MaxKanjiLength * 2 + MaxAtrNumber * 2 + 1]; + for(kp1 = p, kl1 = l; kl1 > 0;) { - for (kp1 = p, kl1 = l ; kl1 > 0 ; ) { - - - for (i = 0, kp2 = kp1 ; i < kl1 ; ) { - if (codesize(*kp2) == 1) { + for(i = 0, kp2 = kp1; i < kl1;) { + if(codesize(*kp2) == 1) { tmp[i++] = *kp2++; - } - else if (codesize(*kp2) == 2) { + } else if(codesize(*kp2) == 2) { tmp[i++] = *kp2++; tmp[i++] = *kp2++; } else { - tmp[i++] = *kp2++; - tmp[i++] = *kp2++; - tmp[i++] = *kp2++; + tmp[i++] = *kp2++; + tmp[i++] = *kp2++; + tmp[i++] = *kp2++; } set_hindo(tmp, i, l); } - kl1 -= codesize(*kp1); kp1 += codesize(*kp1); } } +void knjhnd_reset(unsigned char* p, int l) { + unsigned char* kp1; + unsigned char* kp2; + int i; + int kl1; + unsigned char tmp[MaxKanjiLength * 2 + MaxAtrNumber * 2 + 1]; -void -knjhnd_reset(unsigned char* p, int l) -{ - unsigned char *kp1; - unsigned char *kp2; - int i; - int kl1; - unsigned char tmp[MaxKanjiLength * 2 + MaxAtrNumber * 2 + 1]; + for(kp1 = p, kl1 = l; kl1 > 0;) { - for (kp1 = p, kl1 = l ; kl1 > 0 ; ) { - - - for (i = 0, kp2 = kp1 ; i < kl1 ; ) { - if (codesize(*kp2) == 1) { + for(i = 0, kp2 = kp1; i < kl1;) { + if(codesize(*kp2) == 1) { tmp[i++] = *kp2++; - } - else if (codesize(*kp2) == 2) { + } else if(codesize(*kp2) == 2) { tmp[i++] = *kp2++; tmp[i++] = *kp2++; } else { - tmp[i++] = *kp2++; - tmp[i++] = *kp2++; - tmp[i++] = *kp2++; + tmp[i++] = *kp2++; + tmp[i++] = *kp2++; + tmp[i++] = *kp2++; } reset_hindo(tmp, i); } - kl1 -= codesize(*kp1); kp1 += codesize(*kp1); } } - - static int -check_assyuku(HindoRec* p, HindoRec* q) -{ - unsigned char ptmp[128], qtmp[128]; - int plen; - int qlen; +check_assyuku(HindoRec* p, HindoRec* q) { + unsigned char ptmp[128], qtmp[128]; + int plen; + int qlen; - - plen = make_knjstr(p -> kptr, p -> klen, ptmp); + plen = make_knjstr(p->kptr, p->klen, ptmp); - - qlen = make_knjstr(q -> kptr, q -> klen, qtmp); + qlen = make_knjstr(q->kptr, q->klen, qtmp); - - if (bubun_str(ptmp, plen, qtmp, qlen)) { + if(bubun_str(ptmp, plen, qtmp, qlen)) { return -1; } - - if (overlap_str(ptmp, plen, qtmp, qlen)) + if(overlap_str(ptmp, plen, qtmp, qlen)) return -1; return 0; } - -int -decide_knjask(void) -{ - int i, j; - AssyukuRec *p; - HindoRec *q; - unsigned char *r; - int len = 0; +int decide_knjask(void) { + int i, j; + AssyukuRec* p; + HindoRec* q; + unsigned char* r; + int len = 0; askknj_num = 0; - - for (p = assyuku ; p ; p = p -> anext) { + for(p = assyuku; p; p = p->anext) { - - if (p -> len <= 0) break; + if(p->len <= 0) break; - - for (q = p -> nrec ; q ; q = q -> anext) { + for(q = p->nrec; q; q = q->anext) { - - i = q -> klen; - r = q -> kptr; - if (i > 2) { - while (i > 0) { - if ((*r & KanjiModeMask) - == OffsetAssyuku) { + i = q->klen; + r = q->kptr; + if(i > 2) { + while(i > 0) { + if((*r & KanjiModeMask) == OffsetAssyuku) { break; } j = codesize(*r); i -= j; r += j; } - if (i) continue; + if(i) continue; } - if (askknj_num) { - - for (i = 0 ; i < askknj_num ; i++) { - if (check_assyuku(askknj[i], q)) + if(askknj_num) { + + for(i = 0; i < askknj_num; i++) { + if(check_assyuku(askknj[i], q)) break; } - - if (i >= askknj_num) { + if(i >= askknj_num) { askknj[askknj_num++] = q; - len += p -> len; - if (askknj_num >= MaxKnjAskNumber) + len += p->len; + if(askknj_num >= MaxKnjAskNumber) goto end; } - } - else { + } else { askknj[askknj_num++] = q; - len += p -> len; + len += p->len; } } } end: { - int i, j, len; - unsigned char *p; + int i, j, len; + unsigned char* p; - for (i = 0 ; i < askknj_num ; i++) { - len = askknj[i] -> klen; - p = askknj[i] -> kptr; - if (len <= 2) continue; - while (len > 0) { - if ((*p & KanjiModeMask) == OffsetAssyuku) { + for(i = 0; i < askknj_num; i++) { + len = askknj[i]->klen; + p = askknj[i]->kptr; + if(len <= 2) continue; + while(len > 0) { + if((*p & KanjiModeMask) == OffsetAssyuku) { printf("\245\252\245\325\245\273\245\303\245\310\260\265\275\314\244\362\264\336\244\340 %d\n", i); } j = codesize(*p); @@ -601,13 +505,10 @@ end: return len; } +void clear_hindo(void) { + int i; -void -clear_hindo(void) -{ - int i; - - for (i = 0 ; i < hindo_num ; i++) { + for(i = 0; i < hindo_num; i++) { Free(hindo[i]->kptr); Free(hindo[i]); } @@ -615,15 +516,12 @@ clear_hindo(void) kanji_num = 0; } +void clear_assyuku(void) { + AssyukuRec* p; -void -clear_assyuku(void) -{ - AssyukuRec *p; - - while (assyuku) { - p = assyuku; - assyuku = assyuku -> anext; + while(assyuku) { + p = assyuku; + assyuku = assyuku->anext; Free(p); } } diff --git a/hinsi.c b/hinsi.c index de704ca..d6fdd54 100644 --- a/hinsi.c +++ b/hinsi.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,231 +28,227 @@ */ /* - * $SonyRCSfile: hinsi.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: hinsi.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:36 $ */ - - - #include "sj_hinsi.h" -static struct hlist { - int code; - char *str; +static struct hlist { + int code; + char* str; } hinsi[] = { - {MEISI_1, "\314\276\273\354"}, - {MEISI_1, "\314\276\243\261"}, - {MEISI_2, "\314\276\243\262"}, - {MEISI_3, "\314\276\243\263"}, - {MEISI_4, "\314\276\243\264"}, - {MEISI_5, "\314\276\243\265"}, - {MEISI_6, "\314\276\243\266"}, - {MEISI_7, "\314\276\243\267"}, - {MEISI_8, "\314\276\243\270"}, - {MEISI_9, "\314\276\243\271"}, - {MEISI_10, "\314\276\243\261\243\260"}, - {MEISI_11, "\314\276\243\261\243\261"}, - {MEISI_20, "\314\276\243\262\243\260"}, - {D_MEISI_1, "\302\345\314\276\273\354"}, - {D_MEISI_1, "\302\345\243\261"}, - {D_MEISI_2, "\302\345\243\262"}, - {D_MEISI_3, "\302\345\243\263"}, - {D_MEISI_4, "\302\345\243\264"}, - {D_MEISI_5, "\302\345\243\265"}, - {D_MEISI_6, "\302\345\243\266"}, - {MYOUJI, "\311\304\273\372"}, - {NAMAE, "\314\276\301\260"}, - {KIGYOU, "\264\353\266\310"}, - {TIMEI, "\303\317\314\276"}, - {KEN_KU, "\270\251\241\277\266\350\314\276"}, - {KEN_KU, "\270\251\266\350"}, - {RENTAISI, "\317\242\302\316\273\354"}, - {RENTAISI, "\317\242\302\316"}, - {SETUZOKU, "\300\334\302\263\273\354"}, - {SETUZOKU, "\300\334\302\263"}, - {KANDOUSI, "\264\266\306\260"}, - {JOSUUSI, "\275\365\277\364\273\354"}, - {JOSUUSI, "\275\365\277\364"}, - {SUUSI, "\277\364\273\354"}, - {SETTOU_1, "\300\334\306\254\270\354"}, - {SETTOU_1, "\300\334\306\254\243\261"}, - {SETTOU_2, "\300\334\306\254\243\262"}, - {SETTOU_3, "\300\334\306\254\243\263"}, - {SETTOU_4, "\300\334\306\254\243\264"}, - {SETTOU_5, "\300\334\306\254\243\265"}, - {SETUBI_1, "\300\334\310\370\270\354"}, - {SETUBI_1, "\300\334\310\370\243\261"}, - {SETUBI_2, "\300\334\310\370\243\262"}, - {SETUBI_3, "\300\334\310\370\243\263"}, - {SETUBI_4, "\300\334\310\370\243\264"}, - {SETUBI_5, "\300\334\310\370\243\265"}, - {SETUBI_6, "\300\334\310\370\243\266"}, - {SETUBI_7, "\300\334\310\370\243\267"}, - {SETUBI_8, "\300\334\310\370\243\270"}, - {SETUBI_9, "\300\334\310\370\243\271"}, - {FUKUSI_1, "\311\373\273\354"}, - {FUKUSI_1, "\311\373\243\261"}, - {FUKUSI_2, "\311\373\243\262"}, - {FUKUSI_3, "\311\373\243\263"}, - {FUKUSI_4, "\311\373\243\264"}, - {FUKUSI_5, "\311\373\243\265"}, - {FUKUSI_6, "\311\373\243\266"}, - {FUKUSI_7, "\311\373\243\267"}, - {FUKUSI_8, "\311\373\243\270"}, - {FUKUSI_9, "\311\373\243\271"}, - {JOSUUSI2, "\275\365\277\364\243\262"}, - {KEIYOUSI_1, "\267\301\315\306\273\354"}, - {KEIYOUSI_1, "\267\301\243\261"}, - {KEIYOUSI_2, "\267\301\243\262"}, - {KEIYOUSI_3, "\267\301\243\263"}, - {KEIYOUSI_4, "\267\301\243\264"}, - {KEIYOUSI_5, "\267\301\243\265"}, - {KEIYOUSI_6, "\267\301\243\266"}, - {KEIYOUSI_7, "\267\301\243\267"}, - {KEIYOUSI_8, "\267\301\243\270"}, - {KEIYOUSI_9, "\267\301\243\271"}, - {KEIYOUSI_10, "\267\301\243\261\243\260"}, - {KEIYOUSI_11, "\267\301\243\261\243\261"}, - {KE_DOUSI_1, "\267\301\315\306\306\260\273\354"}, - {KE_DOUSI_1, "\267\301\306\260\243\261"}, - {KE_DOUSI_2, "\267\301\306\260\243\262"}, - {KE_DOUSI_3, "\267\301\306\260\243\263"}, - {KE_DOUSI_4, "\267\301\306\260\243\264"}, - {KE_DOUSI_5, "\267\301\306\260\243\265"}, - {KE_DOUSI_6, "\267\301\306\260\243\266"}, - {KE_DOUSI_7, "\267\301\306\260\243\267"}, - {KE_DOUSI_8, "\267\301\306\260\243\270"}, - {KE_DOUSI_9, "\267\301\306\260\243\271"}, - {DO_SAHEN, "\306\260\241\246\245\265\312\321"}, - {DO_SAHEN, "\245\265\312\321"}, - {DO_ZAHEN, "\306\260\241\246\245\266\312\321"}, - {DO_ZAHEN, "\245\266\312\321"}, - {DO_1DAN_1, "\306\260\241\246\260\354\303\312"}, - {DO_1DAN_1, "\260\354\303\312\243\261"}, - {DO_KAGO_1, "\306\260\241\246\245\253\270\336"}, - {DO_KAGO_1, "\245\253\270\336\243\261"}, - {DO_GAGO_1, "\306\260\241\246\245\254\270\336"}, - {DO_GAGO_1, "\245\254\270\336\243\261"}, - {DO_SAGO_1, "\306\260\241\246\245\265\270\336"}, - {DO_SAGO_1, "\245\265\270\336\243\261"}, - {DO_TAGO_1, "\306\260\241\246\245\277\270\336"}, - {DO_TAGO_1, "\245\277\270\336\243\261"}, - {DO_NAGO_1, "\306\260\241\246\245\312\270\336"}, - {DO_NAGO_1, "\245\312\270\336"}, - {DO_BAGO_1, "\306\260\241\246\245\320\270\336"}, - {DO_BAGO_1, "\245\320\270\336\243\261"}, - {DO_MAGO_1, "\306\260\241\246\245\336\270\336"}, - {DO_MAGO_1, "\245\336\270\336\243\261"}, - {DO_RAGO_1, "\306\260\241\246\245\351\270\336"}, - {DO_RAGO_1, "\245\351\270\336\243\261"}, - {DO_WAGO_1, "\306\260\241\246\245\357\270\336"}, - {DO_WAGO_1, "\245\357\270\336\243\261"}, - {DO_1DAN_2, "\260\354\303\312\243\262"}, - {DO_KAGO_2, "\245\253\270\336\243\262"}, - {DO_GAGO_2, "\245\254\270\336\243\262"}, - {DO_SAGO_2, "\245\265\270\336\243\262"}, - {DO_TAGO_2, "\245\277\270\336\243\262"}, - {DO_BAGO_2, "\245\320\270\336\243\262"}, - {DO_MAGO_2, "\245\336\270\336\243\262"}, - {DO_RAGO_2, "\245\351\270\336\243\262"}, - {DO_WAGO_2, "\245\357\270\336\243\262"}, - {DO_KAGO_5, "\245\253\270\336\243\265"}, - {DO_GAGO_5, "\245\254\270\336\243\265"}, - {DO_SAGO_5, "\245\265\270\336\243\265"}, - {DO_TAGO_5, "\245\277\270\336\243\265"}, - {DO_BAGO_5, "\245\320\270\336\243\265"}, - {DO_MAGO_5, "\245\336\270\336\243\265"}, - {DO_RAGO_5, "\245\351\270\336\243\265"}, - {DO_WAGO_5, "\245\357\270\336\243\265"}, - {DO_KAGO_6, "\245\253\270\336\243\266"}, - {DO_GAGO_6, "\245\254\270\336\243\266"}, - {DO_SAGO_6, "\245\265\270\336\243\266"}, - {DO_TAGO_6, "\245\277\270\336\243\266"}, - {DO_BAGO_6, "\245\320\270\336\243\266"}, - {DO_MAGO_6, "\245\336\270\336\243\266"}, - {DO_RAGO_6, "\245\351\270\336\243\266"}, - {DO_WAGO_6, "\245\357\270\336\243\266"}, - {DO_1DAN_3, "\260\354\303\312\243\263"}, - {DO_KAGO_3, "\245\253\270\336\243\263"}, - {DO_GAGO_3, "\245\254\270\336\243\263"}, - {DO_SAGO_3, "\245\265\270\336\243\263"}, - {DO_TAGO_3, "\245\277\270\336\243\263"}, - {DO_BAGO_3, "\245\320\270\336\243\263"}, - {DO_MAGO_3, "\245\336\270\336\243\263"}, - {DO_RAGO_3, "\245\351\270\336\243\263"}, - {DO_WAGO_3, "\245\357\270\336\243\263"}, - {DO_1DAN_4, "\260\354\303\312\243\264"}, - {DO_KAGO_4, "\245\253\270\336\243\264"}, - {DO_GAGO_4, "\245\254\270\336\243\264"}, - {DO_SAGO_4, "\245\265\270\336\243\264"}, - {DO_TAGO_4, "\245\277\270\336\243\264"}, - {DO_BAGO_4, "\245\320\270\336\243\264"}, - {DO_MAGO_4, "\245\336\270\336\243\264"}, - {DO_RAGO_4, "\245\351\270\336\243\264"}, - {DO_WAGO_4, "\245\357\270\336\243\264"}, - {DO_KAGO_7, "\245\253\270\336\243\267"}, - {DO_GAGO_7, "\245\254\270\336\243\267"}, - {DO_SAGO_7, "\245\265\270\336\243\267"}, - {DO_TAGO_7, "\245\277\270\336\243\267"}, - {DO_BAGO_7, "\245\320\270\336\243\267"}, - {DO_MAGO_7, "\245\336\270\336\243\267"}, - {DO_RAGO_7, "\245\351\270\336\243\267"}, - {DO_WAGO_7, "\245\357\270\336\243\267"}, - {DO_KAGO_8, "\245\253\270\336\243\270"}, - {DO_GAGO_8, "\245\254\270\336\243\270"}, - {DO_SAGO_8, "\245\265\270\336\243\270"}, - {DO_TAGO_8, "\245\277\270\336\243\270"}, - {DO_BAGO_8, "\245\320\270\336\243\270"}, - {DO_MAGO_8, "\245\336\270\336\243\270"}, - {DO_RAGO_8, "\245\351\270\336\243\270"}, - {DO_WAGO_8, "\245\357\270\336\243\270"}, - {SP_SA_MI1, "\245\265\312\321\314\244\243\261"}, - {SP_SA_MI2, "\245\265\312\321\314\244\243\262"}, - {SP_SA_YOU, "\245\265\312\321\314\244\315\321"}, - {SP_SA_SYU, "\245\265\312\321\275\252\302\316"}, - {SP_SA_KAT, "\245\265\312\321\262\276"}, - {SP_SA_ME1, "\245\265\312\321\314\277\243\261"}, - {SP_SA_ME2, "\245\265\312\321\314\277\243\262"}, - {SP_KA_MIZ, "\245\253\312\321\314\244"}, - {SP_KA_YOU, "\245\253\312\321\315\321"}, - {SP_KA_SYU, "\245\253\312\321\275\252\302\316"}, - {SP_KA_KAT, "\245\253\312\321\262\276"}, - {SP_KA_MEI, "\245\253\312\321\314\277"}, - {TEINEI1, "\303\372\307\253\243\261"}, - {TEINEI2, "\303\372\307\253\243\262"}, - {SP_KA_ONB, "\245\253\270\336\262\273\312\330"}, - {SP_FUKUSI, "\306\303\274\354\311\373"}, - {AISATU, "\260\247\273\242"}, - {SP_KEIYOUSI, "\306\303\274\354\267\301\315\306"}, - {TANKANJI, "\303\261\264\301\273\372"}, - {TANKANJI, "\303\261\264\301"}, - {IKKATU, "\260\354\263\347"}, - {0, 0} -}; + {MEISI_1, "\314\276\273\354"}, + {MEISI_1, "\314\276\243\261"}, + {MEISI_2, "\314\276\243\262"}, + {MEISI_3, "\314\276\243\263"}, + {MEISI_4, "\314\276\243\264"}, + {MEISI_5, "\314\276\243\265"}, + {MEISI_6, "\314\276\243\266"}, + {MEISI_7, "\314\276\243\267"}, + {MEISI_8, "\314\276\243\270"}, + {MEISI_9, "\314\276\243\271"}, + {MEISI_10, "\314\276\243\261\243\260"}, + {MEISI_11, "\314\276\243\261\243\261"}, + {MEISI_20, "\314\276\243\262\243\260"}, + {D_MEISI_1, "\302\345\314\276\273\354"}, + {D_MEISI_1, "\302\345\243\261"}, + {D_MEISI_2, "\302\345\243\262"}, + {D_MEISI_3, "\302\345\243\263"}, + {D_MEISI_4, "\302\345\243\264"}, + {D_MEISI_5, "\302\345\243\265"}, + {D_MEISI_6, "\302\345\243\266"}, + {MYOUJI, "\311\304\273\372"}, + {NAMAE, "\314\276\301\260"}, + {KIGYOU, "\264\353\266\310"}, + {TIMEI, "\303\317\314\276"}, + {KEN_KU, "\270\251\241\277\266\350\314\276"}, + {KEN_KU, "\270\251\266\350"}, + {RENTAISI, "\317\242\302\316\273\354"}, + {RENTAISI, "\317\242\302\316"}, + {SETUZOKU, "\300\334\302\263\273\354"}, + {SETUZOKU, "\300\334\302\263"}, + {KANDOUSI, "\264\266\306\260"}, + {JOSUUSI, "\275\365\277\364\273\354"}, + {JOSUUSI, "\275\365\277\364"}, + {SUUSI, "\277\364\273\354"}, + {SETTOU_1, "\300\334\306\254\270\354"}, + {SETTOU_1, "\300\334\306\254\243\261"}, + {SETTOU_2, "\300\334\306\254\243\262"}, + {SETTOU_3, "\300\334\306\254\243\263"}, + {SETTOU_4, "\300\334\306\254\243\264"}, + {SETTOU_5, "\300\334\306\254\243\265"}, + {SETUBI_1, "\300\334\310\370\270\354"}, + {SETUBI_1, "\300\334\310\370\243\261"}, + {SETUBI_2, "\300\334\310\370\243\262"}, + {SETUBI_3, "\300\334\310\370\243\263"}, + {SETUBI_4, "\300\334\310\370\243\264"}, + {SETUBI_5, "\300\334\310\370\243\265"}, + {SETUBI_6, "\300\334\310\370\243\266"}, + {SETUBI_7, "\300\334\310\370\243\267"}, + {SETUBI_8, "\300\334\310\370\243\270"}, + {SETUBI_9, "\300\334\310\370\243\271"}, + {FUKUSI_1, "\311\373\273\354"}, + {FUKUSI_1, "\311\373\243\261"}, + {FUKUSI_2, "\311\373\243\262"}, + {FUKUSI_3, "\311\373\243\263"}, + {FUKUSI_4, "\311\373\243\264"}, + {FUKUSI_5, "\311\373\243\265"}, + {FUKUSI_6, "\311\373\243\266"}, + {FUKUSI_7, "\311\373\243\267"}, + {FUKUSI_8, "\311\373\243\270"}, + {FUKUSI_9, "\311\373\243\271"}, + {JOSUUSI2, "\275\365\277\364\243\262"}, + {KEIYOUSI_1, "\267\301\315\306\273\354"}, + {KEIYOUSI_1, "\267\301\243\261"}, + {KEIYOUSI_2, "\267\301\243\262"}, + {KEIYOUSI_3, "\267\301\243\263"}, + {KEIYOUSI_4, "\267\301\243\264"}, + {KEIYOUSI_5, "\267\301\243\265"}, + {KEIYOUSI_6, "\267\301\243\266"}, + {KEIYOUSI_7, "\267\301\243\267"}, + {KEIYOUSI_8, "\267\301\243\270"}, + {KEIYOUSI_9, "\267\301\243\271"}, + {KEIYOUSI_10, "\267\301\243\261\243\260"}, + {KEIYOUSI_11, "\267\301\243\261\243\261"}, + {KE_DOUSI_1, "\267\301\315\306\306\260\273\354"}, + {KE_DOUSI_1, "\267\301\306\260\243\261"}, + {KE_DOUSI_2, "\267\301\306\260\243\262"}, + {KE_DOUSI_3, "\267\301\306\260\243\263"}, + {KE_DOUSI_4, "\267\301\306\260\243\264"}, + {KE_DOUSI_5, "\267\301\306\260\243\265"}, + {KE_DOUSI_6, "\267\301\306\260\243\266"}, + {KE_DOUSI_7, "\267\301\306\260\243\267"}, + {KE_DOUSI_8, "\267\301\306\260\243\270"}, + {KE_DOUSI_9, "\267\301\306\260\243\271"}, + {DO_SAHEN, "\306\260\241\246\245\265\312\321"}, + {DO_SAHEN, "\245\265\312\321"}, + {DO_ZAHEN, "\306\260\241\246\245\266\312\321"}, + {DO_ZAHEN, "\245\266\312\321"}, + {DO_1DAN_1, "\306\260\241\246\260\354\303\312"}, + {DO_1DAN_1, "\260\354\303\312\243\261"}, + {DO_KAGO_1, "\306\260\241\246\245\253\270\336"}, + {DO_KAGO_1, "\245\253\270\336\243\261"}, + {DO_GAGO_1, "\306\260\241\246\245\254\270\336"}, + {DO_GAGO_1, "\245\254\270\336\243\261"}, + {DO_SAGO_1, "\306\260\241\246\245\265\270\336"}, + {DO_SAGO_1, "\245\265\270\336\243\261"}, + {DO_TAGO_1, "\306\260\241\246\245\277\270\336"}, + {DO_TAGO_1, "\245\277\270\336\243\261"}, + {DO_NAGO_1, "\306\260\241\246\245\312\270\336"}, + {DO_NAGO_1, "\245\312\270\336"}, + {DO_BAGO_1, "\306\260\241\246\245\320\270\336"}, + {DO_BAGO_1, "\245\320\270\336\243\261"}, + {DO_MAGO_1, "\306\260\241\246\245\336\270\336"}, + {DO_MAGO_1, "\245\336\270\336\243\261"}, + {DO_RAGO_1, "\306\260\241\246\245\351\270\336"}, + {DO_RAGO_1, "\245\351\270\336\243\261"}, + {DO_WAGO_1, "\306\260\241\246\245\357\270\336"}, + {DO_WAGO_1, "\245\357\270\336\243\261"}, + {DO_1DAN_2, "\260\354\303\312\243\262"}, + {DO_KAGO_2, "\245\253\270\336\243\262"}, + {DO_GAGO_2, "\245\254\270\336\243\262"}, + {DO_SAGO_2, "\245\265\270\336\243\262"}, + {DO_TAGO_2, "\245\277\270\336\243\262"}, + {DO_BAGO_2, "\245\320\270\336\243\262"}, + {DO_MAGO_2, "\245\336\270\336\243\262"}, + {DO_RAGO_2, "\245\351\270\336\243\262"}, + {DO_WAGO_2, "\245\357\270\336\243\262"}, + {DO_KAGO_5, "\245\253\270\336\243\265"}, + {DO_GAGO_5, "\245\254\270\336\243\265"}, + {DO_SAGO_5, "\245\265\270\336\243\265"}, + {DO_TAGO_5, "\245\277\270\336\243\265"}, + {DO_BAGO_5, "\245\320\270\336\243\265"}, + {DO_MAGO_5, "\245\336\270\336\243\265"}, + {DO_RAGO_5, "\245\351\270\336\243\265"}, + {DO_WAGO_5, "\245\357\270\336\243\265"}, + {DO_KAGO_6, "\245\253\270\336\243\266"}, + {DO_GAGO_6, "\245\254\270\336\243\266"}, + {DO_SAGO_6, "\245\265\270\336\243\266"}, + {DO_TAGO_6, "\245\277\270\336\243\266"}, + {DO_BAGO_6, "\245\320\270\336\243\266"}, + {DO_MAGO_6, "\245\336\270\336\243\266"}, + {DO_RAGO_6, "\245\351\270\336\243\266"}, + {DO_WAGO_6, "\245\357\270\336\243\266"}, + {DO_1DAN_3, "\260\354\303\312\243\263"}, + {DO_KAGO_3, "\245\253\270\336\243\263"}, + {DO_GAGO_3, "\245\254\270\336\243\263"}, + {DO_SAGO_3, "\245\265\270\336\243\263"}, + {DO_TAGO_3, "\245\277\270\336\243\263"}, + {DO_BAGO_3, "\245\320\270\336\243\263"}, + {DO_MAGO_3, "\245\336\270\336\243\263"}, + {DO_RAGO_3, "\245\351\270\336\243\263"}, + {DO_WAGO_3, "\245\357\270\336\243\263"}, + {DO_1DAN_4, "\260\354\303\312\243\264"}, + {DO_KAGO_4, "\245\253\270\336\243\264"}, + {DO_GAGO_4, "\245\254\270\336\243\264"}, + {DO_SAGO_4, "\245\265\270\336\243\264"}, + {DO_TAGO_4, "\245\277\270\336\243\264"}, + {DO_BAGO_4, "\245\320\270\336\243\264"}, + {DO_MAGO_4, "\245\336\270\336\243\264"}, + {DO_RAGO_4, "\245\351\270\336\243\264"}, + {DO_WAGO_4, "\245\357\270\336\243\264"}, + {DO_KAGO_7, "\245\253\270\336\243\267"}, + {DO_GAGO_7, "\245\254\270\336\243\267"}, + {DO_SAGO_7, "\245\265\270\336\243\267"}, + {DO_TAGO_7, "\245\277\270\336\243\267"}, + {DO_BAGO_7, "\245\320\270\336\243\267"}, + {DO_MAGO_7, "\245\336\270\336\243\267"}, + {DO_RAGO_7, "\245\351\270\336\243\267"}, + {DO_WAGO_7, "\245\357\270\336\243\267"}, + {DO_KAGO_8, "\245\253\270\336\243\270"}, + {DO_GAGO_8, "\245\254\270\336\243\270"}, + {DO_SAGO_8, "\245\265\270\336\243\270"}, + {DO_TAGO_8, "\245\277\270\336\243\270"}, + {DO_BAGO_8, "\245\320\270\336\243\270"}, + {DO_MAGO_8, "\245\336\270\336\243\270"}, + {DO_RAGO_8, "\245\351\270\336\243\270"}, + {DO_WAGO_8, "\245\357\270\336\243\270"}, + {SP_SA_MI1, "\245\265\312\321\314\244\243\261"}, + {SP_SA_MI2, "\245\265\312\321\314\244\243\262"}, + {SP_SA_YOU, "\245\265\312\321\314\244\315\321"}, + {SP_SA_SYU, "\245\265\312\321\275\252\302\316"}, + {SP_SA_KAT, "\245\265\312\321\262\276"}, + {SP_SA_ME1, "\245\265\312\321\314\277\243\261"}, + {SP_SA_ME2, "\245\265\312\321\314\277\243\262"}, + {SP_KA_MIZ, "\245\253\312\321\314\244"}, + {SP_KA_YOU, "\245\253\312\321\315\321"}, + {SP_KA_SYU, "\245\253\312\321\275\252\302\316"}, + {SP_KA_KAT, "\245\253\312\321\262\276"}, + {SP_KA_MEI, "\245\253\312\321\314\277"}, + {TEINEI1, "\303\372\307\253\243\261"}, + {TEINEI2, "\303\372\307\253\243\262"}, + {SP_KA_ONB, "\245\253\270\336\262\273\312\330"}, + {SP_FUKUSI, "\306\303\274\354\311\373"}, + {AISATU, "\260\247\273\242"}, + {SP_KEIYOUSI, "\306\303\274\354\267\301\315\306"}, + {TANKANJI, "\303\261\264\301\273\372"}, + {TANKANJI, "\303\261\264\301"}, + {IKKATU, "\260\354\263\347"}, + {0, 0}}; -char *hns2str(code) -int code; +char* hns2str(code) +int code; { - struct hlist *p; + struct hlist* p; - for (p = hinsi ; p -> code ; p++) { - if (p -> code == code) - return p -> str; + for(p = hinsi; p->code; p++) { + if(p->code == code) + return p->str; } return "ERROR"; } -int str2hns(str) -char *str; +int str2hns(str) +char* str; { - struct hlist *p; + struct hlist* p; - for (p = hinsi ; p -> code ; p++) { - if (strcmp(p -> str, str) == 0) - return p -> code; + for(p = hinsi; p->code; p++) { + if(strcmp(p->str, str) == 0) + return p->code; } return 0; diff --git a/hzstrlen.c b/hzstrlen.c index e887a7a..c4a548b 100644 --- a/hzstrlen.c +++ b/hzstrlen.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: hzstrlen.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: hzstrlen.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:52 $ * * $Id$ */ - #include "sj_euc.h" #include "sj_rename.h" #include "sj_typedef.h" @@ -43,26 +42,21 @@ #include "sj_dict.h" #include "kanakan.h" -int -euc_codesize (unsigned char c) -{ - if ((c & KanjiModeMask) == 0x90) { +int euc_codesize(unsigned char c) { + if((c & KanjiModeMask) == 0x90) { return 1; - } else if (isknj1(c)) { + } else if(isknj1(c)) { return 2; - } else if (c == SS3) { + } else if(c == SS3) { return 3; } else { return 1; } } -int -hzstrlen (unsigned char *ptr, int len) -{ - unsigned char *head; +int hzstrlen(unsigned char* ptr, int len) { + unsigned char* head; head = ptr; - while (len-- > 0) ptr += euc_codesize(*ptr); + while(len-- > 0) ptr += euc_codesize(*ptr); return (ptr - head); } - diff --git a/init.c b/init.c index 85e3cd0..9c43a16 100644 --- a/init.c +++ b/init.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,43 +28,41 @@ */ /* - * $SonyRCSfile: init.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: init.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:54 $ */ - - #include "sj_kcnv.h" -void seg_count(dict) -DICT *dict; +void seg_count(dict) + DICT* dict; { - unsigned char *p; - unsigned char *q; - TypeDicSeg segcnt = 0; + unsigned char* p; + unsigned char* q; + TypeDicSeg segcnt = 0; - if (dict-> getidx) { + if(dict->getidx) { (*dict->getidx)(dict); p = idxbuf; q = p + dict->idxlen; - while (p < q && *p) { + while(p < q && *p) { segcnt++; - while (*p++) ; + while(*p++); } } dict->segunit = (segcnt == 0) ? 1 : segcnt; } -void mkidxtbl(dict) -DICT *dict; +void mkidxtbl(dict) + DICT* dict; { - unsigned char *p; - TypeDicSeg seg; + unsigned char* p; + TypeDicSeg seg; - if (!dict->getidx || !dict->getofs) return; + if(!dict->getidx || !dict->getofs) return; seg = 0; @@ -72,15 +70,13 @@ DICT *dict; (*dict->getofs)(dict); idxofs[0] = 0; - for (p = idxbuf ; p < idxbuf + dict->idxlen && seg < dict->segunit ; ) { + for(p = idxbuf; p < idxbuf + dict->idxlen && seg < dict->segunit;) { idxofs[seg++] = p - idxbuf; - while (*p++) ; + while(*p++); } } -void initwork() -{ - jrt1st = jrt2nd = maxjptr = (JREC *)0; - clt1st = clt2nd = maxclptr = (CLREC *)0; +void initwork() { + jrt1st = jrt2nd = maxjptr = (JREC*)0; + clt1st = clt2nd = maxclptr = (CLREC*)0; } - diff --git a/inkey.h b/inkey.h index 99603d7..a99e7ac 100644 --- a/inkey.h +++ b/inkey.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,17 +28,11 @@ */ /* - * $SonyRCSfile: inkey.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: inkey.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:44 $ */ - - - - - -#define KEYBUFSIZ 520 -#define KEYBUFLIM 512 -#define AVLEN 3 - +#define KEYBUFSIZ 520 +#define KEYBUFLIM 512 +#define AVLEN 3 diff --git a/istrcmp.c b/istrcmp.c index 01d1a91..624e579 100644 --- a/istrcmp.c +++ b/istrcmp.c @@ -33,20 +33,18 @@ #include "const.h" #include "sj_typedef.h" -int -istrcmp(unsigned char *yomip, unsigned char *idxp, int ylen, int ilen) -{ - while (1) { - if ((ilen | ylen) == 0) +int istrcmp(unsigned char* yomip, unsigned char* idxp, int ylen, int ilen) { + while(1) { + if((ilen | ylen) == 0) return MATCH; - if (ilen == 0) + if(ilen == 0) return UNDER; - if ((ylen == 0) || (*yomip < *idxp)) + if((ylen == 0) || (*yomip < *idxp)) return OVER; - if (*yomip > *idxp) + if(*yomip > *idxp) return UNDER; yomip++; diff --git a/kana.h b/kana.h index 2017501..9246feb 100644 --- a/kana.h +++ b/kana.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,65 +28,60 @@ */ /* - * $SonyRCSfile: kana.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: kana.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:45 $ */ +#define ZKATA1 0xa5 +#define ZHIRA1 0xa4 +#define ZKATAF2 0xa1 +#define ZKATAE2 0xf6 +#define ZHIRAF2 0xa1 +#define ZHIRAE2 0xf3 +#define ZKATAMU 0xe0 +#define ZHIRAMU 0xe0 +#define ZKATAn (ZKATAE2 - ZKATAF2 + 1) +#define ZEN_SPACE 0xa1a1 +#define ZEN_KTEN 0xa1a3 +#define ZEN_FKAKKO 0xa1d6 +#define ZEN_EKAKKO 0xa1d7 +#define ZEN_TTEN 0xa1a2 +#define ZEN_CTEN 0xa1a6 +#define ZEN_CHOUON 0xa1bc +#define ZEN_DTEN 0xa1ab +#define ZEN_HDTEN 0xa1ac +#define ZEN_VU 0xa5f4 -#define ZKATA1 0xa5 -#define ZHIRA1 0xa4 -#define ZKATAF2 0xa1 -#define ZKATAE2 0xf6 -#define ZHIRAF2 0xa1 -#define ZHIRAE2 0xf3 -#define ZKATAMU 0xe0 -#define ZHIRAMU 0xe0 +#define KANA_KTEN 0xa1 +#define KANA_FKAKKO 0xa2 +#define KANA_EKAKKO 0xa3 +#define KANA_TTEN 0xa4 +#define KANA_CTEN 0xa5 +#define KANA_CHOUON 0xb0 +#define KANA_DTEN 0xde +#define KANA_HDTEN 0xdf -#define ZKATAn (ZKATAE2-ZKATAF2+1) - +#define KANA_XA 0xa7 +#define KANA_XYA 0xac +#define KANA_XTSU 0xaf +#define KANA_A 0xb1 +#define KANA_KA 0xb6 +#define KANA_SA 0xbb +#define KANA_TA 0xc0 +#define KANA_NA 0xc5 +#define KANA_HA 0xca +#define KANA_MA 0xcf +#define KANA_YA 0xd4 +#define KANA_RA 0xd7 +#define KANA_WA 0xdc +#define KANA_WO 0xa6 -#define ZEN_SPACE 0xa1a1 -#define ZEN_KTEN 0xa1a3 -#define ZEN_FKAKKO 0xa1d6 -#define ZEN_EKAKKO 0xa1d7 -#define ZEN_TTEN 0xa1a2 -#define ZEN_CTEN 0xa1a6 -#define ZEN_CHOUON 0xa1bc -#define ZEN_DTEN 0xa1ab -#define ZEN_HDTEN 0xa1ac -#define ZEN_VU 0xa5f4 - -#define KANA_KTEN 0xa1 -#define KANA_FKAKKO 0xa2 -#define KANA_EKAKKO 0xa3 -#define KANA_TTEN 0xa4 -#define KANA_CTEN 0xa5 -#define KANA_CHOUON 0xb0 -#define KANA_DTEN 0xde -#define KANA_HDTEN 0xdf - -#define KANA_XA 0xa7 -#define KANA_XYA 0xac -#define KANA_XTSU 0xaf - -#define KANA_A 0xb1 -#define KANA_KA 0xb6 -#define KANA_SA 0xbb -#define KANA_TA 0xc0 -#define KANA_NA 0xc5 -#define KANA_HA 0xca -#define KANA_MA 0xcf -#define KANA_YA 0xd4 -#define KANA_RA 0xd7 -#define KANA_WA 0xdc -#define KANA_WO 0xa6 - -#define KANA_GA (KANA_KA << 8) + KANA_DTEN -#define KANA_ZA (KANA_SA << 8) + KANA_DTEN -#define KANA_DA (KANA_TA << 8) + KANA_DTEN -#define KANA_BA (KANA_HA << 8) + KANA_DTEN -#define KANA_PA (KANA_HA << 8) + KANA_HDTEN +#define KANA_GA (KANA_KA << 8) + KANA_DTEN +#define KANA_ZA (KANA_SA << 8) + KANA_DTEN +#define KANA_DA (KANA_TA << 8) + KANA_DTEN +#define KANA_BA (KANA_HA << 8) + KANA_DTEN +#define KANA_PA (KANA_HA << 8) + KANA_HDTEN diff --git a/kanakan.h b/kanakan.h index 6958eec..d6c845a 100644 --- a/kanakan.h +++ b/kanakan.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2004 Hiroo Ono - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,154 +32,154 @@ */ #ifndef _KANAKAN_H_ -#define _KANAKAN_H_ 1 +#define _KANAKAN_H_ 1 #include "sj_struct.h" #include "Struct.h" /* adddic.c */ -unsigned int adddic(unsigned char *yomi, unsigned char *kanji, TypeGram hinsi); +unsigned int adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi); /* addelcmn.c */ -void set_size(unsigned char *p, int size, int plen, int nlen); -unsigned int addel_arg(unsigned char *yp, unsigned char *kp, TypeGram grm, unsigned char *nyp, int len); -int cvtknj(unsigned char *yomi, unsigned char *knj, unsigned char *dst); -int srchkana(unsigned char **ptr, int *saml); -int srchgram(unsigned char *ptr, unsigned char **dst, TypeGram hinsi); -int srchkanji(unsigned char **dst, unsigned char *knj, int klen); -TypeIdxOfs count_uidx(void); -void chg_uidx(TypeDicSeg seg, unsigned char *yomi, int len); +void set_size(unsigned char* p, int size, int plen, int nlen); +unsigned int addel_arg(unsigned char* yp, unsigned char* kp, TypeGram grm, unsigned char* nyp, int len); +int cvtknj(unsigned char* yomi, unsigned char* knj, unsigned char* dst); +int srchkana(unsigned char** ptr, int* saml); +int srchgram(unsigned char* ptr, unsigned char** dst, TypeGram hinsi); +int srchkanji(unsigned char** dst, unsigned char* knj, int klen); +TypeIdxOfs count_uidx(void); +void chg_uidx(TypeDicSeg seg, unsigned char* yomi, int len); /* alloc.c */ -JREC *alloc_jrec(void); -void free_jrec(JREC *p); -CLREC *alloc_clrec(void); -void free_clrec(CLREC *p); +JREC* alloc_jrec(void); +void free_jrec(JREC* p); +CLREC* alloc_clrec(void); +void free_clrec(CLREC* p); /* charsize.c */ int codesize(unsigned char code); /* cl2knj.c */ -int cl2knj(unsigned char *yomi, int len, unsigned char *kouho); -int nextcl(unsigned char *kouho, int mode); -int prevcl(unsigned char *kouho, int mode); +int cl2knj(unsigned char* yomi, int len, unsigned char* kouho); +int nextcl(unsigned char* kouho, int mode); +int prevcl(unsigned char* kouho, int mode); int selectnum(void); /* clstudy.c */ -int clstudy(unsigned char *yomi1, unsigned char *yomi2, STDYOUT *stdy); -void delclsub(unsigned char *target); +int clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT* stdy); +void delclsub(unsigned char* target); void mkclidx(void); /* cvtdict.c */ -void cvtdict(KHREC *krec, CLREC *clrec, int flg); +void cvtdict(KHREC* krec, CLREC* clrec, int flg); void cvtminasi(int len); -void cvtwakachi(CLREC *clrec); +void cvtwakachi(CLREC* clrec); /* cvtkanji.c */ void cvtphknj(void); -void cvtkouho(KHREC *krec); -void setstyrec(KHREC *krec); +void cvtkouho(KHREC* krec); +void setstyrec(KHREC* krec); /* deldic.c */ -unsigned int deldic(unsigned char *yomi, unsigned char *kanji, TypeGram hinsi); +unsigned int deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi); /* depend.c */ -DictFile *opendict(char *name, char *passwd); -int closedict(DictFile *dfp); -void lock_dict(DictFile *p, int fd); -void unlock_dict(DictFile *p, int fd); -int is_dict_locked(DictFile *p); -StdyFile *openstdy(char *name, char *passwd); -int closestdy(StdyFile *sfp); -int putstydic(void); -int putcldic(void); -int makedict(char *path, int idxlen, int seglen, int segnum); -int makestdy(char *path, int stynum, int clstep, int cllen); -void sj_closeall(void); -int set_dictpass(DictFile *dp, char *pass); -int set_stdypass(char *pass); -int set_dictcmnt(DictFile *dp, char *cmnt); -int set_stdycmnt(char *cmnt); -void get_stdysize(int *stynum, int *clstep, int *cllen); +DictFile* opendict(char* name, char* passwd); +int closedict(DictFile* dfp); +void lock_dict(DictFile* p, int fd); +void unlock_dict(DictFile* p, int fd); +int is_dict_locked(DictFile* p); +StdyFile* openstdy(char* name, char* passwd); +int closestdy(StdyFile* sfp); +int putstydic(void); +int putcldic(void); +int makedict(char* path, int idxlen, int seglen, int segnum); +int makestdy(char* path, int stynum, int clstep, int cllen); +void sj_closeall(void); +int set_dictpass(DictFile* dp, char* pass); +int set_stdypass(char* pass); +int set_dictcmnt(DictFile* dp, char* cmnt); +int set_stdycmnt(char* cmnt); +void get_stdysize(int* stynum, int* clstep, int* cllen); /* dict.c */ -void get_askknj(void); -int seldict(TypeDicID id); -unsigned char *get_idxptr(TypeDicSeg seg); +void get_askknj(void); +int seldict(TypeDicID id); +unsigned char* get_idxptr(TypeDicSeg seg); /* getkanji.c */ -unsigned char *getkan_none(unsigned char *s, unsigned char *d, unsigned char *ym, int yl, int flg); -unsigned char *getkan_hira(unsigned char *s, unsigned char *d, unsigned char *ym, int yl, int flg); -unsigned char *getkan_kata(unsigned char *s, unsigned char *d, unsigned char *ym, int yl, int flg); -unsigned char *getkan_knj(unsigned char *s, unsigned char *d, unsigned char *ym, int yl, int flg); -unsigned char *getkan_ofs(unsigned char *s, unsigned char *d, unsigned char *ym, int yl, int flg); -unsigned char *getkan_norm(unsigned char *s, unsigned char *d, unsigned char *ym, int yl, int flg); -unsigned char *getkan_ascii(unsigned char *s, unsigned char *d, unsigned char *ym, int yl, int flg); -int getkanji(unsigned char *ym, int yl, unsigned char *ptr, unsigned char *buf); +unsigned char* getkan_none(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); +unsigned char* getkan_hira(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); +unsigned char* getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); +unsigned char* getkan_knj(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); +unsigned char* getkan_ofs(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); +unsigned char* getkan_norm(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); +unsigned char* getkan_ascii(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg); +int getkanji(unsigned char* ym, int yl, unsigned char* ptr, unsigned char* buf); /* getrank.c */ void getrank(void); /* hzstrlen.c */ int euc_codesize(unsigned char c); -int hzstrlen(unsigned char *ptr, int len); +int hzstrlen(unsigned char* ptr, int len); /* mkbunset.c */ -void mkbunsetu(void); +void mkbunsetu(void); CLREC* argclrec(int len); /* mkjiritu.c */ -void mkjiritu(int mode); -JREC *argjrec(int len, JREC *rec); +void mkjiritu(int mode); +JREC* argjrec(int len, JREC* rec); /* mkkouho.c */ -unsigned char *makekan_none(unsigned char *s, unsigned char *d, int flg); -unsigned char *makekan_1byte(unsigned char *s, unsigned char *d, int flg); -unsigned char *makekan_knj(unsigned char *s, unsigned char *d, int flg); -unsigned char *makekan_ofs(unsigned char *s, unsigned char *d, int flg); -unsigned char *makekan_norm(unsigned char *s, unsigned char *d, int flg); -unsigned char *makekan_ascii(unsigned char *s, unsigned char *d, int flg); -void mkkouho(void); -int sel_sjmode(JREC *jrec); +unsigned char* makekan_none(unsigned char* s, unsigned char* d, int flg); +unsigned char* makekan_1byte(unsigned char* s, unsigned char* d, int flg); +unsigned char* makekan_knj(unsigned char* s, unsigned char* d, int flg); +unsigned char* makekan_ofs(unsigned char* s, unsigned char* d, int flg); +unsigned char* makekan_norm(unsigned char* s, unsigned char* d, int flg); +unsigned char* makekan_ascii(unsigned char* s, unsigned char* d, int flg); +void mkkouho(void); +int sel_sjmode(JREC* jrec); /* mknumber.c */ -void num_type00(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type01(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type02(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type03(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type04(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type05(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type06(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type07(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type08(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type09(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type10(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type11(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type12(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type13(unsigned char *s1, unsigned char *s2, JREC *jrec); -void num_type14(unsigned char *s1, unsigned char *s2, JREC *jrec); +void num_type00(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type01(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type02(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type03(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type04(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type05(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type06(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type07(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type08(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type09(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type11(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type12(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type13(unsigned char* s1, unsigned char* s2, JREC* jrec); +void num_type14(unsigned char* s1, unsigned char* s2, JREC* jrec); /* peepdic.c */ -int getusr(unsigned char *buf); -int nextusr(unsigned char *buf); -int prevusr(unsigned char *buf); +int getusr(unsigned char* buf); +int nextusr(unsigned char* buf); +int prevusr(unsigned char* buf); /* ph2knj.c */ -int ph2knj(unsigned char *zyomi, unsigned char *kanji, int knjlen); +int ph2knj(unsigned char* zyomi, unsigned char* kanji, int knjlen); /* ph_khtbl.c */ -int ph_khtbl(CLREC *clrec); +int ph_khtbl(CLREC* clrec); /* setconj.c */ -int setconj(TypeGram hinsi, JREC *jrec, CREC *crec); +int setconj(TypeGram hinsi, JREC* jrec, CREC* crec); /* setjrec.c */ -int setj_atrb(unsigned char* p); -int setj_ofs(unsigned char* p); -int setj_knj(unsigned char* p); -int setj_norm1(unsigned char* p); -int setj_norm2(unsigned char* p); -int setj_norm3(unsigned char* p); +int setj_atrb(unsigned char* p); +int setj_ofs(unsigned char* p); +int setj_knj(unsigned char* p); +int setj_norm1(unsigned char* p); +int setj_norm2(unsigned char* p); +int setj_norm3(unsigned char* p); void setjrec(unsigned char* tagp, int mode); void setnumrec(unsigned char* tagp, JREC* rec, TypeGram gram); void setcrec(unsigned char* tagp); @@ -187,36 +187,36 @@ void setcrec(unsigned char* tagp); /* setkouho.c */ void setkouho(CLREC* clrec, TypeDicOfs offs, int mode); void ph_setkouho(CLREC* clrec, TypeDicOfs offs, STDYIN* sptr); -int hiraknj_atrb(unsigned char*, int*); -int hiraknj_ofs (unsigned char*, int*); -int hiraknj_knj (unsigned char*, int*); -int hiraknj_hask(unsigned char*, int*); -int hiraknj_kask(unsigned char*, int*); -int hiraknj_norm(unsigned char*, int*); -int hiraknj_hira(unsigned char*, int*); +int hiraknj_atrb(unsigned char*, int*); +int hiraknj_ofs(unsigned char*, int*); +int hiraknj_knj(unsigned char*, int*); +int hiraknj_hask(unsigned char*, int*); +int hiraknj_kask(unsigned char*, int*); +int hiraknj_norm(unsigned char*, int*); +int hiraknj_hira(unsigned char*, int*); /* setubi.c */ -unsigned char *getstb(TypeGram hinsi); -void setubi(JREC *rec, unsigned char *stbtbl); +unsigned char* getstb(TypeGram hinsi); +void setubi(JREC* rec, unsigned char* stbtbl); /* skipkstr.c */ unsigned char* skipkstr(unsigned char* ptr); /* srchdict.c */ -int yomicmp(unsigned char *ptr1, unsigned char *ptr2, unsigned char *saml); -unsigned char *srchdict(unsigned char *tagp); +int yomicmp(unsigned char* ptr1, unsigned char* ptr2, unsigned char* saml); +unsigned char* srchdict(unsigned char* tagp); /* srchidx.c */ TypeDicSeg srchidx(TypeDicSeg low, int len); /* srchnum.c */ void srchnum(void); -void setwdnum(unsigned char *p, int len, unsigned short *wd); -int setucnum(unsigned char *p, int len, unsigned char *ud); +void setwdnum(unsigned char* p, int len, unsigned short* wd); +int setucnum(unsigned char* p, int len, unsigned char* ud); /* study.c */ -int study(STDYOUT *stdy); -STDYIN *srchstdy(TypeDicSeg seg, TypeDicOfs ofs, TypeDicID dicid); +int study(STDYOUT* stdy); +STDYIN* srchstdy(TypeDicSeg seg, TypeDicOfs ofs, TypeDicID dicid); /* wakachi.c */ void wakachi(void); diff --git a/kctype.h b/kctype.h index e1940a7..846c1f7 100644 --- a/kctype.h +++ b/kctype.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,40 +28,38 @@ */ /* - * $SonyRCSfile: kctype.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: kctype.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:46 $ */ - - #if !defined(__sony_news) || (defined(__sony_news) && !defined(SVR4)) #ifndef __KCTYPE #define __KCTYPE -#define sjis2euc sj3_sjis2euc -#define jis2sjis sj3_jis2sjis -#define euctosjis sj3_euctosjis -#define sjis2jis sj3_sjis2jis -#define euc2sjis sj3_euc2sjis -#define jis2euc sj3_jis2euc -#define sjistoeuc sj3_sjistoeuc +#define sjis2euc sj3_sjis2euc +#define jis2sjis sj3_jis2sjis +#define euctosjis sj3_euctosjis +#define sjis2jis sj3_sjis2jis +#define euc2sjis sj3_euc2sjis +#define jis2euc sj3_jis2euc +#define sjistoeuc sj3_sjistoeuc #ifdef issjis1 #undef issjis1 #endif -#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \ - ((0xe0 <= (c)) && ((c) <= 0xfc))) +#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \ + ((0xe0 <= (c)) && ((c) <= 0xfc))) #ifdef issjis2 #undef issjis2 #endif -#define issjis2(c) (((0x40 <= (c)) && ((c) <= 0xfc)) && ((c) != 0x7f)) +#define issjis2(c) (((0x40 <= (c)) && ((c) <= 0xfc)) && ((c) != 0x7f)) #ifdef iseuc #undef iseuc #endif -#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe)) +#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe)) #ifdef iseuckana #undef iseuckana @@ -71,22 +69,22 @@ #ifdef iskana2 #undef iskana2 #endif -#define iskana2(c) ((0xa1 <= (c)) && ((c) <= 0xdf)) +#define iskana2(c) ((0xa1 <= (c)) && ((c) <= 0xdf)) #ifdef jiszen #undef jiszen #endif -#define jiszen(c) (issjis1(((c) >> 8) & 0xff) && issjis2((c) & 0xff)) +#define jiszen(c) (issjis1(((c) >> 8) & 0xff) && issjis2((c) & 0xff)) #ifdef isjjis #undef isjjis #endif -#define isjjis(c) ((0x21 <= (c)) && ((c) <= 0x7e)) +#define isjjis(c) ((0x21 <= (c)) && ((c) <= 0x7e)) #ifdef jstrlen #undef jstrlen #endif -#define jstrlen(s) euclen(s, 65535) +#define jstrlen(s) euclen(s, 65535) #ifdef iseuc3byte #undef iseuc3byte @@ -101,15 +99,14 @@ #ifdef iskanji #undef iskanji #endif -#define iskanji issjis1 +#define iskanji issjis1 #ifdef iskanji2 #undef iskanji2 #endif -#define iskanji2 issjis2 +#define iskanji2 issjis2 #ifdef iskana #undef iskana #endif -#define iskana iskana2 +#define iskana iskana2 #endif #endif - diff --git a/key.h b/key.h index 192b805..0ee9636 100644 --- a/key.h +++ b/key.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,71 +28,64 @@ */ /* - * $SonyRCSfile: key.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: key.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:47 $ */ +#define KEY_NORMAL 0 +#define KEY_CONV 1 +#define KEY_HENKAN 2 +#define KEY_MUHENKAN 3 +#define KEY_KETTEI 4 +#define KEY_ZHIRA 5 +#define KEY_HALPHA 6 +#define KEY_ZALPHA 7 +#define KEY_HKATA 8 +#define KEY_ZKATA 9 +#define KEY_CODE 10 +#define KEY_ETC 11 +#define KEY_RIGHT 12 +#define KEY_LEFT 13 +#define KEY_UP 14 +#define KEY_DOWN 15 +#define KEY_TOGGLE 16 +#define KEY_EDIT 17 +#define KEY_WRAP 18 +#define KEY_WRAPBACK 19 +#define KEY_HELP 20 +#define KEY_TOROKU 21 +#define KEY_SYOUKYO 22 +#define KEY_SJRC 23 +#define KEY_HA_KET 24 +#define KEY_FLUSH 25 +#define KEY_BUFFER 26 +#define KEY_HANKAKU 27 +#define KEY_ZENKAKU 28 -#define KEY_NORMAL 0 -#define KEY_CONV 1 -#define KEY_HENKAN 2 -#define KEY_MUHENKAN 3 -#define KEY_KETTEI 4 -#define KEY_ZHIRA 5 -#define KEY_HALPHA 6 -#define KEY_ZALPHA 7 -#define KEY_HKATA 8 -#define KEY_ZKATA 9 -#define KEY_CODE 10 -#define KEY_ETC 11 -#define KEY_RIGHT 12 -#define KEY_LEFT 13 -#define KEY_UP 14 -#define KEY_DOWN 15 -#define KEY_TOGGLE 16 -#define KEY_EDIT 17 +#define KEY_HIRAGANA 29 +#define KEY_KATAKANA 30 +#define KEY_EISUU 31 +#define KEY_EIDAI 32 +#define KEY_ROMA 33 -#define KEY_WRAP 18 -#define KEY_WRAPBACK 19 -#define KEY_HELP 20 -#define KEY_TOROKU 21 -#define KEY_SYOUKYO 22 -#define KEY_SJRC 23 +#define KEY_CANCEL 34 +#define KEY_RECONV 35 -#define KEY_HA_KET 24 -#define KEY_FLUSH 25 -#define KEY_BUFFER 26 +#define KEY_IGNORE 36 +#define KEY_DEBUG 37 -#define KEY_HANKAKU 27 -#define KEY_ZENKAKU 28 +#define KEY_TOP 38 +#define KEY_END 39 +#define KEY_RECONNECT 40 +#define KEY_KILL 41 +#define KEY_OTHER 42 -#define KEY_HIRAGANA 29 -#define KEY_KATAKANA 30 -#define KEY_EISUU 31 -#define KEY_EIDAI 32 -#define KEY_ROMA 33 - -#define KEY_CANCEL 34 -#define KEY_RECONV 35 - -#define KEY_IGNORE 36 -#define KEY_DEBUG 37 - -#define KEY_TOP 38 -#define KEY_END 39 -#define KEY_RECONNECT 40 -#define KEY_KILL 41 -#define KEY_OTHER 42 - -#define KEY_MORE 43 - - - -#define UKEYNUM 64 -#define SEQLEN 8 -#define COMNUM 64 +#define KEY_MORE 43 +#define UKEYNUM 64 +#define SEQLEN 8 +#define COMNUM 64 diff --git a/kigou.c b/kigou.c index 085f964..0b7d8a8 100644 --- a/kigou.c +++ b/kigou.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,179 +28,173 @@ */ /* - * $SonyRCSfile: kigou.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: kigou.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:19 $ */ - - #include "common.h" #include "kctype.h" #include "key.h" -#define BEGIN_CODE 0x2121 -#define END_CODE 0x7f7e -#define INCRESE 16 +#define BEGIN_CODE 0x2121 +#define END_CODE 0x7f7e +#define INCRESE 16 -static int lastcode = BEGIN_CODE; +static int lastcode = BEGIN_CODE; -static unsigned short row, col; +static unsigned short row, col; void input_kigou(); -kigou () -{ - extern int keyvalue; - int increse, code, basecode; - int inc, ki, low; - unsigned short num, CheckCcode(), strtocode(); - int rval; +kigou() { + extern int keyvalue; + int increse, code, basecode; + int inc, ki, low; + unsigned short num, CheckCcode(), strtocode(); + int rval; increse = INCRESE; - disp_mode (); + disp_mode(); basecode = lastcode & 0xfff0; - code = lastcode; - StartGuide (&row, &col); - Clear_EOL (); - guide_kigou (basecode, code, increse); + code = lastcode; + StartGuide(&row, &col); + Clear_EOL(); + guide_kigou(basecode, code, increse); rval = 0; - ki = 1; - SaveConversion (); - while (ki) { - inc = inkey (); - if (AnotherConversion ()) { - unget_key (inc); + ki = 1; + SaveConversion(); + while(ki) { + inc = inkey(); + if(AnotherConversion()) { + unget_key(inc); break; } -top: - switch (keyvalue) { + top: + switch(keyvalue) { case KEY_CONV: rval = 1; - ki = 0; + ki = 0; break; - case KEY_RIGHT: - if (code >= END_CODE) { - code = BEGIN_CODE; - basecode = code & 0xfff0; + case KEY_RIGHT: + if(code >= END_CODE) { + code = BEGIN_CODE; + basecode = code & 0xfff0; } else { - low = ++code & 0xff; - if (low > 0x7e) { - code &= 0xff00; - code += 0x121; - low = 0x21; + low = ++code & 0xff; + if(low > 0x7e) { + code &= 0xff00; + code += 0x121; + low = 0x21; } - if (code >= basecode + increse) { - if (low <= 0x21) - basecode = code & 0xfff0; - else - basecode += increse; + if(code >= basecode + increse) { + if(low <= 0x21) + basecode = code & 0xfff0; + else + basecode += increse; } } - guide_kigou (basecode, code, increse); - break; - case KEY_LEFT: - if (code <= BEGIN_CODE) { - code = END_CODE; - basecode = code & 0xfff0; + guide_kigou(basecode, code, increse); + break; + case KEY_LEFT: + if(code <= BEGIN_CODE) { + code = END_CODE; + basecode = code & 0xfff0; } else { - low = --code & 0xff; - if (low < 0x21) { - code &= 0xff00; - code -= 0x82; - low = 0x7e; + low = --code & 0xff; + if(low < 0x21) { + code &= 0xff00; + code -= 0x82; + low = 0x7e; } - if (code < basecode) { - if (low >= 0x7e) - basecode = code & 0xfff0; - else - basecode -= increse; + if(code < basecode) { + if(low >= 0x7e) + basecode = code & 0xfff0; + else + basecode -= increse; } } - guide_kigou (basecode, code, increse); - break; - case KEY_UP: - if (basecode <= BEGIN_CODE) { - code = basecode = END_CODE & 0xfff0; + guide_kigou(basecode, code, increse); + break; + case KEY_UP: + if(basecode <= BEGIN_CODE) { + code = basecode = END_CODE & 0xfff0; } else { - basecode -= increse; - low = basecode & 0xff; - if (low == 0x20) { - code = (basecode & 0xff00) + 0x21; + basecode -= increse; + low = basecode & 0xff; + if(low == 0x20) { + code = (basecode & 0xff00) + 0x21; } else { - if (low < 0x20) { - basecode &= 0xff00; - basecode -= 0x90; + if(low < 0x20) { + basecode &= 0xff00; + basecode -= 0x90; } - code = basecode; + code = basecode; } } - guide_kigou (basecode, code, increse); - break; - case KEY_DOWN: - if (basecode >= (END_CODE & 0xfff0)) { - code = BEGIN_CODE; - basecode = code & 0xfff0; + guide_kigou(basecode, code, increse); + break; + case KEY_DOWN: + if(basecode >= (END_CODE & 0xfff0)) { + code = BEGIN_CODE; + basecode = code & 0xfff0; } else { - basecode += increse; - low = basecode & 0xff; - if (low > 0x70) { - basecode &= 0xff00; - basecode += 0x120; - code = basecode + 1; + basecode += increse; + low = basecode & 0xff; + if(low > 0x70) { + basecode &= 0xff00; + basecode += 0x120; + code = basecode + 1; } else - code = basecode; + code = basecode; } - guide_kigou (basecode, code, increse); - break; + guide_kigou(basecode, code, increse); + break; case KEY_HENKAN: - input_kigou (basecode, code, increse); + input_kigou(basecode, code, increse); break; case KEY_KETTEI: - input_kigou (basecode, code, increse); + input_kigou(basecode, code, increse); ki = 0; break; default: - if ((keyvalue = IsCKey (inc)) != KEY_NORMAL) + if((keyvalue = IsCKey(inc)) != KEY_NORMAL) goto top; - if (CheckCcode(inc)) { - if ((num = strtocode()) > 0) { - code = num; - basecode = code & 0xfff0; - guide_kigou(basecode, code, increse); - } - } - else if (inc == ESC) + if(CheckCcode(inc)) { + if((num = strtocode()) > 0) { + code = num; + basecode = code & 0xfff0; + guide_kigou(basecode, code, increse); + } + } else if(inc == ESC) ki = 0; - else if (inc == '\n' || inc == '\r' || inc == ' ') - input_kigou (basecode, code, increse); - else if (IsRedraw (inc)) - guide_kigou (basecode, code, increse); + else if(inc == '\n' || inc == '\r' || inc == ' ') + input_kigou(basecode, code, increse); + else if(IsRedraw(inc)) + guide_kigou(basecode, code, increse); else - beep (); + beep(); break; } } - EndGuide (row, col); - disp_mode (); + EndGuide(row, col); + disp_mode(); return (rval); } -IsRedraw (c) -int c; +IsRedraw(c) int c; { - if (c == 0x0c) + if(c == 0x0c) return (1); else return (0); } -IsCKey (inc) -int inc; +IsCKey(inc) int inc; { - switch (inc) { + switch(inc) { case 'l': return (KEY_RIGHT); case 'k': @@ -214,97 +208,94 @@ int inc; } } -guide_kigou (bcode, code, increse) -int bcode, code, increse; +guide_kigou(bcode, code, increse) int bcode, code, increse; { - int i; - extern wchar16_t Mguide[]; - wchar16_t wtmp[20]; - char tmp[20]; - unsigned short prcode; + int i; + extern wchar16_t Mguide[]; + wchar16_t wtmp[20]; + char tmp[20]; + unsigned short prcode; - TopGuide (); - printR (Mguide); - put_space (1); - put_space (1); - for (i = 0 ; i < increse ; i ++) - pkigou (bcode + i); - prcode = code; - if (((i = GetCcode()) == CODE_KUTEN) || (i == CODE_KUTEN2)) { - prcode -= 0x2020; - sprintf (tmp, " [%02d%02d]", prcode >> 8, prcode & 0xff); - } else { - if (i == CODE_SJIS) - prcode = jis2sjis(prcode); - else if ((i == CODE_EUC) || (i == CODE_EUC2)) - prcode |= 0x8080; - sprintf (tmp, " [%04x]", prcode); - } - (void) mbstowcs(wtmp, tmp, 20); - SJ_print (wtmp); - backspace (8 + (bcode + increse - code) * 2); - Flush (); + TopGuide(); + printR(Mguide); + put_space(1); + put_space(1); + for(i = 0; i < increse; i++) + pkigou(bcode + i); + prcode = code; + if(((i = GetCcode()) == CODE_KUTEN) || (i == CODE_KUTEN2)) { + prcode -= 0x2020; + sprintf(tmp, " [%02d%02d]", prcode >> 8, prcode & 0xff); + } else { + if(i == CODE_SJIS) + prcode = jis2sjis(prcode); + else if((i == CODE_EUC) || (i == CODE_EUC2)) + prcode |= 0x8080; + sprintf(tmp, " [%04x]", prcode); + } + (void)mbstowcs(wtmp, tmp, 20); + SJ_print(wtmp); + backspace(8 + (bcode + increse - code) * 2); + Flush(); } - -pkigou (code) -int code; +pkigou(code) int code; { - wchar16_t tmp[3]; - unsigned short ccode; + wchar16_t tmp[3]; + unsigned short ccode; - if (jis2euc(code) == 0) { + if(jis2euc(code) == 0) { ccode = BEGIN_CODE; } else { ccode = code; } - if ((GetCcode() == CODE_EUC2) || (GetCcode() == CODE_JIS2) || - (GetCcode() == CODE_KUTEN2)) { + if((GetCcode() == CODE_EUC2) || (GetCcode() == CODE_JIS2) || + (GetCcode() == CODE_KUTEN2)) { ccode = WcJIS2X0212(ccode); - } else { + } else { ccode = WcJIS2X0208(ccode); - } - tmp[0] = ccode; + } + tmp[0] = ccode; tmp[1] = '\0'; - SJ_print (tmp); + SJ_print(tmp); } void -input_kigou (basecode, code, increse) -int basecode, code, increse; + input_kigou(basecode, code, increse) int basecode, + code, increse; { - wchar16_t s[2]; - unsigned short ccode, svlen; - Conversion *cv; + wchar16_t s[2]; + unsigned short ccode, svlen; + Conversion* cv; - if (jis2euc(code) == 0) { - beep(); - return; + if(jis2euc(code) == 0) { + beep(); + return; } - if ((GetCcode() == CODE_EUC2) || (GetCcode() == CODE_JIS2) || - (GetCcode() == CODE_KUTEN2)) { + if((GetCcode() == CODE_EUC2) || (GetCcode() == CODE_JIS2) || + (GetCcode() == CODE_KUTEN2)) { ccode = WcJIS2X0212(code); - } else { - ccode = WcJIS2X0208(code); - } - EndGuide (row, col); - s[0] = ccode; - s[1] = '\0'; - if (BuffYes ()) { - cv = GetConversion(); - save_obuf(); - (void)exec_romaji(s[0]); - if (os_point > 0) { - svlen = cv->Vlen; - vprintU(osave_buf, 1); - Cgoto(svlen); - } - restore_obuf(); } else { - master_out (s, 2); - master_flush(); + ccode = WcJIS2X0208(code); } - StartGuide (&row, &col); - guide_kigou (basecode, code, increse); + EndGuide(row, col); + s[0] = ccode; + s[1] = '\0'; + if(BuffYes()) { + cv = GetConversion(); + save_obuf(); + (void)exec_romaji(s[0]); + if(os_point > 0) { + svlen = cv->Vlen; + vprintU(osave_buf, 1); + Cgoto(svlen); + } + restore_obuf(); + } else { + master_out(s, 2); + master_flush(); + } + StartGuide(&row, &col); + guide_kigou(basecode, code, increse); lastcode = code; } diff --git a/knjcvt.c b/knjcvt.c index ebd50da..35e44e9 100644 --- a/knjcvt.c +++ b/knjcvt.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,16 +28,13 @@ */ /* - * $SonyRCSfile: knjcvt.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: knjcvt.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:37 $ * * $Id$ */ - - - #include #include #include @@ -46,229 +43,190 @@ #include "dicttool.h" typedef struct div_list { - int len; - unsigned char code[3]; - struct div_list *child; + int len; + unsigned char code[3]; + struct div_list* child; } DivList; -extern HindoRec *askknj[]; -extern int askknj_num; - - +extern HindoRec* askknj[]; +extern int askknj_num; static void -free_divlist(DivList* p) -{ - DivList *q; +free_divlist(DivList* p) { + DivList* q; - while (p) { - q = p -> child; + while(p) { + q = p->child; Free(p); p = q; } } - - static DivList* -make_divrec(void) -{ - DivList *p; +make_divrec(void) { + DivList* p; - p = (DivList *)Malloc(sizeof(DivList)); - if (!p) { + p = (DivList*)Malloc(sizeof(DivList)); + if(!p) { fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n"); exit(1); } - p -> child = NULL; + p->child = NULL; return p; } - - static int -make_divlist(DivList* parent, unsigned char *knj, int len) -{ - int i, j; - int num; - int minlen; - int tmplen; - DivList tmprec; - DivList *minrec; +make_divlist(DivList* parent, unsigned char* knj, int len) { + int i, j; + int num; + int minlen; + int tmplen; + DivList tmprec; + DivList* minrec; - minrec = make_divrec(); - - if (len == 0) { + if(len == 0) { free_divlist(minrec); - parent -> child = NULL; + parent->child = NULL; return 0; } - - else if (len == 1) { - - minrec -> len = len; - minrec -> code[0] = *knj; - parent -> child = minrec; + else if(len == 1) { + + minrec->len = len; + minrec->code[0] = *knj; + + parent->child = minrec; return len; } - - if (codesize(*knj) == 1) { - minrec -> len = 1; - minrec -> code[0] = *knj; - minlen = make_divlist(minrec, knj + 1, len - 1) + 1; - } - - else if (codesize(*knj) == 2) { - minrec -> len = 2; - minrec -> code[0] = *knj; - minrec -> code[1] = *(knj + 1); - minlen = make_divlist(minrec, knj + 2, len - 2) + 2; + if(codesize(*knj) == 1) { + minrec->len = 1; + minrec->code[0] = *knj; + minlen = make_divlist(minrec, knj + 1, len - 1) + 1; } - - for (i = 0 ; i < len ; i = j) { - + else if(codesize(*knj) == 2) { + minrec->len = 2; + minrec->code[0] = *knj; + minrec->code[1] = *(knj + 1); + minlen = make_divlist(minrec, knj + 2, len - 2) + 2; + } + + for(i = 0; i < len; i = j) { + j = i + codesize(*(knj + i)); - - if (j <= 2 || !(num = isknjexist(knj, j))) continue; + if(j <= 2 || !(num = isknjexist(knj, j))) continue; - tmprec.len = 2; tmprec.code[0] = (OffsetAssyuku | ((num >> 8) & 0xff)); tmprec.code[1] = (num & 0xff); tmprec.child = NULL; - tmplen = make_divlist(&tmprec, knj + j, len - j) + 2; + tmplen = make_divlist(&tmprec, knj + j, len - j) + 2; - - if (tmplen < minlen) { - - free_divlist(minrec -> child); + if(tmplen < minlen) { + + free_divlist(minrec->child); - *minrec = tmprec; - minlen = tmplen; - } - else + minlen = tmplen; + } else free_divlist(tmprec.child); } - - for (i = 0 ; i < askknj_num ; i++) { - - if ((j = askknj[i] -> klen) > len) continue; + for(i = 0; i < askknj_num; i++) { - - if (string_cmp(askknj[i]->kptr, j, knj, j)) continue; + if((j = askknj[i]->klen) > len) continue; + + if(string_cmp(askknj[i]->kptr, j, knj, j)) continue; - tmprec.len = 1; tmprec.code[0] = (KanjiAssyuku | i); tmprec.child = NULL; - tmplen = make_divlist(&tmprec, knj + j, len - j) + 1; + tmplen = make_divlist(&tmprec, knj + j, len - j) + 1; - - if (tmplen < minlen) { - - free_divlist(minrec -> child); + if(tmplen < minlen) { + + free_divlist(minrec->child); - *minrec = tmprec; - minlen = tmplen; - } - else + minlen = tmplen; + } else free_divlist(tmprec.child); } - - parent -> child = minrec; + parent->child = minrec; - return minlen; } - - unsigned char* -knjofscvt(unsigned char* ptr, int len, int* ret) -{ - int i; - unsigned char *p, *q; - DivList parent, *dl; +knjofscvt(unsigned char* ptr, int len, int* ret) { + int i; + unsigned char *p, *q; + DivList parent, *dl; - askknj_num = 0; - parent.child = NULL; - i = make_divlist(&parent, ptr, len); - *ret = i; + i = make_divlist(&parent, ptr, len); + *ret = i; - - p = (unsigned char *)Malloc(i); - if (!p) { + p = (unsigned char*)Malloc(i); + if(!p) { fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277"); exit(1); } - for (q = p, dl = parent.child ; dl ; dl = dl -> child) { - *q++ = dl -> code[0]; - if (dl -> len == 2) { - *q++ = dl -> code[1]; - } else if (dl -> len == 3) { - *q++ = dl -> code[1]; - *q++ = dl -> code[2]; + for(q = p, dl = parent.child; dl; dl = dl->child) { + *q++ = dl->code[0]; + if(dl->len == 2) { + *q++ = dl->code[1]; + } else if(dl->len == 3) { + *q++ = dl->code[1]; + *q++ = dl->code[2]; } } - + free_divlist(parent.child); - return p; } - - unsigned char* -knjcvt(unsigned char* ptr, int len, int* ret) -{ - int i; - unsigned char *p, *q; - DivList parent, *dl; +knjcvt(unsigned char* ptr, int len, int* ret) { + int i; + unsigned char *p, *q; + DivList parent, *dl; - parent.child = NULL; - i = make_divlist(&parent, ptr, len); - *ret = i; + i = make_divlist(&parent, ptr, len); + *ret = i; - - p = (unsigned char *)Malloc(i); - if (!p) { + p = (unsigned char*)Malloc(i); + if(!p) { fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277"); exit(1); } - for (q = p, dl = parent.child ; dl ; dl = dl -> child) { - *q++ = dl -> code[0]; - if (dl -> len == 2) { - *q++ = dl -> code[1]; - } else if (dl -> len == 3) { - *q++ = dl -> code[1]; - *q++ = dl -> code[2]; + for(q = p, dl = parent.child; dl; dl = dl->child) { + *q++ = dl->code[0]; + if(dl->len == 2) { + *q++ = dl->code[1]; + } else if(dl->len == 3) { + *q++ = dl->code[1]; + *q++ = dl->code[2]; } } - + free_divlist(parent.child); -if (i != q - p) { - printf("\244\263\244\263\n"); - exit(1); -} - + if(i != q - p) { + printf("\244\263\244\263\n"); + exit(1); + } + return p; } - diff --git a/level1.c b/level1.c index cae4cca..b149476 100644 --- a/level1.c +++ b/level1.c @@ -48,47 +48,47 @@ #include "sj3lib.h" -int sj3_error_number; -char *sj3_socket_name = SocketName; -char *sj3_port_name = PortName; -int sj3_port_number = PortNumber; +int sj3_error_number; +char* sj3_socket_name = SocketName; +char* sj3_port_name = PortName; +int sj3_port_number = PortNumber; -#define BUFFER_SIZE BUFSIZ -static char *af_unix_str = "unix"; -static unsigned char putbuf[BUFFER_SIZE]; -static unsigned char getbuf[BUFFER_SIZE]; -static int putpos = 0; -static int getlen = 0; -static int getpos = 0; -static SJ3_CLIENT_ENV *cliptr; -static int server_fd = -1; +#define BUFFER_SIZE BUFSIZ +static char* af_unix_str = "unix"; +static unsigned char putbuf[BUFFER_SIZE]; +static unsigned char getbuf[BUFFER_SIZE]; +static int putpos = 0; +static int getlen = 0; +static int getpos = 0; +static SJ3_CLIENT_ENV* cliptr; +static int server_fd = -1; -static int sj3_timeout = 0; +static int sj3_timeout = 0; -static int INTLEN = sizeof(int); -static int CMDLEN = sizeof(int); -static int ReadErrorFlag = FALSE; +static int INTLEN = sizeof(int); +static int CMDLEN = sizeof(int); +static int ReadErrorFlag = FALSE; -#define client_init(p) { \ - cliptr = (p); \ - if ((server_fd = cliptr -> fd) == -1) { \ - sj3_error_number = SJ3_NotOpened; \ - return ERROR; \ - } \ +#define client_init(p) \ + { \ + cliptr = (p); \ + if((server_fd = cliptr->fd) == -1) { \ + sj3_error_number = SJ3_NotOpened; \ + return ERROR; \ + } \ } static int -put_flush(void) -{ - int i, j; - unsigned char *p; +put_flush(void) { + int i, j; + unsigned char* p; - for (i = putpos, p = putbuf; i > 0; i -= j, p += j) { - if ((j = write(server_fd, p, i)) <= 0) { + for(i = putpos, p = putbuf; i > 0; i -= j, p += j) { + if((j = write(server_fd, p, i)) <= 0) { shutdown(server_fd, 2); close(server_fd); cliptr->fd = server_fd = -1; - sj3_error_number = SJ3_ServerDown; + sj3_error_number = SJ3_ServerDown; return (ERROR); } } @@ -98,21 +98,18 @@ put_flush(void) } static void -put_byte(int c) -{ +put_byte(int c) { putbuf[putpos++] = c; } static void -put_word(int c) -{ +put_word(int c) { put_byte(c >> 8); put_byte(c & 0xff); } static void -put_int(int c) -{ +put_int(int c) { put_byte(c >> (8 * 3)); put_byte(c >> (8 * 2)); put_byte(c >> (8 * 1)); @@ -120,8 +117,7 @@ put_int(int c) } static void -put_cmd(int cmd) -{ +put_cmd(int cmd) { ReadErrorFlag = FALSE; putpos = getlen = 0; put_int(cmd); @@ -129,85 +125,81 @@ put_cmd(int cmd) #define put_string put_ndata -static unsigned char * -put_ndata(void *p, int n) -{ - unsigned char *pp = (unsigned char *)p; +static unsigned char* +put_ndata(void* p, int n) { + unsigned char* pp = (unsigned char*)p; - while (n-- > 0) + while(n-- > 0) put_byte(pp ? *pp++ : 0); return pp; } static int -put_over(int buflen, int n, - unsigned char *(*func1)(), void *str1, int len1, - unsigned char *(*func2)(), void *str2, int len2, - unsigned char *(*func3)(), void *str3, int len3, - unsigned char *(*func4)(), void *str4, int len4) -{ +put_over(int buflen, int n, + unsigned char* (*func1)(), void* str1, int len1, + unsigned char* (*func2)(), void* str2, int len2, + unsigned char* (*func3)(), void* str3, int len3, + unsigned char* (*func4)(), void* str4, int len4) { #define ARGNUM 4 - unsigned char *(*func[ARGNUM])(); - unsigned char *data[ARGNUM]; - int len[ARGNUM]; - int i; + unsigned char* (*func[ARGNUM])(); + unsigned char* data[ARGNUM]; + int len[ARGNUM]; + int i; func[0] = func1; - data[0] = (unsigned char *)str1; - len[0] = len1; + data[0] = (unsigned char*)str1; + len[0] = len1; func[1] = func2; - data[1] = (unsigned char *)str2; - len[1] = len2; + data[1] = (unsigned char*)str2; + len[1] = len2; func[2] = func3; - data[2] = (unsigned char *)str3; - len[2] = len3; + data[2] = (unsigned char*)str3; + len[2] = len3; func[3] = func4; - data[3] = (unsigned char *)str4; - len[3] = len4; + data[3] = (unsigned char*)str4; + len[3] = len4; - for (i = 0; i < n; i++) { - if (len[i] < buflen) { + for(i = 0; i < n; i++) { + if(len[i] < buflen) { (*func[i])(data[i], len[i]); buflen -= len[i]; } else { - while (len[i] > 0) { + while(len[i] > 0) { data[i] = (*func[i])(data[i], - (len[i] < buflen) ? len[i] : buflen); - if (put_flush() == ERROR) + (len[i] < buflen) ? len[i] : buflen); + if(put_flush() == ERROR) return ERROR; len[i] -= buflen; buflen = BUFFER_SIZE; } } } - if ((buflen != BUFFER_SIZE) && (put_flush() == ERROR)) + if((buflen != BUFFER_SIZE) && (put_flush() == ERROR)) return ERROR; return 0; } static int -get_buffer(void) -{ - if (ReadErrorFlag) +get_buffer(void) { + if(ReadErrorFlag) return ERROR; getpos = getlen = 0; getlen = read(server_fd, getbuf, sizeof(getbuf)); - if (getlen <= 0) { + if(getlen <= 0) { shutdown(server_fd, 2); close(server_fd); cliptr->fd = server_fd = -1; - sj3_error_number = SJ3_ServerDown; + sj3_error_number = SJ3_ServerDown; return ERROR; } return getlen; } static unsigned char -get_byte(void) -{ - if ((getpos >= getlen) && (get_buffer() == ERROR)) { +get_byte(void) { + if((getpos >= getlen) && (get_buffer() == ERROR)) { ReadErrorFlag = TRUE; return 0; } @@ -215,90 +207,81 @@ get_byte(void) } static int -get_word(void) -{ - int i; +get_word(void) { + int i; i = get_byte(); return ((i << 8) | get_byte()); } static int -get_int(void) -{ - int i0; - int i1; - int i2; +get_int(void) { + int i0; + int i1; + int i2; i0 = get_byte(); i1 = get_byte(); i2 = get_byte(); - return ((i0 << (8*3)) | (i1 << (8*2)) | (i2 << (8*1)) | get_byte()); + return ((i0 << (8 * 3)) | (i1 << (8 * 2)) | (i2 << (8 * 1)) | get_byte()); } -static unsigned char * -get_string(unsigned char *p) -{ - int c; +static unsigned char* +get_string(unsigned char* p) { + int c; do { *p++ = c = get_byte(); - } while (c); + } while(c); return p; } static int -get_nstring(unsigned char *p, int n) -{ - int c; +get_nstring(unsigned char* p, int n) { + int c; c = get_byte(); - while (c) { - if (n > 1) { + while(c) { + if(n > 1) { *p++ = c; n--; } c = get_byte(); } - if (n > 0) + if(n > 0) *p++ = 0; return n; } -static unsigned char * -get_ndata(void *p, int n) -{ - unsigned char *pp = (unsigned char *)p; - while (n-- > 0) +static unsigned char* +get_ndata(void* p, int n) { + unsigned char* pp = (unsigned char*)p; + while(n-- > 0) *pp++ = get_byte(); return pp; } static void -skip_string(void) -{ - while (get_byte()) - ; +skip_string(void) { + while(get_byte()); } static void -skip_ndata(int n) -{ - while (n-- > 0) +skip_ndata(int n) { + while(n-- > 0) get_byte(); } static int -open_unix(void) -{ - int fd, len; - struct sockaddr_un sunix; +open_unix(void) { + int fd, len; + struct sockaddr_un sunix; sunix.sun_family = AF_UNIX; strcpy(sunix.sun_path, sj3_socket_name); - if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == ERROR) { + if((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == ERROR) { sj3_error_number = SJ3_OpenSocket; return ERROR; } @@ -307,8 +290,8 @@ open_unix(void) #if defined(__NetBSD__) || defined(__FreeBSD__) len += sizeof(sunix.sun_len); #endif - if (connect(fd, (struct sockaddr *)&sunix, len) == - ERROR) { + if(connect(fd, (struct sockaddr*)&sunix, len) == + ERROR) { sj3_error_number = SJ3_ConnectSocket; return ERROR; } @@ -316,56 +299,52 @@ open_unix(void) return fd; } -void -sj3_set_timeout(int timeout) -{ +void sj3_set_timeout(int timeout) { sj3_timeout = timeout; } static void -connect_timeout(void) -{ +connect_timeout(void) { } static int -open_inet(char *host) -{ - struct hostent *hp; - struct servent *sp; - int port; - struct sockaddr_in sin; - int fd, ret; +open_inet(char* host) { + struct hostent* hp; + struct servent* sp; + int port; + struct sockaddr_in sin; + int fd, ret; - if (!(hp = gethostbyname(host))) { + if(!(hp = gethostbyname(host))) { sj3_error_number = SJ3_GetHostByName; return ERROR; } - if ((sp = getservbyname(sj3_port_name, "tcp"))) + if((sp = getservbyname(sj3_port_name, "tcp"))) port = ntohs(sp->s_port); else port = sj3_port_number; - memset((char *)&sin, '\0', sizeof(sin)); + memset((char*)&sin, '\0', sizeof(sin)); sin.sin_family = AF_INET; - sin.sin_port = htons(port); + sin.sin_port = htons(port); memcpy(&sin.sin_addr, hp->h_addr, hp->h_length); - if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == ERROR) { + if((fd = socket(AF_INET, SOCK_STREAM, 0)) == ERROR) { sj3_error_number = SJ3_OpenSocket; return ERROR; } - if (sj3_timeout > 0) { + if(sj3_timeout > 0) { signal(SIGALRM, (void (*)())connect_timeout); alarm(sj3_timeout); } - ret = connect(fd, (struct sockaddr *)&sin, sizeof(sin)); - if (sj3_timeout > 0) { + ret = connect(fd, (struct sockaddr*)&sin, sizeof(sin)); + if(sj3_timeout > 0) { alarm(0); signal(SIGALRM, SIG_IGN); } - if (ret == ERROR) { + if(ret == ERROR) { sj3_error_number = SJ3_ConnectSocket; return ERROR; } @@ -373,26 +352,24 @@ open_inet(char *host) return fd; } -int -sj3_make_connection(SJ3_CLIENT_ENV *client, - char *serv, - char *user, - char *prog) -{ - char host[MAXHOSTNAMELEN]; - int tmp; - int hostlen, userlen, proglen, datalen, buflen; - int curlen; - char *curdata; +int sj3_make_connection(SJ3_CLIENT_ENV* client, + char* serv, + char* user, + char* prog) { + char host[MAXHOSTNAMELEN]; + int tmp; + int hostlen, userlen, proglen, datalen, buflen; + int curlen; + char* curdata; client->fd = -1; - if (!serv || *serv == '\0' || !strcmp(serv, af_unix_str)) { - if ((server_fd = open_unix()) == ERROR) + if(!serv || *serv == '\0' || !strcmp(serv, af_unix_str)) { + if((server_fd = open_unix()) == ERROR) return ERROR; strcpy(host, af_unix_str); } else { - if ((server_fd = open_inet(serv)) == ERROR) + if((server_fd = open_inet(serv)) == ERROR) return ERROR; gethostname(host, sizeof(host)); } @@ -406,91 +383,87 @@ sj3_make_connection(SJ3_CLIENT_ENV *client, put_cmd(SJ3_CONNECT); put_int(SJ3SERV_VERSION_NO); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { put_string(host, hostlen); put_string(user, userlen); put_string(prog, proglen); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 3, put_string, host, hostlen, put_string, - user, userlen, put_string, prog, proglen, NULL, NULL, 0) == - ERROR) + if(put_over(buflen, 3, put_string, host, hostlen, put_string, + user, userlen, put_string, prog, proglen, NULL, NULL, 0) == + ERROR) return ERROR; } - if ((tmp = get_int()) == SJ3_DifferentVersion) { - if (ReadErrorFlag) + if((tmp = get_int()) == SJ3_DifferentVersion) { + if(ReadErrorFlag) return ERROR; put_cmd(SJ3_CONNECT); put_int(1); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { put_string(host, hostlen); put_string(user, userlen); put_string(prog, proglen); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 3, put_string, host, hostlen, - put_string, user, userlen, put_string, prog, - proglen, NULL, NULL, 0) == ERROR) + if(put_over(buflen, 3, put_string, host, hostlen, + put_string, user, userlen, put_string, prog, + proglen, NULL, NULL, 0) == ERROR) return ERROR; } - if ((tmp = get_int())) { + if((tmp = get_int())) { sj3_erase_connection(client); sj3_error_number = tmp; return ERROR; } - } else if (tmp && (-2 < tmp)) { + } else if(tmp && (-2 < tmp)) { sj3_erase_connection(client); sj3_error_number = tmp; return ERROR; } - cliptr->svr_version = ((tmp) ? -tmp : 1); - cliptr->cli_version = SJ3SERV_VERSION_NO; + cliptr->svr_version = ((tmp) ? -tmp : 1); + cliptr->cli_version = SJ3SERV_VERSION_NO; cliptr->default_char[0] = 0x81; cliptr->default_char[1] = 0x40; - sj3_error_number = 0; + sj3_error_number = 0; - if (ReadErrorFlag) + if(ReadErrorFlag) return ERROR; put_cmd(SJ3_STDYSIZE); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((tmp = get_int())) { + if((tmp = get_int())) { sj3_erase_connection(client); sj3_error_number = tmp; return ERROR; } cliptr->stdy_size = get_int(); - cliptr->fd = server_fd; + cliptr->fd = server_fd; return ReadErrorFlag ? ERROR : 0; } -int -sj3_erase_connection(SJ3_CLIENT_ENV *client) -{ +int sj3_erase_connection(SJ3_CLIENT_ENV* client) { client_init(client); put_cmd(SJ3_DISCONNECT); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; sj3_error_number = get_int(); close(server_fd); cliptr->fd = -1; - if (ReadErrorFlag) + if(ReadErrorFlag) return ERROR; return sj3_error_number ? ERROR : 0; } -long -sj3_open_dictionary(SJ3_CLIENT_ENV *client, - char *dictname, char *password) -{ +long sj3_open_dictionary(SJ3_CLIENT_ENV* client, + char* dictname, char* password) { int res; int dictlen, passlen; int datalen, buflen; @@ -502,43 +475,39 @@ sj3_open_dictionary(SJ3_CLIENT_ENV *client, datalen = dictlen + passlen; put_cmd(SJ3_OPENDICT); - if (datalen < (buflen = BUFFER_SIZE - CMDLEN)) { + if(datalen < (buflen = BUFFER_SIZE - CMDLEN)) { put_string(dictname, dictlen); put_string(password, passlen); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 2, put_string, dictname, dictlen, - put_string, password, passlen, NULL, NULL, 0, NULL, NULL, - 0) == ERROR) + if(put_over(buflen, 2, put_string, dictname, dictlen, + put_string, password, passlen, NULL, NULL, 0, NULL, NULL, + 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return 0; res = get_int(); return ReadErrorFlag ? ERROR : res; } -int -sj3_close_dictionary(SJ3_CLIENT_ENV *client, long dicid) -{ +int sj3_close_dictionary(SJ3_CLIENT_ENV* client, long dicid) { client_init(client); put_cmd(SJ3_CLOSEDICT); put_int(dicid); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_open_study_file(SJ3_CLIENT_ENV *client, - char *stdyname, char *password) -{ +int sj3_open_study_file(SJ3_CLIENT_ENV* client, + char* stdyname, char* password) { int stdylen, passlen; int datalen, buflen; @@ -549,134 +518,124 @@ sj3_open_study_file(SJ3_CLIENT_ENV *client, datalen = stdylen + passlen; put_cmd(SJ3_OPENSTDY); - if (datalen < (buflen = BUFFER_SIZE - CMDLEN)) { + if(datalen < (buflen = BUFFER_SIZE - CMDLEN)) { put_string(stdyname, stdylen); put_string(password, passlen); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 2, put_string, stdyname, stdylen, - put_string, password, passlen, NULL, NULL, 0, NULL, NULL, - 0) == ERROR) + if(put_over(buflen, 2, put_string, stdyname, stdylen, + put_string, password, passlen, NULL, NULL, 0, NULL, NULL, + 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_close_study_file(SJ3_CLIENT_ENV *client) -{ +int sj3_close_study_file(SJ3_CLIENT_ENV* client) { client_init(client); put_cmd(SJ3_CLOSESTDY); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_get_id_size(SJ3_CLIENT_ENV *client) -{ +int sj3_get_id_size(SJ3_CLIENT_ENV* client) { client_init(client); put_cmd(SJ3_STDYSIZE); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; cliptr->stdy_size = get_int(); return ReadErrorFlag ? ERROR : cliptr->stdy_size; } -int -sj3_lock_server(SJ3_CLIENT_ENV *client) -{ +int sj3_lock_server(SJ3_CLIENT_ENV* client) { client_init(client); put_cmd(SJ3_LOCK); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_unlock_server(SJ3_CLIENT_ENV *client) -{ +int sj3_unlock_server(SJ3_CLIENT_ENV* client) { client_init(client); put_cmd(SJ3_UNLOCK); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_ikkatu_henkan(SJ3_CLIENT_ENV *client, - unsigned char *src, - unsigned char *dst, - int dstsiz, - int mb_flag) -{ - int c; - unsigned char *top; - int result; - int len; - int len1; - int stysiz; +int sj3_ikkatu_henkan(SJ3_CLIENT_ENV* client, + unsigned char* src, + unsigned char* dst, + int dstsiz, + int mb_flag) { + int c; + unsigned char* top; + int result; + int len; + int len1; + int stysiz; - int srclen; - int buflen; + int srclen; + int buflen; client_init(client); srclen = strlen(src) + 1; - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_PH2KNJ); else put_cmd(SJ3_PH2KNJ_EUC); - if (srclen < (buflen = BUFFER_SIZE - CMDLEN)) { + if(srclen < (buflen = BUFFER_SIZE - CMDLEN)) { put_string(src, srclen); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 1, put_string, src, srclen, NULL, NULL, 0, - NULL, NULL, 0, NULL, NULL, 0) == ERROR) + if(put_over(buflen, 1, put_string, src, srclen, NULL, NULL, 0, + NULL, NULL, 0, NULL, NULL, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; result = get_int(); result = 0; stysiz = cliptr->stdy_size; - len1 = 1 + stysiz + 1 + 1; - while ((c = get_byte())) { + len1 = 1 + stysiz + 1 + 1; + while((c = get_byte())) { top = dst; - if (dstsiz < len1) + if(dstsiz < len1) goto error1; *dst++ = len = c; - dst = get_ndata(dst, stysiz); + dst = get_ndata(dst, stysiz); dstsiz -= (stysiz + 1); - while ((c = get_byte())) { - if (dstsiz-- < 3) + while((c = get_byte())) { + if(dstsiz-- < 3) goto error2; *dst++ = c; } @@ -691,167 +650,156 @@ sj3_ikkatu_henkan(SJ3_CLIENT_ENV *client, error1: do { skip_ndata(stysiz); -error2: - while (get_byte()) - ; - } while (get_byte()); + error2: + while(get_byte()); + } while(get_byte()); *top = 0; return ReadErrorFlag ? ERROR : result; } -int -sj3_bunsetu_henkan(SJ3_CLIENT_ENV *client, - unsigned char *yomi, - int len, - unsigned char *kanji, - int mb_flag) -{ - int result; - int buflen; - - client_init(client); - - if (mb_flag == MBCODE_SJIS) - put_cmd(SJ3_CL2KNJ); - else - put_cmd(SJ3_CL2KNJ_EUC); - put_int(len); - if ((len + 1) <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { - put_ndata(yomi, len); - put_byte(0); - if (put_flush() == ERROR) - return ERROR; - } else { - if (put_over(buflen, 2, put_ndata, yomi, len, put_ndata, NULL, - 1, NULL, NULL, 0, NULL, NULL, 0) == ERROR) - return ERROR; - } - - if ((sj3_error_number = get_int())) - return ERROR; - - result = get_int(); - get_string(get_ndata(kanji, cliptr->stdy_size)); - return ReadErrorFlag ? ERROR : result; -} - -int -sj3_bunsetu_jikouho(SJ3_CLIENT_ENV *client, - unsigned char *kanji, - int mode, - int mb_flag) -{ - int result; - - client_init(client); - - if (mb_flag == MBCODE_SJIS) - put_cmd(SJ3_NEXTCL); - else - put_cmd(SJ3_NEXTCL_EUC); - put_int(mode); - if (put_flush() == ERROR) - return ERROR; - - if ((sj3_error_number = get_int())) - return ERROR; - - result = get_int(); - get_string(get_ndata(kanji, cliptr->stdy_size)); - return ReadErrorFlag ? ERROR : result; -} - -int -sj3_bunsetu_maekouho(SJ3_CLIENT_ENV *client, - unsigned char *kanji, int mode, int mb_flag) -{ - int result; - - client_init(client); - - if (mb_flag == MBCODE_SJIS) - put_cmd(SJ3_PREVCL); - else - put_cmd(SJ3_PREVCL_EUC); - put_int(mode); - if (put_flush() == ERROR) - return ERROR; - - if ((sj3_error_number = get_int())) - return ERROR; - - result = get_int(); - get_string(get_ndata(kanji, cliptr->stdy_size)); - return ReadErrorFlag ? ERROR : result; -} - -int -sj3_bunsetu_kouhosuu(SJ3_CLIENT_ENV *client, - unsigned char *yomi, - int len, - int mb_flag) -{ +int sj3_bunsetu_henkan(SJ3_CLIENT_ENV* client, + unsigned char* yomi, + int len, + unsigned char* kanji, + int mb_flag) { int result; int buflen; client_init(client); - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) + put_cmd(SJ3_CL2KNJ); + else + put_cmd(SJ3_CL2KNJ_EUC); + put_int(len); + if((len + 1) <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { + put_ndata(yomi, len); + put_byte(0); + if(put_flush() == ERROR) + return ERROR; + } else { + if(put_over(buflen, 2, put_ndata, yomi, len, put_ndata, NULL, + 1, NULL, NULL, 0, NULL, NULL, 0) == ERROR) + return ERROR; + } + + if((sj3_error_number = get_int())) + return ERROR; + + result = get_int(); + get_string(get_ndata(kanji, cliptr->stdy_size)); + return ReadErrorFlag ? ERROR : result; +} + +int sj3_bunsetu_jikouho(SJ3_CLIENT_ENV* client, + unsigned char* kanji, + int mode, + int mb_flag) { + int result; + + client_init(client); + + if(mb_flag == MBCODE_SJIS) + put_cmd(SJ3_NEXTCL); + else + put_cmd(SJ3_NEXTCL_EUC); + put_int(mode); + if(put_flush() == ERROR) + return ERROR; + + if((sj3_error_number = get_int())) + return ERROR; + + result = get_int(); + get_string(get_ndata(kanji, cliptr->stdy_size)); + return ReadErrorFlag ? ERROR : result; +} + +int sj3_bunsetu_maekouho(SJ3_CLIENT_ENV* client, + unsigned char* kanji, int mode, int mb_flag) { + int result; + + client_init(client); + + if(mb_flag == MBCODE_SJIS) + put_cmd(SJ3_PREVCL); + else + put_cmd(SJ3_PREVCL_EUC); + put_int(mode); + if(put_flush() == ERROR) + return ERROR; + + if((sj3_error_number = get_int())) + return ERROR; + + result = get_int(); + get_string(get_ndata(kanji, cliptr->stdy_size)); + return ReadErrorFlag ? ERROR : result; +} + +int sj3_bunsetu_kouhosuu(SJ3_CLIENT_ENV* client, + unsigned char* yomi, + int len, + int mb_flag) { + int result; + int buflen; + + client_init(client); + + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_CL2KNJ_CNT); else put_cmd(SJ3_CL2KNJ_CNT_EUC); put_int(len); - if ((len + 1) <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { + if((len + 1) <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { put_ndata(yomi, len); put_byte(0); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 2, put_ndata, yomi, len, put_ndata, NULL, - 1, NULL, NULL, 0, NULL, NULL, 0) == ERROR) + if(put_over(buflen, 2, put_ndata, yomi, len, put_ndata, NULL, + 1, NULL, NULL, 0, NULL, NULL, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; result = get_int(); return ReadErrorFlag ? ERROR : result; } -int -sj3_bunsetu_zenkouho(SJ3_CLIENT_ENV *client, - unsigned char *yomi, - int len, - SJ3_DOUON *douon, - int mb_flag) -{ - int cnt = 0; - int buflen; +int sj3_bunsetu_zenkouho(SJ3_CLIENT_ENV* client, + unsigned char* yomi, + int len, + SJ3_DOUON* douon, + int mb_flag) { + int cnt = 0; + int buflen; client_init(client); - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_CL2KNJ_ALL); else put_cmd(SJ3_CL2KNJ_ALL_EUC); put_int(len); - if ((len + 1) <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { + if((len + 1) <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { put_ndata(yomi, len); put_byte(0); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 2, put_ndata, yomi, len, put_ndata, NULL, - 1, NULL, NULL, 0, NULL, NULL, 0) == ERROR) + if(put_over(buflen, 2, put_ndata, yomi, len, put_ndata, NULL, + 1, NULL, NULL, 0, NULL, NULL, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; - while (get_int()) { + while(get_int()) { get_ndata(&(douon->dcid), cliptr->stdy_size); get_string(douon->ddata); douon->dlen = strlen(douon->ddata); @@ -862,36 +810,32 @@ sj3_bunsetu_zenkouho(SJ3_CLIENT_ENV *client, return ReadErrorFlag ? ERROR : cnt; } -int -sj3_tango_gakusyuu(SJ3_CLIENT_ENV *client, SJ3_STUDYREC *stdy) -{ +int sj3_tango_gakusyuu(SJ3_CLIENT_ENV* client, SJ3_STUDYREC* stdy) { int buflen; client_init(client); put_cmd(SJ3_STUDY); - if (cliptr->stdy_size <= (buflen = BUFFER_SIZE - CMDLEN)) { + if(cliptr->stdy_size <= (buflen = BUFFER_SIZE - CMDLEN)) { put_ndata(stdy, cliptr->stdy_size); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 1, put_ndata, stdy, cliptr->stdy_size, - NULL, NULL, 0, NULL, NULL, 0, NULL, NULL, 0) == ERROR) + if(put_over(buflen, 1, put_ndata, stdy, cliptr->stdy_size, + NULL, NULL, 0, NULL, NULL, 0, NULL, NULL, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_bunsetu_gakusyuu(SJ3_CLIENT_ENV *client, - unsigned char *yomi1, - unsigned char *yomi2, - SJ3_STUDYREC *stdy, - int mb_flag) -{ +int sj3_bunsetu_gakusyuu(SJ3_CLIENT_ENV* client, + unsigned char* yomi1, + unsigned char* yomi2, + SJ3_STUDYREC* stdy, + int mb_flag) { int yomilen1, yomilen2; int datalen, buflen; @@ -899,198 +843,186 @@ sj3_bunsetu_gakusyuu(SJ3_CLIENT_ENV *client, yomilen1 = strlen(yomi1) + 1; yomilen2 = strlen(yomi2) + 1; - datalen = yomilen1 + yomilen2 + cliptr->stdy_size; + datalen = yomilen1 + yomilen2 + cliptr->stdy_size; - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_CLSTUDY); else put_cmd(SJ3_CLSTUDY_EUC); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { put_string(yomi1, yomilen1); put_string(yomi2, yomilen2); put_ndata(stdy, cliptr->stdy_size); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 3, put_string, yomi1, yomilen1, put_string, - yomi2, yomilen2, put_ndata, stdy, cliptr->stdy_size, - NULL, NULL, 0) == ERROR) + if(put_over(buflen, 3, put_string, yomi1, yomilen1, put_string, + yomi2, yomilen2, put_ndata, stdy, cliptr->stdy_size, + NULL, NULL, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_tango_touroku(SJ3_CLIENT_ENV *client, - long dicid, - unsigned char *yomi, - unsigned char *kanji, - int code, - int mb_flag) -{ +int sj3_tango_touroku(SJ3_CLIENT_ENV* client, + long dicid, + unsigned char* yomi, + unsigned char* kanji, + int code, + int mb_flag) { int yomilen, kanjilen; int datalen, buflen; client_init(client); - yomilen = strlen(yomi) + 1; + yomilen = strlen(yomi) + 1; kanjilen = strlen(kanji) + 1; - datalen = yomilen + kanjilen + INTLEN; + datalen = yomilen + kanjilen + INTLEN; - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_ADDDICT); else put_cmd(SJ3_ADDDICT_EUC); put_int(dicid); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { put_string(yomi, yomilen); put_string(kanji, kanjilen); put_int(code); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 3, put_string, yomi, yomilen, put_string, - kanji, kanjilen, put_ndata, &code, INTLEN, NULL, NULL, 0) == - ERROR) + if(put_over(buflen, 3, put_string, yomi, yomilen, put_string, + kanji, kanjilen, put_ndata, &code, INTLEN, NULL, NULL, 0) == + ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_tango_sakujo(SJ3_CLIENT_ENV *client, - long dicid, - unsigned char *yomi, - unsigned char *kanji, - int code, - int mb_flag) -{ +int sj3_tango_sakujo(SJ3_CLIENT_ENV* client, + long dicid, + unsigned char* yomi, + unsigned char* kanji, + int code, + int mb_flag) { int yomilen, kanjilen; int datalen, buflen; client_init(client); - yomilen = strlen(yomi) + 1; + yomilen = strlen(yomi) + 1; kanjilen = strlen(kanji) + 1; - datalen = yomilen + kanjilen + INTLEN; + datalen = yomilen + kanjilen + INTLEN; - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_DELDICT); else put_cmd(SJ3_DELDICT_EUC); put_int(dicid); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN - INTLEN)) { put_string(yomi, yomilen); put_string(kanji, kanjilen); put_int(code); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 3, put_string, yomi, yomilen, put_string, - kanji, kanjilen, put_ndata, &code, INTLEN, NULL, NULL, 0) == - ERROR) + if(put_over(buflen, 3, put_string, yomi, yomilen, put_string, + kanji, kanjilen, put_ndata, &code, INTLEN, NULL, NULL, 0) == + ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_tango_syutoku(SJ3_CLIENT_ENV *client, - int dicid, - unsigned char *buf, - int mb_flag) -{ - unsigned char *p; +int sj3_tango_syutoku(SJ3_CLIENT_ENV* client, + int dicid, + unsigned char* buf, + int mb_flag) { + unsigned char* p; client_init(client); - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_GETDICT); else put_cmd(SJ3_GETDICT_EUC); put_int(dicid); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; - p = get_string(buf); - p = get_string(p); + p = get_string(buf); + p = get_string(p); *p = get_int(); return ReadErrorFlag ? ERROR : 0; } -int -sj3_tango_jikouho(SJ3_CLIENT_ENV *client, - int dicid, - unsigned char *buf, - int mb_flag) -{ - unsigned char *p; +int sj3_tango_jikouho(SJ3_CLIENT_ENV* client, + int dicid, + unsigned char* buf, + int mb_flag) { + unsigned char* p; client_init(client); - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_NEXTDICT); else put_cmd(SJ3_NEXTDICT_EUC); put_int(dicid); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; - p = get_string(buf); - p = get_string(p); + p = get_string(buf); + p = get_string(p); *p = get_int(); return ReadErrorFlag ? ERROR : 0; } -int -sj3_tango_maekouho(SJ3_CLIENT_ENV *client, - int dicid, - unsigned char *buf, - int mb_flag) -{ - unsigned char *p; +int sj3_tango_maekouho(SJ3_CLIENT_ENV* client, + int dicid, + unsigned char* buf, + int mb_flag) { + unsigned char* p; client_init(client); - if (mb_flag == MBCODE_SJIS) + if(mb_flag == MBCODE_SJIS) put_cmd(SJ3_PREVDICT); else put_cmd(SJ3_PREVDICT_EUC); put_int(dicid); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; - p = get_string(buf); - p = get_string(p); + p = get_string(buf); + p = get_string(p); *p = get_int(); return ReadErrorFlag ? ERROR : 0; } -int -sj3_make_dict_file(SJ3_CLIENT_ENV *client, - char *path, - int idxlen, - int seglen, - int segnum) -{ +int sj3_make_dict_file(SJ3_CLIENT_ENV* client, + char* path, + int idxlen, + int seglen, + int segnum) { int pathlen; int buflen, datalen; @@ -1100,32 +1032,30 @@ sj3_make_dict_file(SJ3_CLIENT_ENV *client, datalen = pathlen + INTLEN + INTLEN + INTLEN; put_cmd(SJ3_MAKEDICT); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { put_string(path, pathlen); put_int(idxlen); put_int(seglen); put_int(segnum); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 4, put_string, path, pathlen, put_ndata, - &idxlen, INTLEN, put_ndata, &seglen, INTLEN, - put_ndata, &segnum, 0) == ERROR) + if(put_over(buflen, 4, put_string, path, pathlen, put_ndata, + &idxlen, INTLEN, put_ndata, &seglen, INTLEN, + put_ndata, &segnum, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_make_study_file(SJ3_CLIENT_ENV *client, - char *path, - int stynum, - int clstep, - int cllen) -{ +int sj3_make_study_file(SJ3_CLIENT_ENV* client, + char* path, + int stynum, + int clstep, + int cllen) { int pathlen; int buflen, datalen; @@ -1135,28 +1065,26 @@ sj3_make_study_file(SJ3_CLIENT_ENV *client, datalen = pathlen + INTLEN + INTLEN + INTLEN; put_cmd(SJ3_MAKESTDY); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { put_string(path, pathlen); put_int(stynum); put_int(clstep); put_int(cllen); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 4, put_string, path, pathlen, put_ndata, - &stynum, INTLEN, put_ndata, &clstep, INTLEN, - put_ndata, &cllen, 0) == ERROR) + if(put_over(buflen, 4, put_string, path, pathlen, put_ndata, + &stynum, INTLEN, put_ndata, &clstep, INTLEN, + put_ndata, &cllen, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_make_directory(SJ3_CLIENT_ENV *client, char *path) -{ +int sj3_make_directory(SJ3_CLIENT_ENV* client, char* path) { int pathlen; int buflen; @@ -1165,24 +1093,22 @@ sj3_make_directory(SJ3_CLIENT_ENV *client, char *path) pathlen = strlen(path) + 1; put_cmd(SJ3_MAKEDIR); - if (pathlen <= (buflen = BUFFER_SIZE - CMDLEN)) { + if(pathlen <= (buflen = BUFFER_SIZE - CMDLEN)) { put_string(path, pathlen); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 1, put_string, path, pathlen, NULL, NULL, - 0, NULL, NULL, 0, NULL, NULL, 0) == ERROR) + if(put_over(buflen, 1, put_string, path, pathlen, NULL, NULL, + 0, NULL, NULL, 0, NULL, NULL, 0) == ERROR) return ERROR; } - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_access(SJ3_CLIENT_ENV *client, char *path, int mode) -{ +int sj3_access(SJ3_CLIENT_ENV* client, char* path, int mode) { int result; int pathlen; int buflen, datalen; @@ -1193,41 +1119,39 @@ sj3_access(SJ3_CLIENT_ENV *client, char *path, int mode) datalen = pathlen + INTLEN; put_cmd(SJ3_ACCESS); - if (datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { + if(datalen <= (buflen = BUFFER_SIZE - CMDLEN)) { put_string(path, pathlen); put_int(mode); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; } else { - if (put_over(buflen, 2, put_string, path, pathlen, put_ndata, - &mode, INTLEN, NULL, NULL, 0, NULL, NULL, 0) == ERROR) + if(put_over(buflen, 2, put_string, path, pathlen, put_ndata, + &mode, INTLEN, NULL, NULL, 0, NULL, NULL, 0) == ERROR) return ERROR; } sj3_error_number = 0; - result = get_int(); + result = get_int(); return ReadErrorFlag ? ERROR : result; } -int -sj3_who(SJ3_CLIENT_ENV *client, SJ3_WHO_STRUCT *ret, int num) -{ - int i, j; +int sj3_who(SJ3_CLIENT_ENV* client, SJ3_WHO_STRUCT* ret, int num) { + int i, j; client_init(client); put_cmd(SJ3_WHO); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((i = get_int()) < 0) { + if((i = get_int()) < 0) { sj3_error_number = SJ3_InternalError; return -1; } sj3_error_number = 0; - for (j = 0; j < i; j++) { - if (j < num) { + for(j = 0; j < i; j++) { + if(j < num) { ret->fd = get_int(); get_nstring(ret->hostname, SJ3_NAME_LENGTH); get_nstring(ret->username, SJ3_NAME_LENGTH); @@ -1244,62 +1168,56 @@ sj3_who(SJ3_CLIENT_ENV *client, SJ3_WHO_STRUCT *ret, int num) return ReadErrorFlag ? ERROR : ((i < num) ? i : num); } -int -sj3_quit(SJ3_CLIENT_ENV *client) -{ +int sj3_quit(SJ3_CLIENT_ENV* client) { client_init(client); put_cmd(SJ3_QUIT); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_kill(SJ3_CLIENT_ENV *client) -{ +int sj3_kill(SJ3_CLIENT_ENV* client) { client_init(client); put_cmd(SJ3_KILL); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; - if ((sj3_error_number = get_int())) + if((sj3_error_number = get_int())) return ERROR; return ReadErrorFlag ? ERROR : 0; } -int -sj3_version(SJ3_CLIENT_ENV *client, char *dst, int dstsiz) -{ - int c; +int sj3_version(SJ3_CLIENT_ENV* client, char* dst, int dstsiz) { + int c; client_init(client); put_cmd(SJ3_VERSION); - if (put_flush() == ERROR) + if(put_flush() == ERROR) return ERROR; sj3_error_number = get_int(); - c = get_byte(); - while (c) { - while (c) { - if (dstsiz > 2) { + c = get_byte(); + while(c) { + while(c) { + if(dstsiz > 2) { *dst++ = c; dstsiz--; } c = get_byte(); } - if (dstsiz > 1) { + if(dstsiz > 1) { *dst++ = 0; dstsiz--; } c = get_byte(); } - if (dstsiz > 0) { + if(dstsiz > 0) { *dst++ = 0; dstsiz--; } diff --git a/libif.c b/libif.c index 7b93391..b4959eb 100644 --- a/libif.c +++ b/libif.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,12 +28,11 @@ */ /* - * $SonyRCSfile: libif.c,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: libif.c,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1996/02/23 11:04:02 $ */ - #include "sj_sysvdef.h" #ifdef SVR4 #include @@ -43,74 +42,66 @@ #include "kctype.h" #include "common.h" +extern char user_name[]; +extern char * cur_serv, **serv_list; +extern char** dict_list; +extern int dict_num; +char* chmyhname(); -extern char user_name[]; -extern char *cur_serv, **serv_list; -extern char **dict_list; -extern int dict_num; -char *chmyhname(); - -extern int current_locale; -int sjislen(), euclen(); +extern int current_locale; +int sjislen(), euclen(); int (*len_func[3])() = {0, sjislen, euclen}; - #define YOMILEN 32 -#define KLEN 64 +#define KLEN 64 - - - - -SJ2_henkan (yomiout, bun, kanjiout, kanjilen) -struct bunsetu_sj3 *bun; -wchar16_t *yomiout, *kanjiout; -int kanjilen; +SJ2_henkan(yomiout, bun, kanjiout, kanjilen) struct bunsetu_sj3* bun; +wchar16_t *yomiout, *kanjiout; +int kanjilen; { - int retv; - SJ3_BUNSETU sbun[BUFFLENGTH]; - int i, sentou, saigo; + int retv; + SJ3_BUNSETU sbun[BUFFLENGTH]; + int i, sentou, saigo; unsigned char yomi[BUFFLENGTH * 3]; unsigned char kanji[BUFFLENGTH * 6]; - (void) wcstombs((char *) yomi, yomiout, BUFFLENGTH*3); - if (current_locale == LC_CTYPE_SHIFTJIS) { + (void)wcstombs((char*)yomi, yomiout, BUFFLENGTH * 3); + if(current_locale == LC_CTYPE_SHIFTJIS) { retv = sj3_getkan(yomi, sbun, kanji, BUFFLENGTH * 6); } else { retv = sj3_getkan_euc(yomi, sbun, kanji, BUFFLENGTH * 6); } - if (retv <= 0) return(retv); - (void) mbstowcs(kanjiout, (char *)kanji, kanjilen); + if(retv <= 0) return (retv); + (void)mbstowcs(kanjiout, (char*)kanji, kanjilen); for(i = 0; i < retv; i++) { - sentou = (*len_func[current_locale])(yomi, sbun[i].srcstr - yomi); - saigo = (*len_func[current_locale])(sbun[i].srcstr, sbun[i].srclen); - bun[i].srclen = saigo; - bun[i].srcstr = yomiout + sentou; - sentou = (*len_func[current_locale])(kanji, sbun[i].deststr - kanji); - saigo = (*len_func[current_locale])(sbun[i].deststr, sbun[i].destlen); + sentou = (*len_func[current_locale])(yomi, sbun[i].srcstr - yomi); + saigo = (*len_func[current_locale])(sbun[i].srcstr, sbun[i].srclen); + bun[i].srclen = saigo; + bun[i].srcstr = yomiout + sentou; + sentou = (*len_func[current_locale])(kanji, sbun[i].deststr - kanji); + saigo = (*len_func[current_locale])(sbun[i].deststr, sbun[i].destlen); bun[i].destlen = saigo; - bun[i].deststr = kanjiout + sentou; - (void) memcpy(&(bun[i].dcid), &(sbun[i].dcid), sizeof(sbun[i].dcid)); + bun[i].deststr = kanjiout + sentou; + (void)memcpy(&(bun[i].dcid), &(sbun[i].dcid), sizeof(sbun[i].dcid)); } - return(retv); + return (retv); } -int -sjislen(str, max) -unsigned char *str; -int max; +int sjislen(str, max) +unsigned char* str; +int max; { int len = 0, bytes = 1; - if (!max) return 0; - while ((bytes <= max) && *str) { - if (issjis1(*str)) { + if(!max) return 0; + while((bytes <= max) && *str) { + if(issjis1(*str)) { str++; bytes++; - if (!*str) break; + if(!*str) break; len++; } else { len++; @@ -121,26 +112,25 @@ int max; return len; } -euclen(str, max) -unsigned char *str; +euclen(str, max) unsigned char* str; int max; { int len = 0, bytes = 1; - if (!max) return 0; - while ((bytes <= max) && *str) { - if (*str == SS3) { + if(!max) return 0; + while((bytes <= max) && *str) { + if(*str == SS3) { str++; bytes++; - if (!*str) break; + if(!*str) break; str++; bytes++; - if (!*str) break; + if(!*str) break; len++; - } else if ((*str == SS2) || (*str & 0x80)) { + } else if((*str == SS2) || (*str & 0x80)) { str++; bytes++; - if (!*str) break; + if(!*str) break; len++; } else { len++; @@ -151,215 +141,209 @@ int max; return len; } - - -SJ2_getdouon (s, d, n, choice, reconv) -wchar16_t *s; -struct douon_sj3 *d; -int n; -int choice; -int reconv; +SJ2_getdouon(s, d, n, choice, reconv) + wchar16_t* s; +struct douon_sj3* d; +int n; +int choice; +int reconv; { - int i, ret; - SJ3_DOUON d_sjis[DOUON_N]; + int i, ret; + SJ3_DOUON d_sjis[DOUON_N]; unsigned char yomi[BUFFLENGTH * 3]; - (void) wcstombs((char *) yomi, s, BUFFLENGTH*3); + (void)wcstombs((char*)yomi, s, BUFFLENGTH * 3); - if (current_locale == LC_CTYPE_SHIFTJIS) { + if(current_locale == LC_CTYPE_SHIFTJIS) { ret = sj3_getdouon(yomi, d_sjis); } else { ret = sj3_getdouon_euc(yomi, d_sjis); - } - for (i = 0; i < ret; i++) { - (void) memcpy(&(d[i].dcid), - &(d_sjis[i].dcid), SJ3_WORD_ID_SIZE); - d[i].wlen = (int) mbstowcs(d[i].ddata, (char *)d_sjis[i].ddata, - SJ3_BUNSETU_KANJI*2); - d[i].dlen = wcbyte(d[i].ddata); - d[i].valid = (char)1; } - if (ret < DOUON_N) { - (void) memset(&(d[ret].dcid), 0, SJ3_WORD_ID_SIZE); - d[ret].wlen = wslen(s); - for (i = 0; i < d[ret].wlen; i++) { - d[ret].ddata[i] = sj_tokata(s[i]); - } - d[ret].ddata[i] = (wchar_t) 0; - d[ret].dlen = wcbyte(s); - d[ret].valid = (char)0; - } - return(ret + 1); + for(i = 0; i < ret; i++) { + (void)memcpy(&(d[i].dcid), + &(d_sjis[i].dcid), SJ3_WORD_ID_SIZE); + d[i].wlen = (int)mbstowcs(d[i].ddata, (char*)d_sjis[i].ddata, + SJ3_BUNSETU_KANJI * 2); + d[i].dlen = wcbyte(d[i].ddata); + d[i].valid = (char)1; + } + if(ret < DOUON_N) { + (void)memset(&(d[ret].dcid), 0, SJ3_WORD_ID_SIZE); + d[ret].wlen = wslen(s); + for(i = 0; i < d[ret].wlen; i++) { + d[ret].ddata[i] = sj_tokata(s[i]); + } + d[ret].ddata[i] = (wchar_t)0; + d[ret].dlen = wcbyte(s); + d[ret].valid = (char)0; + } + return (ret + 1); } -SJ2_study (dcid) -struct studyrec *dcid; +SJ2_study(dcid) struct studyrec* dcid; { sj3_gakusyuu(dcid); } -SJ2_clstudy (yomi1, yomi2, dcid) -wchar16_t *yomi1, *yomi2; -struct studyrec *dcid; +SJ2_clstudy(yomi1, yomi2, dcid) + wchar16_t* yomi1, + *yomi2; +struct studyrec* dcid; { - unsigned char y1[BUFFLENGTH*2]; - unsigned char y2[BUFFLENGTH*2]; + unsigned char y1[BUFFLENGTH * 2]; + unsigned char y2[BUFFLENGTH * 2]; - (void) wcstombs((char *) y1, yomi1, BUFFLENGTH*2); - (void) wcstombs((char *) y2, yomi2, BUFFLENGTH*2); + (void)wcstombs((char*)y1, yomi1, BUFFLENGTH * 2); + (void)wcstombs((char*)y2, yomi2, BUFFLENGTH * 2); - if (current_locale == LC_CTYPE_SHIFTJIS) { + if(current_locale == LC_CTYPE_SHIFTJIS) { sj3_gakusyuu2(y1, y2, dcid); } else { sj3_gakusyuu2_euc(y1, y2, dcid); } } -SJ2_toroku (yomi, kanji, hinshi) -wchar16_t *yomi, *kanji; -int hinshi; +SJ2_toroku(yomi, kanji, hinshi) + wchar16_t* yomi, + *kanji; +int hinshi; { - unsigned char y[(YOMILEN+1)*3]; - unsigned char k[(KLEN+1)*3]; - int ret; + unsigned char y[(YOMILEN + 1) * 3]; + unsigned char k[(KLEN + 1) * 3]; + int ret; - (void)wcstombs((char *) y, yomi, (YOMILEN+1)*3); - (void)wcstombs((char *) k, kanji, (KLEN+1)*3); - if (current_locale == LC_CTYPE_SHIFTJIS) { - ret = sj3_touroku (y, k, hinshi); + (void)wcstombs((char*)y, yomi, (YOMILEN + 1) * 3); + (void)wcstombs((char*)k, kanji, (KLEN + 1) * 3); + if(current_locale == LC_CTYPE_SHIFTJIS) { + ret = sj3_touroku(y, k, hinshi); } else { - ret = sj3_touroku_euc (y, k, hinshi); + ret = sj3_touroku_euc(y, k, hinshi); } - return(ret); + return (ret); } -SJ2_syoukyo (yomi, kanji, hinshi) -wchar16_t *yomi, *kanji; -int hinshi; +SJ2_syoukyo(yomi, kanji, hinshi) + wchar16_t* yomi, + *kanji; +int hinshi; { - unsigned char y[(YOMILEN+1)*3]; - unsigned char k[(KLEN+1)*3]; - int ret; + unsigned char y[(YOMILEN + 1) * 3]; + unsigned char k[(KLEN + 1) * 3]; + int ret; - (void)wcstombs((char *) y, yomi, (YOMILEN+1)*3); - (void)wcstombs((char *) k, kanji, (KLEN+1)*3); - if (current_locale == LC_CTYPE_SHIFTJIS) { - ret = sj3_syoukyo (y, k, hinshi); + (void)wcstombs((char*)y, yomi, (YOMILEN + 1) * 3); + (void)wcstombs((char*)k, kanji, (KLEN + 1) * 3); + if(current_locale == LC_CTYPE_SHIFTJIS) { + ret = sj3_syoukyo(y, k, hinshi); } else { - ret = sj3_syoukyo_euc (y, k, hinshi); + ret = sj3_syoukyo_euc(y, k, hinshi); } - return(ret); + return (ret); } -sj_check_error (err) -int err; +sj_check_error(err) int err; { - if (err & SJ3_SERVER_DEAD) + if(err & SJ3_SERVER_DEAD) SJ_warnning(WCServer_Dead); - if (err & SJ3_ALREADY_CONNECTED) + if(err & SJ3_ALREADY_CONNECTED) SJ_warnning(WCConnected); - if (err & SJ3_CONNECT_ERROR) + if(err & SJ3_CONNECT_ERROR) SJ_warnning(WCNconnect); - if (err & SJ3_CANNOT_OPEN_MDICT) + if(err & SJ3_CANNOT_OPEN_MDICT) SJ_warnning(WCNopen_Mdic); - if (err & SJ3_CANNOT_MAKE_UDIR) + if(err & SJ3_CANNOT_MAKE_UDIR) SJ_warnning(WCNmake_Udir); - if (err & SJ3_CANNOT_MAKE_UDICT) + if(err & SJ3_CANNOT_MAKE_UDICT) SJ_warnning(WCNmake_Udic); - if (err & SJ3_CANNOT_OPEN_UDICT) + if(err & SJ3_CANNOT_OPEN_UDICT) SJ_warnning(WCNopen_Udic); - if (err & SJ3_CANNOT_MAKE_STUDY) + if(err & SJ3_CANNOT_MAKE_STUDY) SJ_warnning(WCNmake_Study); - if (err & SJ3_CANNOT_OPEN_STUDY) + if(err & SJ3_CANNOT_OPEN_STUDY) SJ_warnning(WCNopen_Study); } -SJ2_reconnect () -{ +SJ2_reconnect() { int err; - sj3_close(); - if (dict_num && dict_list) - err = sj3_open_with_list(chmyhname(cur_serv), user_name, dict_num, dict_list, NULL, NULL); - else - err = sj3_open(chmyhname(cur_serv), user_name); - return(err); -} - - -SJ2_henkan_end () -{ - sj3_close (); -} - -SJ2_henkan_init () -{ - int i, err; - int *err_dict = NULL; - int err_num = 0; - - sj3_set_timeout(5); - - if (dict_num && dict_list) - err = sj3_open_with_list(chmyhname(cur_serv), user_name, dict_num, - dict_list, &err_num, &err_dict); + sj3_close(); + if(dict_num && dict_list) + err = sj3_open_with_list(chmyhname(cur_serv), user_name, dict_num, dict_list, NULL, NULL); else - err = sj3_open(chmyhname(cur_serv), user_name); - i = 0; - while (err && i < MAXSERVER - 1 && serv_list[i + 1] != NULL) { - if (dict_num && dict_list) - err = sj3_open_with_list(chmyhname(serv_list[++i]), user_name, - dict_num, dict_list, &err_num, &err_dict); + err = sj3_open(chmyhname(cur_serv), user_name); + return (err); +} + +SJ2_henkan_end() { + sj3_close(); +} + +SJ2_henkan_init() { + int i, err; + int* err_dict = NULL; + int err_num = 0; + + sj3_set_timeout(5); + + if(dict_num && dict_list) + err = sj3_open_with_list(chmyhname(cur_serv), user_name, dict_num, + dict_list, &err_num, &err_dict); + else + err = sj3_open(chmyhname(cur_serv), user_name); + i = 0; + while(err && i < MAXSERVER - 1 && serv_list[i + 1] != NULL) { + if(dict_num && dict_list) + err = sj3_open_with_list(chmyhname(serv_list[++i]), user_name, + dict_num, dict_list, &err_num, &err_dict); else - err = sj3_open(chmyhname(cur_serv), user_name); + err = sj3_open(chmyhname(cur_serv), user_name); } - if (err) { - printf("Warning "); + if(err) { + printf("Warning "); sj_check_error(err); printf("\n\r"); set_dcflag(1); - return(1); - } else if (err_num && err_dict) { - printf("Warning "); - for( i = 0; i < err_num; i++) { + return (1); + } else if(err_num && err_dict) { + printf("Warning "); + for(i = 0; i < err_num; i++) { printf("%s ", dict_list[err_dict[i]]); } printf(" files can't open\n"); - cur_serv = serv_list[i]; - return (0); + cur_serv = serv_list[i]; + return (0); } else { - cur_serv = serv_list[i]; - return (0); - } + cur_serv = serv_list[i]; + return (0); + } } -sj3_autocon() -{ - int i, err; - - if (dict_num && dict_list) { - if (!(err = sj3_open_with_list(chmyhname(cur_serv), user_name, dict_num, - dict_list, NULL, NULL))) - return(0); +sj3_autocon() { + int i, err; + + if(dict_num && dict_list) { + if(!(err = sj3_open_with_list(chmyhname(cur_serv), user_name, dict_num, + dict_list, NULL, NULL))) + return (0); } else { - if (!(err = sj3_open(chmyhname(cur_serv), user_name))) - return(0); + if(!(err = sj3_open(chmyhname(cur_serv), user_name))) + return (0); } - i = 0; - while (serv_list[i] != NULL && i < MAXSERVER) { - if (strcmp(cur_serv, serv_list[i]) != 0) { - if (dict_num && dict_list) { + i = 0; + while(serv_list[i] != NULL && i < MAXSERVER) { + if(strcmp(cur_serv, serv_list[i]) != 0) { + if(dict_num && dict_list) { err = sj3_open_with_list(chmyhname(serv_list[i]), user_name, dict_num, dict_list, NULL, NULL); } else { err = sj3_open(chmyhname(cur_serv), user_name); } - if (!err) { - cur_serv = serv_list[i]; - break; - } - } - i++; - } - return(err); + if(!err) { + cur_serv = serv_list[i]; + break; + } + } + i++; + } + return (err); } diff --git a/main.c b/main.c index acf670b..3639ab9 100644 --- a/main.c +++ b/main.c @@ -46,76 +46,66 @@ #include "const.h" #include "server.h" -extern int fork_flag; -extern char *lock_file; +extern int fork_flag; +extern char* lock_file; -char *version_number = "2.08C"; -char *time_stamp = "Mon Mar 23 16:42:59 JST 1998"; +char* version_number = "2.08C"; +char* time_stamp = "Mon Mar 23 16:42:59 JST 1998"; static void -opening(void) -{ +opening(void) { printf("Kana-Kanji Conversion Server Version %s\r\n", version_number); printf("Copyright (c) 1990-1995 Sony Corporation\r\n"); printf("Created at %s\r\n", time_stamp); } -#ifdef LOCK_FILE +#ifdef LOCK_FILE -int -make_lockfile(void) -{ - int fd; +int make_lockfile(void) { + int fd; fd = open(lock_file, O_CREAT | O_EXCL, 0600); - if (fd < 0) + if(fd < 0) return ERROR; close(fd); return 0; } -int -erase_lockfile(void) -{ +int erase_lockfile(void) { return unlink(lock_file); } #endif static int -signal_handler(int sig) -{ +signal_handler(int sig) { warning_out("signal %d catched.", sig); } static int -terminate_handler(int sig) -{ +terminate_handler(int sig) { close_socket(); sj_closeall(); -#ifdef LOCK_FILE +#ifdef LOCK_FILE erase_lockfile(); #endif exit(0); } -void -server_terminate(void) -{ +void server_terminate(void) { close_socket(); sj_closeall(); -#ifdef LOCK_FILE +#ifdef LOCK_FILE erase_lockfile(); #endif exit(0); } static void -exec_fork(void) -{ - int tmp; +exec_fork(void) { + int tmp; - if (fork_flag && (tmp = fork())) { - if (tmp < 0) { + if(fork_flag && (tmp = fork())) { + if(tmp < 0) { fprintf(stderr, "Can't fork child process\r\n"); fflush(stderr); } else { @@ -135,14 +125,13 @@ exec_fork(void) signal(SIGINT, (void (*)())terminate_handler); signal(SIGQUIT, (void (*)())signal_handler); signal(SIGTERM, (void (*)())terminate_handler); - if (fork_flag) + if(fork_flag) signal(SIGTSTP, SIG_IGN); } static void -leave_tty(void) -{ - int tmp; +leave_tty(void) { + int tmp; tmp = open_error(); tmp |= open_log(); @@ -150,23 +139,21 @@ leave_tty(void) kill(getppid(), SIGTERM); fclose(stdin); fclose(stdout); - if (!tmp) + if(!tmp) fclose(stderr); - if (fork_flag) { - if ((tmp = open("/dev/tty", O_RDWR)) >= 0) { + if(fork_flag) { + if((tmp = open("/dev/tty", O_RDWR)) >= 0) { ioctl(tmp, TIOCNOTTY, 0); close(tmp); } } } -int -main(int argc, char **argv) -{ +int main(int argc, char** argv) { opening(); #ifndef __NetBSD__ - if (setuid(geteuid())) { + if(setuid(geteuid())) { fprintf(stderr, "error at setuid.\r\n"); exit(1); } @@ -176,8 +163,8 @@ main(int argc, char **argv) read_runcmd(); set_default(); -#ifdef LOCK_FILE - if (make_lockfile() == ERROR) { +#ifdef LOCK_FILE + if(make_lockfile() == ERROR) { fprintf(stderr, "Already running...\r\n"); exit(1); } @@ -196,7 +183,7 @@ main(int argc, char **argv) close_socket(); sj_closeall(); -#ifdef LOCK_FILE +#ifdef LOCK_FILE erase_lockfile(); #endif exit(0); diff --git a/makedict.c b/makedict.c index e579ca5..b0bbcf9 100644 --- a/makedict.c +++ b/makedict.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: makedict.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: makedict.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1994/12/09 11:27:05 $ * * $Id$ */ - /* #include "sj_sysvdef.h" */ /* XXX: no more need it? */ #include @@ -48,30 +47,24 @@ #include "const.h" #include "dicttool.h" -FILE *infp = NULL; -FILE *outfp = NULL; +FILE* infp = NULL; +FILE* outfp = NULL; -static char *idxtop = NULL; +static char* idxtop = NULL; - -int -main(int argc, char** argv) -{ +int main(int argc, char** argv) { parse(argc, argv); - while (readline()) setline(makelist); + while(readline()) setline(makelist); flush_douon(); - makehead((unsigned char *)argv[2]); + makehead((unsigned char*)argv[2]); return 0; } - -char* -make_idxlist(char* name) -{ - int i; - char *p; +char* make_idxlist(char* name) { + int i; + char* p; i = strlen(name); p = Zalloc(i + 2); @@ -79,111 +72,89 @@ make_idxlist(char* name) return p; } -char* -get_idxlist(char* name) -{ - FILE *fp; - int i; - char *p, *q, *r; +char* get_idxlist(char* name) { + FILE* fp; + int i; + char *p, *q, *r; - fp = Fopen(name, "r"); - i = Fsize(name); - p = Zalloc(i + 2); Fseek(fp, 0L, 0); Fread(p, 1, i, fp); Fclose(fp); - - for (q = r = p ; *q ; ) { - while (*q <= ' ') q++; - while (*q > ' ') *r++ = *q++; + for(q = r = p; *q;) { + while(*q <= ' ') q++; + while(*q > ' ') *r++ = *q++; *r++ = 0; q++; } *r = 0; - i = 0; - for (q = p ; *q ; ) { - if ((fp = fopen(q, "r"))!=NULL) + for(q = p; *q;) { + if((fp = fopen(q, "r")) != NULL) fclose(fp); else { fprintf(stderr, "Can't open %s mode \"r\"\n", q); i++; } - while (*q++) ; + while(*q++); } - if (i) exit(1); + if(i) exit(1); return p; } +void parse(int argc, char** argv) { + char* progname = NULL; + char* p; -void -parse(int argc, char** argv) -{ - char *progname = NULL; - char *p; - - - if ((progname = strrchr(argv[0], '/'))!=NULL) + if((progname = strrchr(argv[0], '/')) != NULL) progname++; else progname = argv[0]; - - if (argc != 3) usage(progname); + if(argc != 3) usage(progname); - - p = argv[1]; + p = argv[1]; idxtop = (*p == '-') ? get_idxlist(p + 1) : make_idxlist(p); outfp = Fopen(argv[2], "w"); } +int get_number(char* ptr) { + int i = 0; -int -get_number(char* ptr) -{ - int i = 0; - - while (*ptr >= '0' && *ptr <= '9') { + while(*ptr >= '0' && *ptr <= '9') { i = i * 10 + (*ptr++ - '0'); } - return(i); + return (i); } - -void -usage(char* name) -{ +void usage(char* name) { fprintf(stderr, "Usage: %s text_file binary_file\n", name ? name : "encode"); exit(0); } +int getch(void) { + if(infp) { + int c; -int -getch(void) -{ - if (infp) { - int c; - - if ((c = Fgetc(infp)) != EOF) return c; + if((c = Fgetc(infp)) != EOF) return c; Fclose(infp); infp = NULL; - while (*idxtop++) ; + while(*idxtop++); } - if (*idxtop) { + if(*idxtop) { infp = Fopen(idxtop, "r"); fprintf(stderr, "Reading %s\n", idxtop); @@ -195,29 +166,25 @@ getch(void) return EOF; } +void mark_file(FILE* out) { + static char pathname[MAXPATHLEN]; + static long pos; -void -mark_file(FILE* out) -{ - static char pathname[MAXPATHLEN]; - static long pos; - - if (out) { - FILE *fp; - int c; + if(out) { + FILE* fp; + int c; fprintf(out, "%s:\t", pathname); fp = Fopen(pathname, "r"); Fseek(fp, pos, 0); c = Fgetc(fp); - while (c != EOF && c != '\n') { + while(c != EOF && c != '\n') { fputc(c, out); c = Fgetc(fp); } fputc('\n', out); Fclose(fp); - } - else { + } else { strcpy(pathname, idxtop); pos = infp ? Ftell(infp) : 0; } diff --git a/makelist.c b/makelist.c index 2337eb7..e17f808 100644 --- a/makelist.c +++ b/makelist.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: makelist.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: makelist.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:39 $ * * $Id$ */ - #include #include #include @@ -47,153 +46,128 @@ #define SS2 0x8e #endif -extern DouonRec *douon_ptr; -extern int douon_num; -extern int yomi_len; -extern int hinsi_num; -extern int kanji_len; -extern HindoRec *hindo[]; -extern int hindo_num; -extern HindoRec *askknj[]; -extern int askknj_num; -extern HindoRec *assyuku; - -static DouonRec *drectmp = NULL; - +extern DouonRec* douon_ptr; +extern int douon_num; +extern int yomi_len; +extern int hinsi_num; +extern int kanji_len; +extern HindoRec* hindo[]; +extern int hindo_num; +extern HindoRec* askknj[]; +extern int askknj_num; +extern HindoRec* assyuku; +static DouonRec* drectmp = NULL; static void -clearklist(KanjiRec* krec) -{ - KanjiRec *p; +clearklist(KanjiRec* krec) { + KanjiRec* p; - - while (krec) { - - Free(krec -> kptr); - Free(krec -> aptr); + while(krec) { - - p = krec; - krec = krec -> knext; + Free(krec->kptr); + Free(krec->aptr); + + p = krec; + krec = krec->knext; - Free(p); } } - - static void -clearhlist(HinsiRec* hrec) -{ - HinsiRec *p; +clearhlist(HinsiRec* hrec) { + HinsiRec* p; - - while (hrec) { - - clearklist(hrec -> krec); + while(hrec) { - - p = hrec; - hrec = hrec -> hnext; + clearklist(hrec->krec); + + p = hrec; + hrec = hrec->hnext; - Free(p); } } +void clear_list(void) { + DouonRec* p; + DouonRec* drec = douon_ptr; -void -clear_list(void) -{ - DouonRec *p; - DouonRec *drec = douon_ptr; + while(drec) { - - while (drec) { - - Free(drec -> yptr); + Free(drec->yptr); - - clearhlist(drec -> hrec); + clearhlist(drec->hrec); - - p = drec; - drec = drec -> dnext; + p = drec; + drec = drec->dnext; - Free(p); } douon_ptr = NULL; } - - static unsigned char* -makekanji(int *yomi, int* kanji, int* atr, int* len) -{ - int kana[MaxYomiLength + 1]; - unsigned char ktmp[MaxKanjiLength * 3 + MaxAtrNumber * 2 + 1]; - int i; - int pos = 0; - int *p; - unsigned char *q; +makekanji(int* yomi, int* kanji, int* atr, int* len) { + int kana[MaxYomiLength + 1]; + unsigned char ktmp[MaxKanjiLength * 3 + MaxAtrNumber * 2 + 1]; + int i; + int pos = 0; + int* p; + unsigned char* q; - - for (p = yomi, i = 0 ; *p ; ) + for(p = yomi, i = 0; *p;) kana[i++] = h2kcode(*p++); kana[i] = 0; - - while (*atr) { + + while(*atr) { i = *atr; atr++; -#ifndef NO_ATR +#ifndef NO_ATR ktmp[pos++] = (AiAttribute | ((i >> 8) & 0xff)); - ktmp[pos++] = (i & 0xff); + ktmp[pos++] = (i & 0xff); #endif } - - if ((i = top_strcmp(yomi, kanji))!=0) { + if((i = top_strcmp(yomi, kanji)) != 0) { kanji += i; ktmp[pos++] = (ZenHiraAssyuku | (i - 1)); } - - else if ((i = top_strcmp(kana, kanji))!=0) { + + else if((i = top_strcmp(kana, kanji)) != 0) { kanji += i; ktmp[pos++] = (ZenKataAssyuku | (i - 1)); } - - while (*kanji) { - - if ((i = last_strcmp(yomi, kanji))!=0) { + while(*kanji) { + + if((i = last_strcmp(yomi, kanji)) != 0) { kanji += i; ktmp[pos++] = (ZenHiraAssyuku | (i - 1)); } - - else if ((i = last_strcmp(kana, kanji))!=0) { + + else if((i = last_strcmp(kana, kanji)) != 0) { kanji += i; ktmp[pos++] = (ZenKataAssyuku | (i - 1)); } - - else if (((*kanji >> 8) & 0xff) == SS2 || *kanji < 0x100) { - ktmp[pos] = LeadingHankaku; + + else if(((*kanji >> 8) & 0xff) == SS2 || *kanji < 0x100) { + ktmp[pos] = LeadingHankaku; ktmp[pos + 1] = (*kanji & 0xff); kanji++; pos += 2; } - + else { - if (*kanji < 0x10000) { - ktmp[pos] = ((*kanji >> 8) & NormalKanjiMask); + if(*kanji < 0x10000) { + ktmp[pos] = ((*kanji >> 8) & NormalKanjiMask); ktmp[pos + 1] = (*kanji & NormalKanjiMask); kanji++; pos += 2; - } else if (*kanji < 0x1000000) { - ktmp[pos] = ((*kanji >> 8) & NormalKanjiMask); + } else if(*kanji < 0x1000000) { + ktmp[pos] = ((*kanji >> 8) & NormalKanjiMask); ktmp[pos + 1] = (*kanji & 0xff); kanji++; pos += 2; @@ -205,9 +179,8 @@ makekanji(int *yomi, int* kanji, int* atr, int* len) } *len = pos; - - q = (unsigned char *)Malloc(pos); - if (!q) { + q = (unsigned char*)Malloc(pos); + if(!q) { fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277"); exit(1); } @@ -216,32 +189,28 @@ makekanji(int *yomi, int* kanji, int* atr, int* len) return q; } - - static unsigned char* -makeyomi(int* yomi) -{ - unsigned char tmp[MaxYomiLength + 1]; - int i; - int j; - int *y = yomi; - unsigned char *p; +makeyomi(int* yomi) { + unsigned char tmp[MaxYomiLength + 1]; + int i; + int j; + int* y = yomi; + unsigned char* p; - - for (i = 0 ; *y ; ) { + for(i = 0; *y;) { j = cnvyomi(*y++); - if (j == 0) { + if(j == 0) { fprintf(stderr, "\311\324\300\265\244\312\312\270\273\372\244\254\306\311\244\337\244\313\273\310\244\357\244\354\244\306\244\244\244\336\244\271\n"); - output_int(stderr, yomi); fputc('\n', stderr); + output_int(stderr, yomi); + fputc('\n', stderr); exit(1); } tmp[i++] = j; } tmp[i++] = 0; - - p = (unsigned char *)Malloc(i); - if (!p) { + p = (unsigned char*)Malloc(i); + if(!p) { fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277"); exit(1); } @@ -250,368 +219,303 @@ makeyomi(int* yomi) return p; } - - static KanjiRec* -make_krec(unsigned char* kcode, int klen) -{ - KanjiRec *krec; +make_krec(unsigned char* kcode, int klen) { + KanjiRec* krec; - - krec = (KanjiRec *)Malloc(sizeof(KanjiRec)); - if (!krec) { + krec = (KanjiRec*)Malloc(sizeof(KanjiRec)); + if(!krec) { fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277"); exit(1); } - - krec -> klen = klen; - krec -> kptr = kcode; - krec -> alen = 0; - krec -> aptr = NULL; - krec -> knext = NULL; + krec->klen = klen; + krec->kptr = kcode; + krec->alen = 0; + krec->aptr = NULL; + krec->knext = NULL; return krec; } - - static HinsiRec* -make_hrec(int hinsi) -{ - HinsiRec *hrec; +make_hrec(int hinsi) { + HinsiRec* hrec; - - hrec = (HinsiRec *)Malloc(sizeof(HinsiRec)); - if (!hrec) { + hrec = (HinsiRec*)Malloc(sizeof(HinsiRec)); + if(!hrec) { fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277"); exit(1); } - - hrec -> hinsi = hinsi; - hrec -> krec = NULL; - hrec -> hnext = NULL; + hrec->hinsi = hinsi; + hrec->krec = NULL; + hrec->hnext = NULL; return hrec; } - - static DouonRec* -make_drec(unsigned char* ycode) -{ - DouonRec *drec; +make_drec(unsigned char* ycode) { + DouonRec* drec; - - drec = (DouonRec *)Malloc(sizeof(DouonRec)); - if (!drec) { + drec = (DouonRec*)Malloc(sizeof(DouonRec)); + if(!drec) { fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277"); exit(1); } - - drec -> yptr = ycode; - drec -> hrec_num = 0; - drec -> hrec = NULL; - drec -> dnext = NULL; + drec->yptr = ycode; + drec->hrec_num = 0; + drec->hrec = NULL; + drec->dnext = NULL; return drec; } - - static int -diff_ylen(DouonRec *drec) -{ - DouonRec *dptr; - DouonRec *dprev; - unsigned char *p1; - unsigned char *p2; - int ylen = 0; +diff_ylen(DouonRec* drec) { + DouonRec* dptr; + DouonRec* dprev; + unsigned char* p1; + unsigned char* p2; + int ylen = 0; - - dptr = douon_ptr; dprev = NULL; - while (dptr) { + dptr = douon_ptr; + dprev = NULL; + while(dptr) { dprev = dptr; - dptr = dptr -> dnext; + dptr = dptr->dnext; } - if (dprev) { - - p1 = dprev -> yptr; p2 = drec -> yptr; - while (*p1 && (*p1 == *p2)) { p1++; p2++; } + if(dprev) { - - if (*p1 == *p2) { + p1 = dprev->yptr; + p2 = drec->yptr; + while(*p1 && (*p1 == *p2)) { + p1++; + p2++; + } + + if(*p1 == *p2) { fprintf(stderr, "\305\371\244\267\244\244\306\311\244\337\244\316\306\261\262\273\270\354\245\326\245\355\245\303\245\257\244\254\244\242\244\353\n"); - output_yomi(stderr, dprev -> yptr); fputc('\n', stderr); - exit(1); - } - - else if (*p1 > *p2) { - fprintf(stderr, "\306\311\244\337\244\316\275\347\275\370\244\254\244\252\244\253\244\267\244\244\n"); - output_yomi(stderr, dprev->yptr); fputc('\n', stderr); - output_yomi(stderr, drec->yptr); fputc('\n', stderr); + output_yomi(stderr, dprev->yptr); + fputc('\n', stderr); exit(1); } - - while (*p2++) ylen++; + else if(*p1 > *p2) { + fprintf(stderr, "\306\311\244\337\244\316\275\347\275\370\244\254\244\252\244\253\244\267\244\244\n"); + output_yomi(stderr, dprev->yptr); + fputc('\n', stderr); + output_yomi(stderr, drec->yptr); + fputc('\n', stderr); + exit(1); + } + + while(*p2++) ylen++; } - return ylen; + return ylen; } - - static int -douon_knj(DouonRec* drec) -{ - int i; - int len = 0; - unsigned char *p; - unsigned char *knjofscvt(); - HinsiRec *hrec; - KanjiRec *krec; +douon_knj(DouonRec* drec) { + int i; + int len = 0; + unsigned char* p; + unsigned char* knjofscvt(); + HinsiRec* hrec; + KanjiRec* krec; - - for (hrec = drec -> hrec ; hrec ; hrec = hrec -> hnext) { - - for (krec = hrec -> krec ; krec ; krec = krec -> knext) { - - p = knjofscvt(krec -> kptr, krec -> klen, &i); + for(hrec = drec->hrec; hrec; hrec = hrec->hnext) { + + for(krec = hrec->krec; krec; krec = krec->knext) { + + p = knjofscvt(krec->kptr, krec->klen, &i); - len += i + 1; - knjhnd_set(p, i); - - krec -> alen = i; - krec -> aptr = p; + krec->alen = i; + krec->aptr = p; - - set_ofsrec(krec -> kptr, krec -> klen, 0); + set_ofsrec(krec->kptr, krec->klen, 0); } } - return len; } - - static void -make_d_list(DouonRec* drec) -{ +make_d_list(DouonRec* drec) { DouonRec *dptr, *dprev; - HinsiRec *hptr; - KanjiRec *kptr; - int ylen; - int klen; - int hnum; - int len; - int i; + HinsiRec* hptr; + KanjiRec* kptr; + int ylen; + int klen; + int hnum; + int len; + int i; start: - - if (douon_ptr == NULL) { + + if(douon_ptr == NULL) { douon_num = 0; yomi_len = 0; hinsi_num = 0; kanji_len = 0; - assyuku = NULL; + assyuku = NULL; } - klen = douon_knj(drec); - ylen = diff_ylen(drec); - - hnum = drec -> hrec_num; + hnum = drec->hrec_num; + + i = 1 + + MaxKnjAskNumber + - - i = 1 + - MaxKnjAskNumber + - douon_num * DouonBlkSizeNumber + DouonBlkSizeNumber + - yomi_len + ylen + - hinsi_num + hnum + - hinsi_num + hnum + - kanji_len + klen; + yomi_len + ylen + + hinsi_num + hnum + + hinsi_num + hnum + + kanji_len + klen; - len = (i <= MainSegmentLength) ? 0 : decide_knjask(); - - if ((i - len) <= MainSegmentLength) { - - if (douon_ptr) { - - dptr = douon_ptr; dprev = NULL; - while (dptr) { + if((i - len) <= MainSegmentLength) { + + if(douon_ptr) { + + dptr = douon_ptr; + dprev = NULL; + while(dptr) { dprev = dptr; - dptr = dptr -> dnext; + dptr = dptr->dnext; } - - dprev -> dnext = drec; + dprev->dnext = drec; } - + else { - + douon_ptr = drec; } - drec -> dnext = NULL; + drec->dnext = NULL; - - drec -> dlen = ylen; + drec->dlen = ylen; - douon_num += 1; - - yomi_len += ylen; + yomi_len += ylen; - hinsi_num += hnum; - kanji_len += klen; return; } - - else if (douon_ptr == NULL) { + + else if(douon_ptr == NULL) { fprintf(stderr, "\243\261\306\261\262\273\270\354\245\326\245\355\245\303\245\257\244\254\302\347\244\255\244\271\244\256\244\336\244\271\n"); exit(1); } - - for (hptr = drec -> hrec ; hptr ; hptr = hptr -> hnext) { - for (kptr = hptr -> krec ; kptr ; kptr = kptr -> knext) { + for(hptr = drec->hrec; hptr; hptr = hptr->hnext) { + for(kptr = hptr->krec; kptr; kptr = kptr->knext) { - - knjhnd_reset(kptr -> aptr, kptr -> alen); + knjhnd_reset(kptr->aptr, kptr->alen); - - Free(kptr -> aptr); - kptr -> aptr = NULL; + Free(kptr->aptr); + kptr->aptr = NULL; } } - len = decide_knjask(); - makeseg(); - clear_list(); - clear_hindo(); - clear_ofsrec(); - askknj_num = 0; - clear_assyuku(); goto start; } +void flush_douon(void) { + if(drectmp) { -void -flush_douon(void) -{ - if (drectmp) { - make_d_list(drectmp); drectmp = NULL; } - if (douon_ptr) { - + if(douon_ptr) { + decide_knjask(); - makeseg(); - clear_list(); - clear_hindo(); - clear_ofsrec(); - askknj_num = 0; } } +void makelist(int* yomi, int* kanji, int hinsi, int* atr) { + unsigned char* ycode; + unsigned char* kcode; + int klen; + HinsiRec* hrec; + KanjiRec * krec, *kprev; -void -makelist(int* yomi, int* kanji, int hinsi, int* atr) -{ - unsigned char *ycode; - unsigned char *kcode; - int klen; - HinsiRec *hrec; - KanjiRec *krec, *kprev; - - ycode = makeyomi(yomi); - kcode = makekanji(yomi, kanji, atr, &klen); - - if (drectmp && strcmp(ycode, drectmp -> yptr)) { - + if(drectmp && strcmp(ycode, drectmp->yptr)) { + make_d_list(drectmp); drectmp = NULL; } - - if (!drectmp) { - + if(!drectmp) { + drectmp = make_drec(ycode); - - hrec = make_hrec(hinsi); - drectmp -> hrec = hrec; - drectmp -> hrec_num = 1; + hrec = make_hrec(hinsi); + drectmp->hrec = hrec; + drectmp->hrec_num = 1; - - krec = make_krec(kcode, klen); - hrec -> krec = krec; + krec = make_krec(kcode, klen); + hrec->krec = krec; return; } - - for (hrec = drectmp -> hrec ; hrec -> hnext ; hrec = hrec -> hnext) - if (hrec -> hinsi == hinsi) break; + for(hrec = drectmp->hrec; hrec->hnext; hrec = hrec->hnext) + if(hrec->hinsi == hinsi) break; - - if (hrec -> hinsi == hinsi) { - - for (krec=hrec->krec ; krec ; krec=krec->knext) { - - if ((krec -> klen == klen) && - !memcmp(krec -> kptr, kcode, klen)) { + if(hrec->hinsi == hinsi) { + + for(krec = hrec->krec; krec; krec = krec->knext) { + + if((krec->klen == klen) && + !memcmp(krec->kptr, kcode, klen)) { fprintf(stderr, "\306\261\260\354\244\316\275\317\270\354\244\254\302\270\272\337\244\267\244\277\n"); fprintf(stderr, "\t\306\311\244\337:"); output_int(stderr, yomi); @@ -620,7 +524,6 @@ makelist(int* yomi, int* kanji, int hinsi, int* atr) output_int(stderr, kanji); fprintf(stderr, "\n"); - Free(kcode); return; @@ -628,18 +531,15 @@ makelist(int* yomi, int* kanji, int hinsi, int* atr) kprev = krec; } - - kprev -> knext = make_krec(kcode, klen); + kprev->knext = make_krec(kcode, klen); return; } - - hrec -> hnext = make_hrec(hinsi); - hrec = hrec -> hnext; - drectmp -> hrec_num += 1; + hrec->hnext = make_hrec(hinsi); + hrec = hrec->hnext; + drectmp->hrec_num += 1; - - krec = make_krec(kcode, klen); - hrec -> krec = krec; + krec = make_krec(kcode, klen); + hrec->krec = krec; } diff --git a/makeseg.c b/makeseg.c index 5709f80..201f233 100644 --- a/makeseg.c +++ b/makeseg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: makeseg.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: makeseg.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1994/12/09 11:27:05 $ * * $Id$ */ - #include #include #include @@ -46,58 +45,55 @@ #include "Dict.h" #include "dicttool.h" -extern HindoRec *askknj[]; -extern int askknj_num; -extern DouonRec *douon_ptr; -extern FILE *outfp; -extern int douon_num; - -static unsigned char segindex[MainSegmentLength]; -static int idxpos = 0; -static int idxnum = 0; +extern HindoRec* askknj[]; +extern int askknj_num; +extern DouonRec* douon_ptr; +extern FILE* outfp; +extern int douon_num; +static unsigned char segindex[MainSegmentLength]; +static int idxpos = 0; +static int idxnum = 0; static unsigned char* -set_ofsask(unsigned char* src, unsigned char* dst) -{ - int len; - unsigned char *ptr; - OffsetRec *ofsrec; +set_ofsask(unsigned char* src, unsigned char* dst) { + int len; + unsigned char* ptr; + OffsetRec* ofsrec; - ofsrec = real_ofsrec(src); - for (len = ofsrec->klen, ptr = ofsrec->kptr ; len > 0 ; ) { - switch (*ptr & KanjiModeMask) { - case ZenHiraAssyuku: - case ZenKataAssyuku: - case KanjiAssyuku: + for(len = ofsrec->klen, ptr = ofsrec->kptr; len > 0;) { + switch(*ptr & KanjiModeMask) { + case ZenHiraAssyuku: + case ZenKataAssyuku: + case KanjiAssyuku: *dst++ = *ptr++; len -= 1; break; - case LeadingHankaku: -#ifndef UseHankakuInDict - fprintf(stderr, "\302\260\300\255\245\263\241\274\245\311\241\246\245\250\245\351\241\274\n"); - exit(1); + case LeadingHankaku: +#ifndef UseHankakuInDict + fprintf(stderr, "\302\260\300\255\245\263\241\274\245\311\241\246\245\250\245\351\241\274\n"); + exit(1); #else *dst++ = *ptr++; *dst++ = *ptr++; len -= 2; break; #endif - case OffsetAssyuku: + case OffsetAssyuku: fprintf(stderr, "\306\363\275\305\244\313\245\252\245\325\245\273\245\303\245\310\244\254\273\262\276\310\244\265\244\354\244\306\244\244\244\353\n"); exit(1); - case AiAttribute: + case AiAttribute: *dst++ = *ptr++; *dst++ = *ptr++; len -= 2; break; - case KanjiStrEnd: + case KanjiStrEnd: *dst++ = *ptr++; len--; break; - default: + default: *dst++ = *ptr++; *dst++ = *ptr++; len -= 2; @@ -107,258 +103,236 @@ set_ofsask(unsigned char* src, unsigned char* dst) return dst; } - size_t -make_knjstr(unsigned char* src, int len, unsigned char* dst) -{ - unsigned char *keep = dst; +make_knjstr(unsigned char* src, int len, unsigned char* dst) { + unsigned char* keep = dst; - while (len > 0) { - switch (*src & KanjiModeMask) { - case ZenHiraAssyuku: - case ZenKataAssyuku: - case KanjiAssyuku: + while(len > 0) { + switch(*src & KanjiModeMask) { + case ZenHiraAssyuku: + case ZenKataAssyuku: + case KanjiAssyuku: *dst++ = *src++; len -= 1; break; - case LeadingHankaku: -#ifndef UseHankakuInDict - fprintf(stderr, "\302\260\300\255\245\263\241\274\245\311\241\246\245\250\245\351\241\274\n"); - exit(1); + case LeadingHankaku: +#ifndef UseHankakuInDict + fprintf(stderr, "\302\260\300\255\245\263\241\274\245\311\241\246\245\250\245\351\241\274\n"); + exit(1); #else *dst++ = *src++; *dst++ = *src++; len -= 2; break; #endif - case OffsetAssyuku: + case OffsetAssyuku: dst = set_ofsask(src, dst); src += 2; len -= 2; break; - case AiAttribute: + case AiAttribute: *dst++ = *src++; *dst++ = *src++; len -= 2; break; - case KanjiStrEnd: + case KanjiStrEnd: *dst++ = *src++; len--; break; - default: + default: *dst++ = *src++; *dst++ = *src++; len -= 2; - } - } - return(dst - keep); + } + } + return (dst - keep); } - - static int -make_knjask(void) -{ - int i; - unsigned char *p; - unsigned char buf[128]; - int len; - int tlen = 0; +make_knjask(void) { + int i; + unsigned char* p; + unsigned char buf[128]; + int len; + int tlen = 0; - - for (i = 0 ; i < askknj_num ; i++) { + for(i = 0; i < askknj_num; i++) { - - len = make_knjstr(askknj[i] -> kptr, askknj[i] -> klen, buf); + len = make_knjstr(askknj[i]->kptr, askknj[i]->klen, buf); - - Free(askknj[i] -> kptr); + Free(askknj[i]->kptr); - - p = (unsigned char *)Malloc(len); - if (!p) { + p = (unsigned char*)Malloc(len); + if(!p) { fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n"); exit(1); } - memcpy(p, buf, len); - askknj[i] -> kptr = p; - askknj[i] -> klen = len; + askknj[i]->kptr = p; + askknj[i]->klen = len; - - tlen += len + 1; + tlen += len + 1; } return tlen; } +void makeseg(void) { + unsigned char buf[MainSegmentLength]; + DouonRec* drec; + HinsiRec* hrec; + KanjiRec* krec; + int i, j, k; + int slen; + unsigned char* dst; + unsigned char* sdst; + unsigned char *p, *q; -void -makeseg(void) -{ - unsigned char buf[MainSegmentLength]; - DouonRec *drec; - HinsiRec *hrec; - KanjiRec *krec; - int i, j, k; - int slen; - unsigned char *dst; - unsigned char *sdst; - unsigned char *p, *q; - -#ifndef HEHE -#define datset(i) { if (dst >= buf+sizeof(buf)) goto err; *dst++ = i; } +#ifndef HEHE +#define datset(i) \ + { \ + if(dst >= buf + sizeof(buf)) goto err; \ + *dst++ = i; \ + } #else -#define datset(i) { *dst++; i; } +#define datset(i) \ + { \ + *dst++; \ + i; \ + } #endif - dst = buf; - i = make_knjask(); - if (i >= 0x100) { + if(i >= 0x100) { fprintf(stderr, "\264\301\273\372\260\265\275\314\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\353\n"); exit(1); } - - datset(i); - for (i = 0 ; i < askknj_num ; i++) { - p = askknj[i] -> kptr; - j = askknj[i] -> klen; - while (j > 0) { + datset(i); + for(i = 0; i < askknj_num; i++) { + p = askknj[i]->kptr; + j = askknj[i]->klen; + while(j > 0) { k = codesize(*p); - datset(*p); p++; - if (k > 2) { - datset(*p); p++; - datset(*p); p++; - } else if (k > 1) { - datset(*p); p++; + datset(*p); + p++; + if(k > 2) { + datset(*p); + p++; + datset(*p); + p++; + } else if(k > 1) { + datset(*p); + p++; } j -= k; } - datset(KanjiStrEnd); + datset(KanjiStrEnd); } - clear_ofsrec(); - - for (drec = douon_ptr ; drec ; drec = drec->dnext) { + for(drec = douon_ptr; drec; drec = drec->dnext) { - - sdst = dst; dst += DouonBlkSizeNumber; + sdst = dst; + dst += DouonBlkSizeNumber; - - p = drec -> yptr; - slen = strlen(p) - drec -> dlen; + p = drec->yptr; + slen = strlen(p) - drec->dlen; p += slen; - for (i = drec -> dlen ; i > 0 ; i--) { - datset(*p); p++; + for(i = drec->dlen; i > 0; i--) { + datset(*p); + p++; } - - for (hrec = drec->hrec ; hrec ; hrec = hrec->hnext) { - - datset(hrec -> hinsi); + for(hrec = drec->hrec; hrec; hrec = hrec->hnext) { - - for (krec = hrec->krec ; krec ; krec = krec->knext) { + datset(hrec->hinsi); - - p = q = knjcvt(krec -> kptr, krec -> klen, &i); + for(krec = hrec->krec; krec; krec = krec->knext) { + + p = q = knjcvt(krec->kptr, krec->klen, &i); - set_ofsrec(krec->kptr, krec->klen, dst - buf); - - while (i-- > 0) { - datset(*p); p++; + while(i-- > 0) { + datset(*p); + p++; } - datset(KanjiStrEnd); - + datset(KanjiStrEnd); + Free(q); } - - datset(HinsiBlkTerm); + datset(HinsiBlkTerm); } - - i = dst - sdst; - *sdst = ((i >> 8) & 0x0f); + i = dst - sdst; + *sdst = ((i >> 8) & 0x0f); *(sdst + 1) = (i & 0xff); - - if (drec -> dlen > 0x0f) *sdst |= 0x40; - *(sdst + 2) = (drec -> dlen & 0x0f); + if(drec->dlen > 0x0f) *sdst |= 0x40; + *(sdst + 2) = (drec->dlen & 0x0f); - - if (slen > 0x0f) *sdst |= 0x80; + if(slen > 0x0f) *sdst |= 0x80; *(sdst + 2) |= ((slen << 4) & 0xf0); } - - if (dst < buf + sizeof(buf)) { + + if(dst < buf + sizeof(buf)) { datset(DouonBlkTerm); } - - for (p = douon_ptr -> yptr ; ; ) { - if (idxpos < MainIndexLength) { + for(p = douon_ptr->yptr;;) { + if(idxpos < MainIndexLength) { segindex[idxpos++] = *p; - } - else { + } else { fprintf(stderr, "\245\244\245\363\245\307\245\303\245\257\245\271\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n"); exit(1); } - if (!*p++) break; + if(!*p++) break; } - if (idxpos < MainIndexLength) { + if(idxpos < MainIndexLength) { segindex[idxpos] = 0; - } - else { + } else { fprintf(stderr, "\245\244\245\363\245\307\245\303\245\257\245\271\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n"); exit(1); } - i = dst - buf; - - while (dst < buf + sizeof(buf)) *dst++ = DouonBlkTerm; - - if (Fseek(outfp, - (long)(HeaderLength + CommentLength + MainIndexLength - + idxnum * MainSegmentLength), - 0) < 0) { + while(dst < buf + sizeof(buf)) *dst++ = DouonBlkTerm; + + if(Fseek(outfp, + (long)(HeaderLength + CommentLength + MainIndexLength + idxnum * MainSegmentLength), + 0) < 0) { fprintf(stderr, "\275\320\316\317\245\325\245\241\245\244\245\353\244\307\245\267\241\274\245\257\245\250\245\351\241\274\n"); exit(1); } - if (Fwrite(buf, sizeof(buf), 1, outfp) != 1) { + if(Fwrite(buf, sizeof(buf), 1, outfp) != 1) { fprintf(stderr, "\275\320\316\317\245\325\245\241\245\244\245\353\244\307\245\351\245\244\245\310\245\250\245\351\241\274\n"); exit(1); } Fflush(outfp); - printf("\245\273\245\260\245\341\245\363\245\310\310\326\271\346:%d:", idxnum++); - output_yomi(stdout, douon_ptr -> yptr); + output_yomi(stdout, douon_ptr->yptr); printf("\t\245\273\245\260\245\341\245\363\245\310\304\271:%d", i); printf("\t\306\261\262\273\270\354\277\364:%d\n", douon_num); printf("\264\301\273\372\260\265\275\314\312\270\273\372\316\363:"); - for (i = j = 0 ; i < askknj_num ; i++) { + for(i = j = 0; i < askknj_num; i++) { putchar('\t'); - if (i && j == 0) putchar('\t'); - output_knj(stdout, askknj[i] -> kptr, askknj[i] -> klen); - printf(":%d", askknj[i] -> hindo + askknj[i] -> exist); - if (++j >= 4) { + if(i && j == 0) putchar('\t'); + output_knj(stdout, askknj[i]->kptr, askknj[i]->klen); + printf(":%d", askknj[i]->hindo + askknj[i]->exist); + if(++j >= 4) { putchar('\n'); j = 0; } } - if (j) putchar('\n'); + if(j) putchar('\n'); putchar('\n'); fflush(stdout); @@ -367,63 +341,66 @@ makeseg(void) err: fprintf(stderr, "\245\273\245\260\245\341\245\363\245\310\271\275\300\256\303\346\244\313\245\320\245\303\245\325\245\241\244\254\244\242\244\325\244\354\244\277\n"); fprintf(stderr, "\245\273\245\260\245\341\245\363\245\310\300\350\306\254\244\316\306\311\244\337:"); - output_yomi(stderr, douon_ptr -> yptr); + output_yomi(stderr, douon_ptr->yptr); fputc('\n', stderr); exit(1); -#undef datset +#undef datset } static void -put4byte(unsigned char* p, size_t n) -{ - p += 3; - *p-- = n; n >>= 8; - *p-- = n; n >>= 8; - *p-- = n; n >>= 8; - *p = n; +put4byte(unsigned char* p, size_t n) { + p += 3; + *p-- = n; + n >>= 8; + *p-- = n; + n >>= 8; + *p-- = n; + n >>= 8; + *p = n; } -void -makehead(unsigned char* dict_name) -{ - unsigned char header[HeaderLength + CommentLength]; - long i; - unsigned char *p; - time_t curtime; +void makehead(unsigned char* dict_name) { + unsigned char header[HeaderLength + CommentLength]; + long i; + unsigned char* p; + time_t curtime; -#define IndexPos (HeaderLength + CommentLength) +#define IndexPos (HeaderLength + CommentLength) - memset(header, '\0', sizeof(header)); - put4byte(header + VersionPos, DictVersion); + memset(header, '\0', sizeof(header)); + put4byte(header + VersionPos, DictVersion); time(&curtime); - p = header + CommentPos; - sprintf((char *)p, "%s : %s", dict_name, ctime(&curtime)); - while (*p) { - if (*p == '\n') { *p = 0; break; } + p = header + CommentPos; + sprintf((char*)p, "%s : %s", dict_name, ctime(&curtime)); + while(*p) { + if(*p == '\n') { + *p = 0; + break; + } p++; } - - i = IndexPos; - put4byte(header + DictIdxPos, i); - put4byte(header + DictIdxLen, MainIndexLength); - i += MainIndexLength; - put4byte(header + DictSegPos, i); - put4byte(header + DictSegLen, MainSegmentLength); - put4byte(header + DictSegMax, 0); - put4byte(header + DictSegNum, idxnum); + i = IndexPos; + put4byte(header + DictIdxPos, i); + put4byte(header + DictIdxLen, MainIndexLength); + i += MainIndexLength; - put4byte(header + DictAIdxPos, 0); - put4byte(header + DictAIdxLen, 0); + put4byte(header + DictSegPos, i); + put4byte(header + DictSegLen, MainSegmentLength); + put4byte(header + DictSegMax, 0); + put4byte(header + DictSegNum, idxnum); - put4byte(header + DictASegPos, 0); - put4byte(header + DictASegLen, 0); + put4byte(header + DictAIdxPos, 0); + put4byte(header + DictAIdxLen, 0); - Fseek(outfp, (long)HeaderPos, 0); - Fwrite(header, sizeof(header), 1, outfp); - Fseek(outfp, (long)IndexPos, 0); - Fwrite(segindex, MainIndexLength, 1, outfp); + put4byte(header + DictASegPos, 0); + put4byte(header + DictASegLen, 0); -#undef IndexPos + Fseek(outfp, (long)HeaderPos, 0); + Fwrite(header, sizeof(header), 1, outfp); + Fseek(outfp, (long)IndexPos, 0); + Fwrite(segindex, MainIndexLength, 1, outfp); + +#undef IndexPos } diff --git a/memory.c b/memory.c index 3fff3dd..21f8a65 100644 --- a/memory.c +++ b/memory.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,45 +28,38 @@ */ /* - * $SonyRCSfile: memory.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: memory.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:42 $ * * $Id$ */ - #include #include #include #include #include "dicttool.h" -void* -Malloc(size_t size) -{ - void* p; +void* Malloc(size_t size) { + void* p; - p = malloc(size); - if (p == NULL) { - fprintf(stderr, "\245\341\245\342\245\352\244\254\263\316\312\335\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277\241\243\n"); - exit(1); - } - return p; + p = malloc(size); + if(p == NULL) { + fprintf(stderr, "\245\341\245\342\245\352\244\254\263\316\312\335\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277\241\243\n"); + exit(1); + } + return p; } -void* -Zalloc (size_t size) -{ - void* p; +void* Zalloc(size_t size) { + void* p; - p = Malloc(size); - memset(p, '\0', size); - return p; + p = Malloc(size); + memset(p, '\0', size); + return p; } -void -Free(void *p) -{ - free(p); +void Free(void* p) { + free(p); } diff --git a/memory2.c b/memory2.c index b671e5a..dcc6fb7 100644 --- a/memory2.c +++ b/memory2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,33 +28,31 @@ */ /* - * $SonyRCSfile: memory.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: memory.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:58 $ */ - - #include "sj_kcnv.h" -void free_jrec(), free_clrec(); +void free_jrec(), free_clrec(); -JREC *free_jlst(p) -JREC *p; +JREC* free_jlst(p) +JREC* p; { - JREC *jpk; - JREC *jp; - JREC *jn; + JREC* jpk; + JREC* jp; + JREC* jn; jp = NULL; - for ( ; p ; p = jn) { + for(; p; p = jn) { - jn = p -> jsort; + jn = p->jsort; - if (p -> count) { - if (jp) - jp -> jsort = p; + if(p->count) { + if(jp) + jp->jsort = p; else jpk = p; jp = p; @@ -65,38 +63,36 @@ JREC *p; } } - if (jp) jp -> jsort = NULL; + if(jp) jp->jsort = NULL; return jpk; } -CLREC *free_clst(p, l) -CLREC *p; -int l; +CLREC* free_clst(p, l) +CLREC* p; +int l; { - CLREC *cpk; - CLREC *cp; - CLREC *cn; - int i = FALSE; + CLREC* cpk; + CLREC* cp; + CLREC* cn; + int i = FALSE; cp = cpk = NULL; - for ( ; p ; p = cn) { + for(; p; p = cn) { - cn = p -> clsort; + cn = p->clsort; - if ((int)p -> cllen == l) { - if (p == selcl) { - if (cp) { - p -> clsort = cpk; - cpk = p; - } - else + if((int)p->cllen == l) { + if(p == selcl) { + if(cp) { + p->clsort = cpk; + cpk = p; + } else cpk = cp = p; - } - else { - if (cp) - cp -> clsort = p; + } else { + if(cp) + cp->clsort = p; else cpk = p; cp = p; @@ -104,48 +100,46 @@ int l; } else { - (p -> jnode -> count)--; + (p->jnode->count)--; free_clrec(p); } } - if (cp) cp -> clsort = NULL; + if(cp) cp->clsort = NULL; return cpk; } -void free_clall(p) -CLREC *p; +void free_clall(p) + CLREC* p; { - CLREC *next; + CLREC* next; - while (p) { - (p -> jnode -> count)--; - next = p -> clsort; + while(p) { + (p->jnode->count)--; + next = p->clsort; free_clrec(p); p = next; } } -void free_jall(p) -JREC *p; +void free_jall(p) + JREC* p; { - JREC *next; + JREC* next; - while (p) { - next = p -> jsort; + while(p) { + next = p->jsort; free_jrec(p); p = next; } } -void freework() -{ +void freework() { free_clall(maxclptr); clt1st = maxclptr = NULL; free_jall(maxjptr); jrt1st = maxjptr = NULL; } - diff --git a/mk2claus.c b/mk2claus.c index 0a8ba6f..bde9140 100644 --- a/mk2claus.c +++ b/mk2claus.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,68 +28,65 @@ */ /* - * $SonyRCSfile: mk2claus.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: mk2claus.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:00 $ */ - - #include "sj_kcnv.h" #include "sj_right.h" -int terminate(), priority(); -void mkjiritu(), mkbunsetu(), wakachi(), pritiny(); -void free_clall(), free_jall(); +int terminate(), priority(); +void mkjiritu(), mkbunsetu(), wakachi(), pritiny(); +void free_clall(), free_jall(); -static int set2nd(clrec) -CLREC *clrec; +static int set2nd(clrec) +CLREC* clrec; { - CLREC *rec2; + CLREC* rec2; mkjiritu(DO_IKKATU | DO_CLSTUDY); mkbunsetu(); - if (!maxclptr) { + if(!maxclptr) { wakachi(); - return clrec -> cllen; + return clrec->cllen; } - for (rec2 = maxclptr ; rec2 ; rec2 = rec2 -> clsort) { - if (terminate(rec2->right, cnvstart+rec2->cllen) != SHU) + for(rec2 = maxclptr; rec2; rec2 = rec2->clsort) { + if(terminate(rec2->right, cnvstart + rec2->cllen) != SHU) break; } - return rec2 ? (clrec -> cllen + rec2 -> cllen) : (clrec -> cllen); + return rec2 ? (clrec->cllen + rec2->cllen) : (clrec->cllen); } -void mk2claus() -{ - unsigned char *keepptr; - int keeplen; - CLREC *clrec; - int len; - int save2ln; - int prty; - int maxprty; - int count; - int prty2; +void mk2claus() { + unsigned char* keepptr; + int keeplen; + CLREC* clrec; + int len; + int save2ln; + int prty; + int maxprty; + int count; + int prty2; prty = maxprty = prty2 = 0; clt2nd = maxclptr = NULL; - jrt2nd = maxjptr = NULL; + jrt2nd = maxjptr = NULL; selcl = clt1st; - if (selcl -> right == R_FZKKGU) { + if(selcl->right == R_FZKKGU) { pritiny(); return; } - if (cnvlen == selcl -> cllen) { + if(cnvlen == selcl->cllen) { pritiny(); return; } @@ -98,13 +95,13 @@ void mk2claus() keeplen = cnvlen; len = count = 0; - for (clrec = selcl ; clrec && count < 5 ; clrec = clrec -> clsort) { + for(clrec = selcl; clrec && count < 5; clrec = clrec->clsort) { - cnvstart = keepptr + clrec -> cllen; - cnvlen = keeplen - clrec -> cllen; + cnvstart = keepptr + clrec->cllen; + cnvlen = keeplen - clrec->cllen; - if (len != clrec -> cllen) { - if (clt2nd != maxclptr) { + if(len != clrec->cllen) { + if(clt2nd != maxclptr) { free_clall(maxclptr); free_jall(maxjptr); } @@ -112,37 +109,37 @@ void mk2claus() save2ln = set2nd(clrec); count++; - len = clrec -> cllen; + len = clrec->cllen; prty2 = 0; } - if (Termtbl[clrec -> right] & T_SHUUJO) - clrec -> cl2len = (unsigned char)len; + if(Termtbl[clrec->right] & T_SHUUJO) + clrec->cl2len = (unsigned char)len; else - clrec -> cl2len = (unsigned char)save2ln; + clrec->cl2len = (unsigned char)save2ln; - if (selcl -> cl2len > clrec -> cl2len) continue; + if(selcl->cl2len > clrec->cl2len) continue; prty = priority(clrec) - prty2; prty2++; - if (selcl -> cl2len == clrec -> cl2len) { - if (clrec -> cllen == nextcllen) { - if (selcl -> cllen != nextcllen) + if(selcl->cl2len == clrec->cl2len) { + if(clrec->cllen == nextcllen) { + if(selcl->cllen != nextcllen) ; - else if (prty <= maxprty) + else if(prty <= maxprty) continue; } - else if (prty <= maxprty) + else if(prty <= maxprty) continue; } - selcl = clrec; + selcl = clrec; maxprty = prty; - if (clt2nd == maxclptr) continue; + if(clt2nd == maxclptr) continue; free_clall(clt2nd); free_jall(jrt2nd); @@ -150,14 +147,13 @@ void mk2claus() clt2nd = maxclptr; } - if (clt2nd != maxclptr) { + if(clt2nd != maxclptr) { free_clall(maxclptr); - maxclptr = NULL; + maxclptr = NULL; free_jall(maxjptr); - maxjptr = NULL; + maxjptr = NULL; } cnvstart = keepptr; - cnvlen = keeplen; + cnvlen = keeplen; } - diff --git a/mkbunset.c b/mkbunset.c index a5f35ba..e05acc8 100644 --- a/mkbunset.c +++ b/mkbunset.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,34 +28,31 @@ */ /* - * $SonyRCSfile: mkbunset.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: mkbunset.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:02 $ * * $Id$ */ - #include #include #include "sj_kcnv.h" #include "sj_hinsi.h" #include "kanakan.h" -int terminate(); -void setclrec(), srchfzk(); +int terminate(); +void setclrec(), srchfzk(); -void -mkbunsetu(void) -{ - JREC *jrec; - TypeGram hinsi; - unsigned char *cnj; - CREC crec[4]; - int count; - TypeCnct right; - unsigned char *next; - int i; +void mkbunsetu(void) { + JREC* jrec; + TypeGram hinsi; + unsigned char* cnj; + CREC crec[4]; + int count; + TypeCnct right; + unsigned char* next; + int i; fzkcount = 0; @@ -63,18 +60,18 @@ mkbunsetu(void) jrec = maxjptr; - while (jrec) { + while(jrec) { - if (jrec -> stbofs && (cnj = getstb(jrec -> hinsi))) - hinsi = StbHinsi(cnj + jrec -> stbofs - 1); + if(jrec->stbofs && (cnj = getstb(jrec->hinsi))) + hinsi = StbHinsi(cnj + jrec->stbofs - 1); else - hinsi = jrec -> hinsi; + hinsi = jrec->hinsi; - if ((right = Connadr[hinsi]) != '\0') { + if((right = Connadr[hinsi]) != '\0') { gobilen = 0; - next = cnvstart + jrec->jlen; + next = cnvstart + jrec->jlen; - if (terminate(right, next)) { + if(terminate(right, next)) { fzk_ka_flg = 0; setclrec(jrec, next, right); } @@ -82,15 +79,15 @@ mkbunsetu(void) srchfzk(jrec, next, right, 0); } - else if ((count = setconj(hinsi, jrec, crec)) != 0) { + else if((count = setconj(hinsi, jrec, crec)) != 0) { - for (i = count ; i-- > 0 ; ) { + for(i = count; i-- > 0;) { - right = crec[i].right; + right = crec[i].right; gobilen = crec[i].len; - next = cnvstart + jrec->jlen + gobilen; + next = cnvstart + jrec->jlen + gobilen; - if (terminate(right, next)) { + if(terminate(right, next)) { fzk_ka_flg = 0; setclrec(jrec, next, right); } @@ -99,70 +96,66 @@ mkbunsetu(void) } } - jrec = jrec -> jsort; + jrec = jrec->jsort; } } - CLREC* -argclrec(int len) -{ - CLREC *ptr; - CLREC *rec; - CLREC *child; +argclrec(int len) { + CLREC* ptr; + CLREC* rec; + CLREC* child; rec = alloc_clrec(); - if (!rec) { - if (maxclptr == NULL) return NULL; + if(!rec) { + if(maxclptr == NULL) return NULL; ptr = NULL; rec = maxclptr; - while ((child = rec -> clsort) != NULL) { + while((child = rec->clsort) != NULL) { ptr = rec; rec = child; } - if (len <= (int) rec -> cllen) return NULL; + if(len <= (int)rec->cllen) return NULL; - if (ptr) - ptr -> clsort = NULL; + if(ptr) + ptr->clsort = NULL; else maxclptr = NULL; - if (rec -> jnode) (rec -> jnode)--; + if(rec->jnode) (rec->jnode)--; } memset((unsigned char*)rec, 0, sizeof(*rec)); - rec -> cllen = rec -> cl2len = (unsigned char)len; + rec->cllen = rec->cl2len = (unsigned char)len; - if (!maxclptr) { + if(!maxclptr) { maxclptr = rec; return rec; } ptr = maxclptr; - if (((int)ptr -> cllen < len) || - (((int)ptr -> cllen == len) && - (ptr -> jnode -> hinsi == TANKANJI))) { - rec -> clsort = maxclptr; - maxclptr = rec; + if(((int)ptr->cllen < len) || + (((int)ptr->cllen == len) && + (ptr->jnode->hinsi == TANKANJI))) { + rec->clsort = maxclptr; + maxclptr = rec; return rec; } - while ((child = ptr -> clsort) != NULL) { - if ((int)child -> cllen < len || - ((int)child -> cllen == len && - child->jnode->hinsi == TANKANJI)){ - ptr -> clsort = rec; - rec -> clsort = child; + while((child = ptr->clsort) != NULL) { + if((int)child->cllen < len || + ((int)child->cllen == len && + child->jnode->hinsi == TANKANJI)) { + ptr->clsort = rec; + rec->clsort = child; return rec; - } - else + } else ptr = child; } - ptr -> clsort = rec; + ptr->clsort = rec; return rec; } - diff --git a/mkjiritu.c b/mkjiritu.c index ea3dd5f..be68ad2 100644 --- a/mkjiritu.c +++ b/mkjiritu.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,31 +28,28 @@ */ /* - * $SonyRCSfile: mkjiritu.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: mkjiritu.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:03 $ * * $Id$ */ - #include #include #include "sj_kcnv.h" #include "kanakan.h" -int srchhead(); +int srchhead(); static void dic_mu(int mode); static void dic_cl(void); -void -mkjiritu(int mode) -{ - unsigned char chkind1; - unsigned char chkind2; - JREC *jrec; - unsigned char *stb; +void mkjiritu(int mode) { + unsigned char chkind1; + unsigned char chkind2; + JREC* jrec; + unsigned char* stb; headcode = headlen = 0; @@ -60,25 +57,25 @@ mkjiritu(int mode) chkind1 = Chrtbl[*cnvstart]; - if (chkind1 & DICTOP) { + if(chkind1 & DICTOP) { dic_mu(mode); } - if (mode & DO_CLSTUDY) dic_cl(); + if(mode & DO_CLSTUDY) dic_cl(); srchnum(); - if (srchhead() && cnvlen != headlen) { + if(srchhead() && cnvlen != headlen) { cnvstart += headlen; cnvlen -= headlen; chkind2 = Chrtbl[*cnvstart]; - if (chkind2 & DICTOP) { + if(chkind2 & DICTOP) { dic_mu(mode); } - if (headcode == SETTOU_DAI) { + if(headcode == SETTOU_DAI) { srchnum(); } @@ -86,111 +83,106 @@ mkjiritu(int mode) cnvlen += headlen; } - for (jrec = maxjptr ; jrec ; jrec = jrec -> jsort) { - if ((stb = getstb(jrec -> hinsi)) != NULL) + for(jrec = maxjptr; jrec; jrec = jrec->jsort) { + if((stb = getstb(jrec->hinsi)) != NULL) setubi(jrec, stb); } } static void -dic_mu(int mode) -{ - unsigned char *tagp; - DICTL *dp; +dic_mu(int mode) { + unsigned char* tagp; + DICTL* dp; - for (dp = dictlist ; dp ; dp = dp -> next) { - curdict = dp -> dict; - dicinl = 1; + for(dp = dictlist; dp; dp = dp->next) { + curdict = dp->dict; + dicinl = 1; dicsaml = 0; prevseg = -1; - while ((tagp = srchdict(tagp)) != NULL) setjrec(tagp, mode); + while((tagp = srchdict(tagp)) != NULL) setjrec(tagp, mode); } } -JREC* -argjrec(int len, JREC* rec) -{ - JREC *ptr; - JREC *jrec; - JREC *child; +JREC* argjrec(int len, JREC* rec) { + JREC* ptr; + JREC* jrec; + JREC* child; jrec = alloc_jrec(); - if (!jrec) { - if (!maxjptr) return NULL; + if(!jrec) { + if(!maxjptr) return NULL; - ptr = NULL; + ptr = NULL; jrec = maxjptr; - while ((child = jrec -> jsort) != NULL) { + while((child = jrec->jsort) != NULL) { ptr = jrec; jrec = child; } - if (len <= (int) jrec -> jlen) return NULL; + if(len <= (int)jrec->jlen) return NULL; - if (ptr) - ptr -> jsort = NULL; + if(ptr) + ptr->jsort = NULL; else maxjptr = NULL; } - if (rec) + if(rec) memcpy((unsigned char*)rec, (unsigned char*)jrec, sizeof(JREC)); else memset((unsigned char*)jrec, 0, sizeof(*jrec)); - jrec -> jlen = (unsigned char)len; + jrec->jlen = (unsigned char)len; - if (!maxjptr) { - maxjptr = jrec; - jrec -> jsort = NULL; + if(!maxjptr) { + maxjptr = jrec; + jrec->jsort = NULL; return jrec; } ptr = maxjptr; - if ((int)ptr -> jlen < len) { - jrec -> jsort = maxjptr; - maxjptr = jrec; + if((int)ptr->jlen < len) { + jrec->jsort = maxjptr; + maxjptr = jrec; return jrec; } - while ((child = ptr -> jsort) != NULL) { - if ((int)child -> jlen < len) break; + while((child = ptr->jsort) != NULL) { + if((int)child->jlen < len) break; ptr = child; } - ptr -> jsort = jrec; - jrec -> jsort = child; + ptr->jsort = jrec; + jrec->jsort = child; return jrec; } static void -dic_cl(void) -{ - unsigned char *p; - unsigned short pos; - int len; - int cmp; +dic_cl(void) { + unsigned char* p; + unsigned short pos; + int len; + int cmp; - if (!StudyExist()) return; + if(!StudyExist()) return; - if ((pos = ClStudyIdx[(short) *cnvstart / ClStudyStep]) != (unsigned short)-1) { + if((pos = ClStudyIdx[(short)*cnvstart / ClStudyStep]) != (unsigned short)-1) { - for (p = ClStudyDict + pos ; !iseocl(p) ; p = ClNextTag(p)) { + for(p = ClStudyDict + pos; !iseocl(p); p = ClNextTag(p)) { cmp = strncmp(cnvstart, (unsigned char*)ClYomiPos(p), - len = ClYomiLen(p)); + len = ClYomiLen(p)); - if (cmp == MATCH) { - if (!isdpnd(*(cnvstart + len))) { + if(cmp == MATCH) { + if(!isdpnd(*(cnvstart + len))) { setcrec(p); } } - else if (cmp == OVER) + else if(cmp == OVER) break; } } } - diff --git a/mkkouho.c b/mkkouho.c index cec2e46..91c69ae 100644 --- a/mkkouho.c +++ b/mkkouho.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: mkkouho.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: mkkouho.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:04 $ * * $Id$ */ - #include "sj_euc.h" #include "sj_kcnv.h" #include "sj_hinsi.h" @@ -43,369 +42,340 @@ #include "sj_dict.h" #include "kanakan.h" - -static void getkhtbl(CLREC* clrec); -static void cl_kanji(JREC* jrec, CLREC* clrec); +static void getkhtbl(CLREC* clrec); +static void cl_kanji(JREC* jrec, CLREC* clrec); static unsigned char* makekan(unsigned char* s, unsigned char* d, int flg); -static int diffknj(JREC* jrec, unsigned char* ptr, int num); -static void cl_numcmn(JREC* jrec, CLREC* clrec); +static int diffknj(JREC* jrec, unsigned char* ptr, int num); +static void cl_numcmn(JREC* jrec, CLREC* clrec); +void mkkouho(void) { + CLREC* clrec; + int keeplen; -void -mkkouho(void) -{ - CLREC *clrec; - int keeplen; - - khcount = nkhcount = 0; - - keeplen = clt1st -> cllen; + keeplen = clt1st->cllen; - clrec = clt1st; - do { - getkhtbl(clrec); - clrec = clrec -> clsort; - } while (clrec && (keeplen == clrec -> cllen)); + getkhtbl(clrec); + clrec = clrec->clsort; + } while(clrec && (keeplen == clrec->cllen)); } - static void -getkhtbl(CLREC* clrec) -{ - JREC *jrec; - - jrec = clrec -> jnode; - - switch (jrec -> class) { - case C_DICT: +getkhtbl(CLREC* clrec) { + JREC* jrec; + + jrec = clrec->jnode; + + switch(jrec->class) { + case C_DICT: cl_kanji(jrec, clrec); break; - case C_N_ARABIA: - case C_N_ARACMA: - case C_N_KAZU: - case C_N_SUUJI: - case C_N_NANSUU: - case C_N_KANKURA: - case C_N_ARAKURA: - case C_N_KAZULONG: - case C_N_KAZULCMA: - case C_N_SUUJILONG: + case C_N_ARABIA: + case C_N_ARACMA: + case C_N_KAZU: + case C_N_SUUJI: + case C_N_NANSUU: + case C_N_KANKURA: + case C_N_ARAKURA: + case C_N_KAZULONG: + case C_N_KAZULCMA: + case C_N_SUUJILONG: cl_numcmn(jrec, clrec); break; case C_BUNSETU: - + break; - case C_MINASI: - case C_WAKACHI: + case C_MINASI: + case C_WAKACHI: setkouho(clrec, (TypeDicOfs)0, 0); break; } } - static void -cl_kanji(JREC* jrec, CLREC* clrec) -{ - unsigned char *ptr; - int kcount = khcount; +cl_kanji(JREC* jrec, CLREC* clrec) { + unsigned char* ptr; + int kcount = khcount; - - if (seldict(jrec -> dicid)) { - (*curdict->getdic)(curdict, jrec -> jseg); + if(seldict(jrec->dicid)) { + (*curdict->getdic)(curdict, jrec->jseg); ptr = dicbuf + jrec->jofsst + 1; get_askknj(); - - while (*ptr != HinsiBlkTerm) { + while(*ptr != HinsiBlkTerm) { + + if(diffknj(jrec, ptr, kcount)) { - - if (diffknj(jrec, ptr, kcount)) { - setkouho(clrec, (TypeDicOfs)(ptr - dicbuf), 0); } - ptr = skipkstr(ptr); } - } - else { - + } else { + setkouho(clrec, (TypeDicOfs)1, 0); } } - unsigned char* -makekan_none(unsigned char* s, unsigned char* d, int flg) -{ +makekan_none(unsigned char* s, unsigned char* d, int flg) { return d; } - unsigned char* -makekan_1byte(unsigned char* s, unsigned char* d, int flg) -{ - if ((*s & KanjiModeMask) == ZenHiraAssyuku) - *d++ = 0x10 | (*s & KnjAssyukuMask); - else - *d++ = 0x90 | (*s & KnjAssyukuMask); +makekan_1byte(unsigned char* s, unsigned char* d, int flg) { + if((*s & KanjiModeMask) == ZenHiraAssyuku) + *d++ = 0x10 | (*s & KnjAssyukuMask); + else + *d++ = 0x90 | (*s & KnjAssyukuMask); - if (flg) *d++ = KanjiStrEnd; + if(flg) *d++ = KanjiStrEnd; return d; } - unsigned char* -makekan_knj(unsigned char* s, unsigned char* d, int flg) -{ - +makekan_knj(unsigned char* s, unsigned char* d, int flg) { + return makekan(askknj[*s & KnjAssyukuMask], d, flg); } - unsigned char* -makekan_ofs(unsigned char* s, unsigned char* d, int flg) -{ - - return makekan(dicbuf + ((*s & KanjiCodeMask) << 8) + *(s + 1), - d, flg); +makekan_ofs(unsigned char* s, unsigned char* d, int flg) { + + return makekan(dicbuf + ((*s & KanjiCodeMask) << 8) + *(s + 1), + d, flg); } - unsigned char* -makekan_norm(unsigned char* s, unsigned char* d, int flg) -{ +makekan_norm(unsigned char* s, unsigned char* d, int flg) { unsigned char c; - if (*s != 0) { + if(*s != 0) { c = s[1]; - if (c & 0x80) - *d++ = SS3; + if(c & 0x80) + *d++ = SS3; *d++ = *s | 0x80; - *d++ = c | 0x80; + *d++ = c | 0x80; } else { *d++ = *s; } - if (flg) *d++ = KanjiStrEnd; - + if(flg) *d++ = KanjiStrEnd; + return d; } - unsigned char* -makekan_ascii(unsigned char* s, unsigned char* d, int flg) -{ +makekan_ascii(unsigned char* s, unsigned char* d, int flg) { unsigned char c; c = s[1]; - if (c & 0x80) - *d++ = SS2; + if(c & 0x80) + *d++ = SS2; *d++ = c; - if (flg) *d++ = KanjiStrEnd; + if(flg) *d++ = KanjiStrEnd; return d; } - static unsigned char* -makekan(unsigned char* s, unsigned char* d, int flg) -{ +makekan(unsigned char* s, unsigned char* d, int flg) { int csize; - for ( ; ; ) { + for(;;) { csize = codesize(*s); - if (s[csize] == KanjiStrEnd) { + if(s[csize] == KanjiStrEnd) { switch(*s & KanjiModeMask) { - case ZenHiraAssyuku: - d = makekan_1byte(s, d, flg); break; - - case ZenKataAssyuku: - d = makekan_1byte(s, d, flg); break; - - case OffsetAssyuku: - d = makekan_ofs(s, d, flg); break; - - case AiAttribute: - d = makekan_none(s, d, flg); break; + case ZenHiraAssyuku: + d = makekan_1byte(s, d, flg); + break; - case LeadingHankaku: - d = makekan_ascii(s, d, flg); break; - - case KanjiAssyuku: - d = makekan_knj(s, d, flg); break; - - default: + case ZenKataAssyuku: + d = makekan_1byte(s, d, flg); + break; + + case OffsetAssyuku: + d = makekan_ofs(s, d, flg); + break; + + case AiAttribute: + d = makekan_none(s, d, flg); + break; + + case LeadingHankaku: + d = makekan_ascii(s, d, flg); + break; + + case KanjiAssyuku: + d = makekan_knj(s, d, flg); + break; + + default: d = makekan_norm(s, d, flg); } break; - } - else + } else switch(*s & KanjiModeMask) { - case ZenHiraAssyuku: - d = makekan_1byte(s, d, FALSE); break; - - case ZenKataAssyuku: - d = makekan_1byte(s, d, FALSE); break; - - case OffsetAssyuku: - d = makekan_ofs(s, d, FALSE); break; - - case AiAttribute: - d = makekan_none(s, d, FALSE); break; + case ZenHiraAssyuku: + d = makekan_1byte(s, d, FALSE); + break; - case LeadingHankaku: - d = makekan_ascii(s, d, FALSE); break; + case ZenKataAssyuku: + d = makekan_1byte(s, d, FALSE); + break; - case KanjiAssyuku: - d = makekan_knj(s, d, FALSE); break; + case OffsetAssyuku: + d = makekan_ofs(s, d, FALSE); + break; - default: + case AiAttribute: + d = makekan_none(s, d, FALSE); + break; + + case LeadingHankaku: + d = makekan_ascii(s, d, FALSE); + break; + + case KanjiAssyuku: + d = makekan_knj(s, d, FALSE); + break; + + default: d = makekan_norm(s, d, FALSE); } - + s += codesize(*s); } return d; } - -#define PEND 2 -#define QEND 1 +#define PEND 2 +#define QEND 1 static int -sameknj(unsigned char* p, int plen, unsigned char* q, int qlen) -{ - int i; - int j; - int endf = 0; - int brkf; +sameknj(unsigned char* p, int plen, unsigned char* q, int qlen) { + int i; + int j; + int endf = 0; + int brkf; do { - if ((i = euc_codesize(*p)) != euc_codesize(*q)) return FALSE; + if((i = euc_codesize(*p)) != euc_codesize(*q)) return FALSE; brkf = 0; - for (j = 0; j < i; j++) { - if (p[j] != q[j] ) { + for(j = 0; j < i; j++) { + if(p[j] != q[j]) { brkf = 1; break; } } - if (brkf) break; + if(brkf) break; - if (p[i] == KanjiStrEnd) endf += PEND; - if (q[i] == KanjiStrEnd) endf += QEND; + if(p[i] == KanjiStrEnd) endf += PEND; + if(q[i] == KanjiStrEnd) endf += QEND; p += i; q += i; - } while (!endf); + } while(!endf); - switch (endf) { - case (PEND | QEND): - if (plen == qlen) return TRUE; + switch(endf) { + case(PEND | QEND): + if(plen == qlen) return TRUE; break; case PEND: - i = plen; + i = plen; plen = qlen; qlen = i; - p = q; + p = q; case QEND: - if (p[euc_codesize(*p)] != KanjiStrEnd) break; - if ((*p & KanjiModeMask) != 0x10 ) break; - if (qlen != plen - (*p & KanjiCodeMask) - 1) break; + if(p[euc_codesize(*p)] != KanjiStrEnd) break; + if((*p & KanjiModeMask) != 0x10) break; + if(qlen != plen - (*p & KanjiCodeMask) - 1) break; return TRUE; default: - if (q[euc_codesize(*q)] != KanjiStrEnd) break; - if (p[euc_codesize(*p)] != KanjiStrEnd) break; - if ((*q & KanjiModeMask) != 0x10 ) break; - if ((*p & KanjiModeMask) != 0x10 ) break; - if (plen - (*p & KanjiCodeMask) != qlen - (*q & KanjiCodeMask)) + if(q[euc_codesize(*q)] != KanjiStrEnd) break; + if(p[euc_codesize(*p)] != KanjiStrEnd) break; + if((*q & KanjiModeMask) != 0x10) break; + if((*p & KanjiModeMask) != 0x10) break; + if(plen - (*p & KanjiCodeMask) != qlen - (*q & KanjiCodeMask)) break; return TRUE; } return FALSE; } -#undef PEND -#undef QEND - +#undef PEND +#undef QEND static int -diffknj(JREC* jrec, unsigned char* ptr, int num) -{ - KHREC *kptr; - JREC *jptr; - int i; - unsigned char kbuf1[MaxWdKanjiLen]; - unsigned char kbuf2[MaxWdKanjiLen]; +diffknj(JREC* jrec, unsigned char* ptr, int num) { + KHREC* kptr; + JREC* jptr; + int i; + unsigned char kbuf1[MaxWdKanjiLen]; + unsigned char kbuf2[MaxWdKanjiLen]; - if (jrec -> hinsi == TANKANJI) return TRUE; + if(jrec->hinsi == TANKANJI) return TRUE; makekan(ptr, kbuf1, TRUE); - for (i = 0, kptr = kouhotbl ; i < num ; i++, kptr++) { - if ((jptr = kptr -> clrec -> jnode) == jrec) + for(i = 0, kptr = kouhotbl; i < num; i++, kptr++) { + if((jptr = kptr->clrec->jnode) == jrec) return FALSE; - if (jptr -> hinsi == TANKANJI) continue; + if(jptr->hinsi == TANKANJI) continue; - if (jptr -> class != jrec -> class) continue; + if(jptr->class != jrec->class) continue; - if (jptr -> dicid != jrec -> dicid) continue; + if(jptr->dicid != jrec->dicid) continue; - if (jptr -> jseg != jrec -> jseg) continue; + if(jptr->jseg != jrec->jseg) continue; - if (jptr -> sttofs != jrec -> sttofs) continue; + if(jptr->sttofs != jrec->sttofs) continue; - if (jptr -> stbofs != jrec -> stbofs) continue; + if(jptr->stbofs != jrec->stbofs) continue; - makekan(dicbuf + kptr -> offs, kbuf2, TRUE); + makekan(dicbuf + kptr->offs, kbuf2, TRUE); - if (sameknj(kbuf1, jrec -> jlen, kbuf2, jptr -> jlen)) + if(sameknj(kbuf1, jrec->jlen, kbuf2, jptr->jlen)) return FALSE; } return TRUE; } - static int -chrck_numtbl(unsigned short flg, unsigned short cond) -{ - unsigned short must; +chrck_numtbl(unsigned short flg, unsigned short cond) { + unsigned short must; - if ((cond = SelNumCond(cond)) != 0) { - if ((must = (cond & SelNumMust)) != 0) { - if ((flg & must) != must) return FALSE; + if((cond = SelNumCond(cond)) != 0) { + if((must = (cond & SelNumMust)) != 0) { + if((flg & must) != must) return FALSE; cond &= ~must; } - if (cond && !(cond & flg)) return FALSE; + if(cond && !(cond & flg)) return FALSE; } return TRUE; } - -int -sel_sjmode(JREC* jrec) -{ +int sel_sjmode(JREC* jrec) { unsigned short i; - unsigned short *p; - unsigned short *q; + unsigned short* p; + unsigned short* q; - switch (jrec -> class) { + switch(jrec->class) { case C_N_ARABIA: case C_N_ARACMA: case C_N_KAZU: @@ -423,68 +393,57 @@ sel_sjmode(JREC* jrec) return SelArb; } - - while ((i = *p++) != SelNumTerm) { - - if (chrck_numtbl(jrec -> flags, i)) break; + while((i = *p++) != SelNumTerm) { + + if(chrck_numtbl(jrec->flags, i)) break; } - if (i == SelNumTerm) i = *q; + if(i == SelNumTerm) i = *q; return SelNumFunc(i); } - static void -cl_numcmn(JREC* jrec, CLREC* clrec) -{ - unsigned char *p; - int i; +cl_numcmn(JREC* jrec, CLREC* clrec) { + unsigned char* p; + int i; unsigned short j; - unsigned short *tbl; + unsigned short* tbl; - p = cnvstart; - if ((i = jrec -> sttofs) == SETTOU_DAI) + if((i = jrec->sttofs) == SETTOU_DAI) p += SttYomiLen(Settou_ptr(i)); - else if (i == SETTOU_KIGOU) + else if(i == SETTOU_KIGOU) p++; - - if (jrec -> jofsst) { - + if(jrec->jofsst) { + i = sel_sjmode(jrec); - - if (seldict(jrec -> dicid)) { - (*curdict->getdic)(curdict, jrec -> jseg); + if(seldict(jrec->dicid)) { + (*curdict->getdic)(curdict, jrec->jseg); - p = dicbuf + jrec->jofsst + 1; - - while (*p != HinsiBlkTerm) { - + while(*p != HinsiBlkTerm) { + setkouho(clrec, (TypeDicOfs)(p - dicbuf), i); - p = skipkstr(p); } - } - else { - + } else { + setkouho(clrec, (TypeDicOfs)1, i); } } - - else { - - tbl = Selsjadrs(jrec->class - C_N_ARABIA); - while ((j = *tbl++) != SelNumTerm) { - - if (!chrck_numtbl(jrec -> flags, j)) continue; - + else { + + tbl = Selsjadrs(jrec->class - C_N_ARABIA); + while((j = *tbl++) != SelNumTerm) { + + if(!chrck_numtbl(jrec->flags, j)) continue; + setkouho(clrec, (TypeDicOfs)0, (int)SelNumFunc(j)); } } diff --git a/mknumber.c b/mknumber.c index 0125cbf..7cbcd31 100644 --- a/mknumber.c +++ b/mknumber.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,405 +28,313 @@ */ /* - * $SonyRCSfile: mknumber.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: mknumber.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:05 $ * * $Id$ */ - #include #include "sj_kcnv.h" #include "sj_yomi.h" #include "sj_suuji.h" #include "kanakan.h" - static int -word2char(unsigned short wd, unsigned char* tbl, int keta, int flg) -{ - int mask; - int num; - unsigned char* src; +word2char(unsigned short wd, unsigned char* tbl, int keta, int flg) { + int mask; + int num; + unsigned char* src; - for (mask = 0x1000 ; mask ; mask >>= 4) { - - switch (num = (unsigned int)wd / mask) { + for(mask = 0x1000; mask; mask >>= 4) { + + switch(num = (unsigned int)wd / mask) { case 0: - + break; case _Num0: - - if (!flg) break; + + if(!flg) break; default: - src = tbl + (num - _Num0) * 2; + src = tbl + (num - _Num0) * 2; *kanjitmp++ = *src++; *kanjitmp++ = *src; - flg = TRUE; + flg = TRUE; - if (keta && !(keta % 3)) { + if(keta && !(keta % 3)) { *kanjitmp++ = CommaHigh; *kanjitmp++ = CommaLow; } } - if (keta) keta--; + if(keta) keta--; - wd &= (mask - 1); } return flg; } - static void -words2num(unsigned short* wd, unsigned char* tbl, int flgc) -{ - int i; - int keta; - int flg; - unsigned char *kp = kanjitmp; +words2num(unsigned short* wd, unsigned char* tbl, int flgc) { + int i; + int keta; + int flg; + unsigned char* kp = kanjitmp; - if (flgc) { + if(flgc) { keta = NumKetaLength - 1; - flg = FALSE; - } - else { + flg = FALSE; + } else { keta = 0; - flg = TRUE; + flg = TRUE; } - for (i = NumWordBuf ; i-- > 0 ; ) { + for(i = NumWordBuf; i-- > 0;) { flg = word2char(*(wd + i), tbl, keta, flg); - if (keta) keta -= 4; + if(keta) keta -= 4; } - - if (kp == kanjitmp) { - + if(kp == kanjitmp) { + *kanjitmp++ = *tbl++; *kanjitmp++ = *tbl; } } +void num_type00(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type00(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num1tbl, FALSE); } +void num_type01(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type01(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num1tbl, FALSE); } +void num_type02(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type02(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num1tbl, TRUE); } +void num_type03(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type03(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num2tbl, FALSE); } +void num_type04(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type04(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num2tbl, FALSE); } +void num_type05(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type05(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num2tbl, TRUE); } +void num_type06(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type06(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num3tbl, FALSE); } +void num_type07(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type07(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - words2num(num, Num3tbl, FALSE); } - static void -kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2) -{ - int ii; - unsigned short tmp; - int mask; - int num; - int flg; - unsigned char* kurai1; - unsigned char* kurai2; - unsigned char* src; - unsigned char* keep = kanjitmp; +kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2) { + int ii; + unsigned short tmp; + int mask; + int num; + int flg; + unsigned char* kurai1; + unsigned char* kurai2; + unsigned char* src; + unsigned char* keep = kanjitmp; - kurai2 = Num6tbl - 2; - mask = 0; + mask = 0; wd += NumWordBuf - 1; flg = FALSE; - - for (ii = NumKetaLength ; ii-- > 0 ; ) { - - if (!mask) { - - if (flg) { + for(ii = NumKetaLength; ii-- > 0;) { + + if(!mask) { + + if(flg) { *kanjitmp++ = *kurai2++; *kanjitmp++ = *kurai2++; - } - else + } else kurai2 += 2; - mask = 0x1000; - tmp = *wd--; - flg = FALSE; + mask = 0x1000; + tmp = *wd--; + flg = FALSE; kurai1 = tbl2; } - - if ((num = (unsigned int)tmp / mask) > _Num0) { - - if ((num != _Num1) || !*kurai1) { - src = tbl1 + (num - _Num0) * 2; + if((num = (unsigned int)tmp / mask) > _Num0) { + + if((num != _Num1) || !*kurai1) { + src = tbl1 + (num - _Num0) * 2; *kanjitmp++ = *src++; *kanjitmp++ = *src; } - - if (*kurai1) { + if(*kurai1) { *kanjitmp++ = *kurai1++; *kanjitmp++ = *kurai1++; } flg = TRUE; } - + else kurai1 += 2; - tmp &= (mask - 1); mask >>= 4; } - - if (kanjitmp == keep) { + if(kanjitmp == keep) { *kanjitmp++ = *tbl1++; *kanjitmp++ = *tbl1; } } +void num_type08(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type08(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - kan_num(num, Num2tbl, Num4tbl); } +void num_type09(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned short num[NumWordBuf]; -void -num_type09(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned short num[NumWordBuf]; + setwdnum(s1, (int)jrec->numlen, num); - - setwdnum(s1, (int)jrec -> numlen, num); - - kan_num(num, Num3tbl, Num5tbl); } +void num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec) { + int i; -void -num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - int i; + for(i = jrec->numlen; i > 0; i--) { - - for (i = jrec -> numlen ; i > 0 ; i--) { - - if (Chrtbl[*s1++] & NUMBER) { + if(Chrtbl[*s1++] & NUMBER) { *kanjitmp++ = *s2++; *kanjitmp++ = *s2++; } - + else s2 += euc_codesize(*s2); } } +void num_type11(unsigned char* s1, unsigned char* s2, JREC* jrec) { + int i; + int j; -void -num_type11(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - int i; - int j; + i = j = jrec->numlen; + if(!(Chrtbl[*(s1 + j - 4)] & NUMBER)) j -= (j - 1) / 4; - - i = j = jrec -> numlen; - if (!(Chrtbl[*(s1 + j - 4)] & NUMBER)) j -= (j - 1) / 4; + for(; i > 0; i--) { - - for ( ; i > 0 ; i--) { - - if (Chrtbl[*s1++] & NUMBER) { + if(Chrtbl[*s1++] & NUMBER) { *kanjitmp++ = *s2++; *kanjitmp++ = *s2++; - if (--j > 0) { - if ((j % 3) == 0) { + if(--j > 0) { + if((j % 3) == 0) { *kanjitmp++ = CommaHigh; *kanjitmp++ = CommaLow; } } } - + else s2 += euc_codesize(*s2); } } +void num_type12(unsigned char* s1, unsigned char* s2, JREC* jrec) { + int i; + int j; -void -num_type12(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - int i; - int j; + for(i = jrec->numlen; i > 0; i--) { - - for (i = jrec -> numlen ; i > 0 ; i--) { - - if (Chrtbl[j = *s1++] & NUMBER) { - j = (j - N_0) * 2; + if(Chrtbl[j = *s1++] & NUMBER) { + j = (j - N_0) * 2; *kanjitmp++ = Num2tbl[j]; *kanjitmp++ = Num2tbl[j + 1]; } } } - static void -num_kurai(unsigned char* p, int len, unsigned char* tbl) -{ - int i; - int j; - unsigned char tmp; +num_kurai(unsigned char* p, int len, unsigned char* tbl) { + int i; + int j; + unsigned char tmp; - for (i = 0 ; i < len ; i++) { + for(i = 0; i < len; i++) { tmp = *p++; *kanjitmp++ = tbl[j = ((tmp & 0x0f) - _Num0) * 2]; *kanjitmp++ = tbl[j + 1]; - if ((j = ((tmp >> 4) & 3)) != 0) { + if((j = ((tmp >> 4) & 3)) != 0) { *kanjitmp++ = Num4tbl[j = (3 - j) * 2]; *kanjitmp++ = Num4tbl[j + 1]; } - if ((j = ((tmp >> 6) & 3)) != 0) { + if((j = ((tmp >> 6) & 3)) != 0) { *kanjitmp++ = Num6tbl[j = (3 - j) * 2]; *kanjitmp++ = Num6tbl[j + 1]; } } } +void num_type13(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned char num[NumKetaLength]; + int len; -void -num_type13(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned char num[NumKetaLength]; - int len; + len = setucnum(s1, (int)jrec->numlen, num); - - len = setucnum(s1, (int)jrec -> numlen, num); - - num_kurai(num, len, Num1tbl); } +void num_type14(unsigned char* s1, unsigned char* s2, JREC* jrec) { + unsigned char num[NumKetaLength]; + int len; -void -num_type14(unsigned char* s1, unsigned char* s2, JREC* jrec) -{ - unsigned char num[NumKetaLength]; - int len; + len = setucnum(s1, (int)jrec->numlen, num); - - len = setucnum(s1, (int)jrec -> numlen, num); - - num_kurai(num, len, Num2tbl); } diff --git a/mvmemd.c b/mvmemd.c index 2b8c1aa..2871d6a 100644 --- a/mvmemd.c +++ b/mvmemd.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,21 +28,17 @@ */ /* - * $SonyRCSfile: mvmemd.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: mvmemd.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:05 $ */ - - #include "sj_rename.h" #include "sj_typedef.h" -void mvmemd(src, dest, len) -unsigned char *src; -unsigned char *dest; -int len; +void mvmemd(src, dest, len) unsigned char* src; +unsigned char* dest; +int len; { - while (len-- > 0) *(--dest) = *(--src); + while(len-- > 0) *(--dest) = *(--src); } - diff --git a/mvmemi.c b/mvmemi.c index b956b01..9b80cc9 100644 --- a/mvmemi.c +++ b/mvmemi.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,21 +28,17 @@ */ /* - * $SonyRCSfile: mvmemi.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: mvmemi.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:06 $ */ - - #include "sj_rename.h" #include "sj_typedef.h" -void mvmemi(src, dest, len) -unsigned char *src; -unsigned char *dest; -int len; +void mvmemi(src, dest, len) unsigned char* src; +unsigned char* dest; +int len; { - while (len-- > 0) *dest++ = *src++; + while(len-- > 0) *dest++ = *src++; } - diff --git a/nmttyslot.c b/nmttyslot.c index 47328c2..c5d795e 100644 --- a/nmttyslot.c +++ b/nmttyslot.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,75 +28,66 @@ */ /* - * $SonyRCSfile: nmttyslot.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: nmttyslot.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:20 $ */ - - #include "sj2.h" -#define LINESIZE 128 - - +#define LINESIZE 128 #include #include +static char* getttys(); +static char* ttys = "/etc/ttys"; +#define NULL 0 - -static char *getttys(); -static char *ttys = "/etc/ttys"; - -#define NULL 0 - -nmttyslot (name) -char *name; +nmttyslot(name) char* name; { - char *tp, *p; - int s, tf; + char *tp, *p; + int s, tf; tp = name; - if ((p = strrchr (tp, '/')) == NULL) + if((p = strrchr(tp, '/')) == NULL) p = tp; else p++; - if ((tf = open (ttys, 0)) < 0) - return(0); + if((tf = open(ttys, 0)) < 0) + return (0); s = 0; - while (tp = getttys (tf)) { + while(tp = getttys(tf)) { s++; - if (strcmp (p, tp) == 0) { - close (tf); + if(strcmp(p, tp) == 0) { + close(tf); return (s); } } - close (tf); + close(tf); return (0); } -static char * -getttys (f) -int f; +static char* + getttys(f) +int f; { static char line[LINESIZE]; - char *lp; + char* lp; top: - for (lp = line ; lp < &line[LINESIZE] ; lp ++) { - if (read (f, lp, 1) != 1) + for(lp = line; lp < &line[LINESIZE]; lp++) { + if(read(f, lp, 1) != 1) return (NULL); - if (*lp == '\n') { + if(*lp == '\n') { *lp = '\0'; break; - } - else if (*lp == ' ' || *lp == '\t') { - - while (1) { - if (read (f, lp, 1) != 1) + } else if(*lp == ' ' || *lp == '\t') { + + while(1) { + if(read(f, lp, 1) != 1) break; - if (*lp == '\n') + if(*lp == '\n') break; } *lp = '\0'; @@ -104,10 +95,9 @@ top: } } lp = line; - if (*lp == '0' || *lp == '1') + if(*lp == '0' || *lp == '1') lp += 2; - else if (*lp == '#') + else if(*lp == '#') goto top; return (lp); } - diff --git a/offset.c b/offset.c index a2100be..1ad0000 100644 --- a/offset.c +++ b/offset.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,11 @@ */ /* - * $SonyRCSfile: offset.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: offset.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1994/08/17 01:50:26 $ */ - - - #include #include #include @@ -43,142 +40,116 @@ #include "sj_struct.h" #include "dicttool.h" -extern OffsetRec *ofsrec[]; -extern int ofsrec_num; - - +extern OffsetRec* ofsrec[]; +extern int ofsrec_num; static OffsetRec* -makeoffset(unsigned char* ptr, int len, int ofs) -{ - OffsetRec *orec; - unsigned char *p; +makeoffset(unsigned char* ptr, int len, int ofs) { + OffsetRec* orec; + unsigned char* p; - - orec = (OffsetRec *)Malloc(sizeof(OffsetRec)); + orec = (OffsetRec*)Malloc(sizeof(OffsetRec)); - - p = (unsigned char *)Malloc(len); + p = (unsigned char*)Malloc(len); memcpy(p, ptr, len); - - orec -> kptr = p; - orec -> klen = len; - if (ofs) - orec -> offset = ofs; + orec->kptr = p; + orec->klen = len; + if(ofs) + orec->offset = ofs; else - orec -> offset = ofsrec_num + 1; + orec->offset = ofsrec_num + 1; return orec; } +void set_ofsrec(unsigned char* ptr, int len, int ofs) { + OffsetRec* orec; + int low, high, mid; + int i; -void -set_ofsrec(unsigned char* ptr, int len, int ofs) -{ - OffsetRec *orec; - int low, high, mid; - int i; - - - if (ofsrec_num <= 0) { - orec = makeoffset(ptr, len, ofs); - ofsrec[0]= orec; + if(ofsrec_num <= 0) { + orec = makeoffset(ptr, len, ofs); + ofsrec[0] = orec; ofsrec_num++; return; } - - low = 0; high = ofsrec_num - 1; - while (low <= high) { + low = 0; + high = ofsrec_num - 1; + while(low <= high) { mid = (low + high) / 2; - i = string_cmp(ofsrec[mid]->kptr, ofsrec[mid]->klen, ptr, len); - if (i > 0) + i = string_cmp(ofsrec[mid]->kptr, ofsrec[mid]->klen, ptr, len); + if(i > 0) high = mid - 1; - else if (i < 0) + else if(i < 0) low = ++mid; else break; } - - if (i) { - if (ofsrec_num >= MaxOffsetNumber) { + if(i) { + if(ofsrec_num >= MaxOffsetNumber) { fprintf(stderr, "\245\252\245\325\245\273\245\303\245\310\241\246\245\306\241\274\245\326\245\353\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n"); exit(1); } - orec = makeoffset(ptr, len, ofs); - - for (i = ofsrec_num ; i > mid ; i--) ofsrec[i] = ofsrec[i - 1]; + for(i = ofsrec_num; i > mid; i--) ofsrec[i] = ofsrec[i - 1]; ofsrec[mid] = orec; ofsrec_num++; } } +int isknjexist(unsigned char* knj, int len) { + int low, high, mid; + int i; -int -isknjexist(unsigned char* knj, int len) -{ - int low, high, mid; - int i; + if(ofsrec_num <= 0) return 0; - - if (ofsrec_num <= 0) return 0; - - - low = 0; high = ofsrec_num - 1; - while (low <= high) { + low = 0; + high = ofsrec_num - 1; + while(low <= high) { mid = (low + high) / 2; - i = string_cmp(ofsrec[mid]->kptr, ofsrec[mid]->klen, knj, len); - if (i > 0) + i = string_cmp(ofsrec[mid]->kptr, ofsrec[mid]->klen, knj, len); + if(i > 0) high = mid - 1; - else if (i < 0) + else if(i < 0) low = ++mid; else - return ofsrec[mid] -> offset; + return ofsrec[mid]->offset; } return 0; } +void clear_ofsrec(void) { + int i; -void -clear_ofsrec(void) -{ - int i; - - for (i = 0 ; i < ofsrec_num ; i++) { - Free(ofsrec[i] -> kptr); + for(i = 0; i < ofsrec_num; i++) { + Free(ofsrec[i]->kptr); Free(ofsrec[i]); } ofsrec_num = 0; } - - OffsetRec* -real_ofsrec(unsigned char* ptr) -{ - int ofs; - int i; - OffsetRec **p; +real_ofsrec(unsigned char* ptr) { + int ofs; + int i; + OffsetRec** p; - - ofs = (*ptr++ & KnjAssyukuMask); - ofs <<= 8; - ofs += *ptr; + ofs = (*ptr++ & KnjAssyukuMask); + ofs <<= 8; + ofs += *ptr; - - for (i = ofsrec_num, p = ofsrec ; i-- > 0 ; p++) - if ((*p) -> offset == ofs) + for(i = ofsrec_num, p = ofsrec; i-- > 0; p++) + if((*p)->offset == ofs) return *p; - fprintf(stderr, "real_ofsrec() \244\307\260\333\276\357\244\312\276\365\302\326 %x\n", ofs); exit(1); } diff --git a/peepdic.c b/peepdic.c index be1a29e..9404780 100644 --- a/peepdic.c +++ b/peepdic.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,38 +28,32 @@ */ /* - * $SonyRCSfile: peepdic.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: peepdic.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1995/07/21 05:22:51 $ * * $Id$ */ - #include "sj_kcnv.h" #include "sj_yomi.h" #include "kanakan.h" +unsigned char* skiphblk(); -unsigned char *skiphblk(); +static void add_yomi(void); +static void cd2sjh_chr(unsigned char ch, unsigned char* dst); +static int next_douon(void); +static int next_hinsi(void); +static int next_kanji(void); +static int prev_douon(void); +static int prev_hinsi(void); +static int prev_kanji(void); +static void set_buf(unsigned char* buf); +static void set_idxyomi(void); +static void set_kanji(void); -static void add_yomi (void); -static void cd2sjh_chr (unsigned char ch, unsigned char *dst); -static int next_douon (void); -static int next_hinsi (void); -static int next_kanji (void); -static int prev_douon (void); -static int prev_hinsi (void); -static int prev_kanji (void); -static void set_buf (unsigned char *buf); -static void set_idxyomi (void); -static void set_kanji (void); - - - -int -getusr (unsigned char *buf) -{ +int getusr(unsigned char* buf) { int nlen; peepyomi[0] = peepknj[0] = peepgrm = 0; @@ -69,12 +63,12 @@ getusr (unsigned char *buf) peepdptr = segtop(); - if (segend(peepdptr)) return 0; + if(segend(peepdptr)) return 0; add_yomi(); - nlen = getnlen(peepdptr); - peephptr = peepdptr + DouonBlkSizeNumber + nlen; + nlen = getnlen(peepdptr); + peephptr = peepdptr + DouonBlkSizeNumber + nlen; peepgrm = *peephptr; @@ -87,15 +81,11 @@ getusr (unsigned char *buf) return -1; } - - -int -nextusr (unsigned char *buf) -{ +int nextusr(unsigned char* buf) { (*curdict->getdic)(curdict, peepidx); get_askknj(); - if (next_kanji()) { + if(next_kanji()) { set_kanji(); set_buf(buf); return -1; @@ -104,15 +94,11 @@ nextusr (unsigned char *buf) return 0; } - - -int -prevusr (unsigned char *buf) -{ +int prevusr(unsigned char* buf) { (*curdict->getdic)(curdict, peepidx); get_askknj(); - if (prev_kanji()) { + if(prev_kanji()) { set_kanji(); set_buf(buf); return -1; @@ -121,32 +107,26 @@ prevusr (unsigned char *buf) return 0; } +static void +set_kanji(void) { + int len; - -static void -set_kanji (void) -{ - int len; - - len = getkanji(peepyomi, getnlen(peepdptr) + getplen(peepdptr), - peepkptr, peepknj); + len = getkanji(peepyomi, getnlen(peepdptr) + getplen(peepdptr), + peepkptr, peepknj); *(peepknj + len) = 0; } +static void +set_buf(unsigned char* buf) { + unsigned char* p; + int i, csize; - -static void -set_buf (unsigned char *buf) -{ - unsigned char *p; - int i, csize; - - for (p = peepyomi ; *p ; ) *buf++ = *p++; + for(p = peepyomi; *p;) *buf++ = *p++; *buf++ = 0; - for (p = peepknj ; *p ; ) { + for(p = peepknj; *p;) { csize = euc_codesize(*p); - for (i = 0; i < csize; i++ ) *buf++ = *p++; + for(i = 0; i < csize; i++) *buf++ = *p++; } *buf++ = 0; @@ -154,68 +134,59 @@ set_buf (unsigned char *buf) *buf++ = 0; } - - -static int -prev_kanji (void) -{ - unsigned char *p1; - unsigned char *p2; +static int +prev_kanji(void) { + unsigned char* p1; + unsigned char* p2; p1 = peephptr + 1; - if (peepkptr <= p1) return prev_hinsi(); + if(peepkptr <= p1) return prev_hinsi(); p2 = peepkptr; - while (p1 < p2) { + while(p1 < p2) { peepkptr = p1; - p1 = skipkstr(p1); + p1 = skipkstr(p1); } return -1; } - - -static int -prev_hinsi (void) -{ - unsigned char *p1; - unsigned char *p2; - int nlen; +static int +prev_hinsi(void) { + unsigned char* p1; + unsigned char* p2; + int nlen; nlen = getnlen(peepdptr); - p1 = peepdptr + DouonBlkSizeNumber + nlen; + p1 = peepdptr + DouonBlkSizeNumber + nlen; - if (peephptr <= p1) return prev_douon(); + if(peephptr <= p1) return prev_douon(); p2 = peephptr; - while (p1 < p2) { + while(p1 < p2) { peephptr = p1; - p1 = skiphblk(p1); + p1 = skiphblk(p1); } peepgrm = *peephptr; p1 = peephptr + 1; - while (*p1 != HinsiBlkTerm) { + while(*p1 != HinsiBlkTerm) { peepkptr = p1; - p1 = skipkstr(p1); + p1 = skipkstr(p1); } return -1; } +static int +prev_douon(void) { + unsigned char* p1; + unsigned char* p2; + int nlen; - -static int -prev_douon (void) -{ - unsigned char *p1; - unsigned char *p2; - int nlen; - - if (peepdptr <= segtop()) { - if (peepidx <= DicSegBase) return 0; + if(peepdptr <= segtop()) { + if(peepidx <= DicSegBase) return 0; (*curdict->getdic)(curdict, --peepidx); get_askknj(); @@ -227,9 +198,8 @@ prev_douon (void) peepdptr = p1; add_yomi(); p1 = getntag(p1); - } while (!segend(p1)); - } - else { + } while(!segend(p1)); + } else { set_idxyomi(); p1 = segtop(); @@ -238,104 +208,90 @@ prev_douon (void) peepdptr = p1; add_yomi(); p1 = getntag(p1); - } while (p1 < p2); + } while(p1 < p2); } nlen = getnlen(peepdptr); - p1 = peepdptr + DouonBlkSizeNumber + nlen; + p1 = peepdptr + DouonBlkSizeNumber + nlen; p2 = getntag(peepdptr); do { peephptr = p1; - p1 = skiphblk(p1); - } while (p1 < p2); + p1 = skiphblk(p1); + } while(p1 < p2); peepgrm = *peephptr; p1 = peephptr + 1; do { peepkptr = p1; - p1 = skipkstr(p1); - } while (*p1 != HinsiBlkTerm); + p1 = skipkstr(p1); + } while(*p1 != HinsiBlkTerm); return -1; } - - -static int -next_kanji (void) -{ - unsigned char *p1; +static int +next_kanji(void) { + unsigned char* p1; p1 = skipkstr(peepkptr); - if (*p1 == HinsiBlkTerm) return next_hinsi(); + if(*p1 == HinsiBlkTerm) return next_hinsi(); peepkptr = p1; return -1; } - - -static int -next_hinsi (void) -{ - unsigned char *p1; +static int +next_hinsi(void) { + unsigned char* p1; p1 = skiphblk(peephptr); - if (p1 >= getntag(peepdptr)) return next_douon(); + if(p1 >= getntag(peepdptr)) return next_douon(); peephptr = p1; - peepgrm = *p1; + peepgrm = *p1; peepkptr = p1 + 1; return -1; } - - -static int -next_douon (void) -{ - unsigned char *p1; - int nlen; +static int +next_douon(void) { + unsigned char* p1; + int nlen; p1 = getntag(peepdptr); - if (segend(p1)) { - if (peepidx + 1 < curdict->segunit) { + if(segend(p1)) { + if(peepidx + 1 < curdict->segunit) { (*curdict->getdic)(curdict, ++peepidx); get_askknj(); peepdptr = segtop(); set_idxyomi(); - } - else - return 0; - } - else { + } else + return 0; + } else { peepdptr = p1; } add_yomi(); - nlen = getnlen(peepdptr); - peephptr = peepdptr + DouonBlkSizeNumber + nlen; + nlen = getnlen(peepdptr); + peephptr = peepdptr + DouonBlkSizeNumber + nlen; peepgrm = *peephptr; peepkptr = peephptr + 1; - + return -1; } +static void +set_idxyomi(void) { + unsigned char *p1, *p2; - -static void -set_idxyomi (void) -{ - unsigned char *p1, *p2; - - if ((p2 = get_idxptr(peepidx)) != NULL) { + if((p2 = get_idxptr(peepidx)) != NULL) { p1 = peepyomi; - while (*p2) { + while(*p2) { cd2sjh_chr(*p2++, p1); p1 += 2; } @@ -343,19 +299,16 @@ set_idxyomi (void) } } - - -static void -add_yomi (void) -{ - int nlen; - unsigned char *p1, *p2; +static void +add_yomi(void) { + int nlen; + unsigned char *p1, *p2; nlen = getnlen(peepdptr); - p1 = peepyomi + getplen(peepdptr) * 2; - p2 = peepdptr + DouonBlkSizeNumber; + p1 = peepyomi + getplen(peepdptr) * 2; + p2 = peepdptr + DouonBlkSizeNumber; - while (nlen--) { + while(nlen--) { cd2sjh_chr(*p2++, p1); p1 += 2; } @@ -363,50 +316,36 @@ add_yomi (void) *p1 = 0; } - - -static void -cd2sjh_chr (unsigned char ch, unsigned char *dst) -{ - if (ch == _TYOUON) { +static void +cd2sjh_chr(unsigned char ch, unsigned char* dst) { + if(ch == _TYOUON) { *dst++ = 0xa1; - *dst++ = 0xbc; - } - else if (ch == _IGETA) { + *dst++ = 0xbc; + } else if(ch == _IGETA) { *dst++ = 0xa1; *dst++ = 0xf4; - } - else if (ch == _ATTO) { + } else if(ch == _ATTO) { *dst++ = 0xa1; *dst++ = 0xf7; - } - else if (ch == _YUUBIN) { + } else if(ch == _YUUBIN) { *dst++ = 0xa2; *dst++ = 0xa9; - } - else if (ch < N_0) { - } - else if (ch <= N_9) { + } else if(ch < N_0) { + } else if(ch <= N_9) { *dst++ = 0xa3; - *dst++ = ch + 0xa0; - } - else if (ch <= A_Z) { + *dst++ = ch + 0xa0; + } else if(ch <= A_Z) { *dst++ = 0xa3; - *dst++ = ch + 0xa7; - } - else if (ch <= A_z) { + *dst++ = ch + 0xa7; + } else if(ch <= A_z) { *dst++ = 0xa3; - *dst++ = ch + 0xad; - } - else if (ch <= _NN) { + *dst++ = ch + 0xad; + } else if(ch <= _NN) { *dst++ = 0xa4; - *dst++ = ch + 0x53; - } - else if (ch <= _XKE) { + *dst++ = ch + 0x53; + } else if(ch <= _XKE) { *dst++ = 0xa5; *dst++ = ch + 0x53; - } - else { + } else { } } - diff --git a/ph2knj.c b/ph2knj.c index 244da88..e85af34 100644 --- a/ph2knj.c +++ b/ph2knj.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,38 +28,35 @@ */ /* - * $SonyRCSfile: ph2knj.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: ph2knj.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:09 $ * * $Id$ */ - #include #include "sj_kcnv.h" #include "sj_yomi.h" #include "kanakan.h" +int sj2cd_chr(); +void mk2claus(); +void freework(); +void selclrec(); +CLREC* free_clst(); +JREC* free_jlst(); -int sj2cd_chr(); -void mk2claus(); -void freework(); -void selclrec(); -CLREC *free_clst(); -JREC *free_jlst(); +int ph2knj(unsigned char* zyomi, unsigned char* kanji, int knjlen) { + unsigned char* ptr; + unsigned char* dst; + int i; - - -int ph2knj -(unsigned char *zyomi, unsigned char *kanji, int knjlen) -{ - unsigned char *ptr; - unsigned char *dst; - int i; - - for (ptr = zyomi, dst = hyomi, i = 0 ; *ptr ; ) { - if (i++ >= MaxPhInputLen) { *kanji = 0; return 0; } + for(ptr = zyomi, dst = hyomi, i = 0; *ptr;) { + if(i++ >= MaxPhInputLen) { + *kanji = 0; + return 0; + } ptr += sj2cd_chr(ptr, dst++); } *dst = 0; @@ -68,21 +65,21 @@ int ph2knj prevclgrm = 0; prevclrow = 0; - khcount = 0; - nextcllen = 0; + khcount = 0; + nextcllen = 0; inputyomi = zyomi; cnvstart = ystart = hyomi; - cnvlen = strlen(hyomi); + cnvlen = strlen(hyomi); kanjipos = kanji; kanjilen = knjlen; - while (cnvlen && kanjilen) { - if (!clt1st) { + while(cnvlen && kanjilen) { + if(!clt1st) { mkjiritu(DO_CLSTUDY | DO_IKKATU); mkbunsetu(); - if (!maxclptr) wakachi(); + if(!maxclptr) wakachi(); jrt1st = maxjptr; clt1st = maxclptr; } @@ -91,28 +88,27 @@ int ph2knj selclrec(); - prevclgrm = selcl -> jnode -> hinsi; - prevclrow = selcl -> right; + prevclgrm = selcl->jnode->hinsi; + prevclrow = selcl->right; - clt1st = free_clst(clt1st, (int)selcl -> cllen); - jrt1st = free_jlst(jrt1st); + clt1st = free_clst(clt1st, (int)selcl->cllen); + jrt1st = free_jlst(jrt1st); - cnvstart += selcl -> cllen; - cnvlen -= selcl -> cllen; + cnvstart += selcl->cllen; + cnvlen -= selcl->cllen; - cvtphknj(); - - clt1st = clt2nd; - jrt1st = jrt2nd; + cvtphknj(); + + clt1st = clt2nd; + jrt1st = jrt2nd; } - if (!kanjilen) { - free_clall(clt1st); - free_jall (jrt1st); - } + if(!kanjilen) { + free_clall(clt1st); + free_jall(jrt1st); + } *kanjipos = 0; - return(inputyomi - zyomi); + return (inputyomi - zyomi); } - diff --git a/ph_khtbl.c b/ph_khtbl.c index c549c16..6243e4d 100644 --- a/ph_khtbl.c +++ b/ph_khtbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,68 +28,59 @@ */ /* - * $SonyRCSfile: ph_khtbl.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: ph_khtbl.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:09 $ * * $Id$ */ - #include "sj_kcnv.h" #include "kanakan.h" +static void +ph_setsty(CLREC* clrec) { + JREC* jrec; + TypeDicOfs offset; + unsigned char* ptr; + STDYIN* sptr; - -static void -ph_setsty (CLREC *clrec) -{ - JREC *jrec; - TypeDicOfs offset; - unsigned char *ptr; - STDYIN *sptr; - - if (!seldict((jrec = clrec -> jnode) -> dicid)) { - if (!khcount) - ph_setkouho(clrec, (TypeDicOfs)1, (STDYIN *)NULL); + if(!seldict((jrec = clrec->jnode)->dicid)) { + if(!khcount) + ph_setkouho(clrec, (TypeDicOfs)1, (STDYIN*)NULL); return; } - (*curdict->getdic)(curdict, jrec -> jseg); + (*curdict->getdic)(curdict, jrec->jseg); ptr = dicbuf + jrec->jofsst + 1; - for ( ; *ptr != HinsiBlkTerm ; ptr = skipkstr(ptr)) { + for(; *ptr != HinsiBlkTerm; ptr = skipkstr(ptr)) { offset = ptr - dicbuf; - sptr = srchstdy(jrec -> jseg, offset, jrec -> dicid); + sptr = srchstdy(jrec->jseg, offset, jrec->dicid); - if (!khcount){ + if(!khcount) { ph_setkouho(clrec, offset, sptr); continue; } - if (!sptr) continue; + if(!sptr) continue; - if (sptr -> styno < kouhotbl[0].styno) { + if(sptr->styno < kouhotbl[0].styno) { ph_setkouho(clrec, offset, sptr); - } - else if (sptr -> styno == kouhotbl -> styno) { - if (!(kouhotbl[0].ka_fg && - sptr -> ka_kj == kouhotbl[0].ka_kj)) { + } else if(sptr->styno == kouhotbl->styno) { + if(!(kouhotbl[0].ka_fg && + sptr->ka_kj == kouhotbl[0].ka_kj)) { ph_setkouho(clrec, offset, sptr); } } } } +int ph_khtbl(CLREC* clrec) { + JREC* jrec; + int flg = FALSE; - -int -ph_khtbl (CLREC *clrec) -{ - JREC *jrec; - int flg = FALSE; - - switch((jrec = clrec -> jnode) -> class) { + switch((jrec = clrec->jnode)->class) { case C_DICT: ph_setsty(clrec); break; @@ -104,19 +95,17 @@ ph_khtbl (CLREC *clrec) case C_N_KAZULONG: case C_N_KAZULCMA: case C_N_SUUJILONG: - if (jrec -> jofsst) { + if(jrec->jofsst) { ph_setsty(clrec); break; - } - else + } else flg = TRUE; case C_BUNSETU: case C_MINASI: case C_WAKACHI: - if (!khcount) ph_setkouho(clrec, (TypeDicOfs)0, (STDYIN *)0); + if(!khcount) ph_setkouho(clrec, (TypeDicOfs)0, (STDYIN*)0); break; } return flg; } - diff --git a/priority.c b/priority.c index f233123..a1912d7 100644 --- a/priority.c +++ b/priority.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,135 +28,129 @@ */ /* - * $SonyRCSfile: priority.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: priority.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:10 $ */ - - #include "sj_kcnv.h" #include "sj_hinsi.h" #include "sj_right.h" #include "sj_prty.h" -static int isfukusi(hinsi) -TypeGram hinsi; +static int isfukusi(hinsi) +TypeGram hinsi; { - if (FUKUSI_1 <= hinsi && hinsi <= FUKUSI_7) + if(FUKUSI_1 <= hinsi && hinsi <= FUKUSI_7) return TRUE; - else if (hinsi == MEISI_11 || hinsi == D_MEISI_6) + else if(hinsi == MEISI_11 || hinsi == D_MEISI_6) return TRUE; return FALSE; } -static int istaigen(right) -TypeCnct right; +static int istaigen(right) +TypeCnct right; { - if (right == R_MEISI || right == R_DMEISI || right == R_SMEISI1) + if(right == R_MEISI || right == R_DMEISI || right == R_SMEISI1) return TRUE; - if (right == R_WO_MEISI || right == R_DAIMEISI || right == R_JOSUUSI) + if(right == R_WO_MEISI || right == R_DAIMEISI || right == R_JOSUUSI) return TRUE; - if (right == R_RENYOU1 || (R_RENYOU3 <= right && right <= R_SA5RENYOU4)) + if(right == R_RENYOU1 || (R_RENYOU3 <= right && right <= R_SA5RENYOU4)) return TRUE; return FALSE; } -static int taicnt(hinsi1, hinsi2) -TypeGram hinsi1; -TypeGram hinsi2; +static int taicnt(hinsi1, hinsi2) +TypeGram hinsi1; +TypeGram hinsi2; { - if (hinsi2 == TANKANJI) return 0; + if(hinsi2 == TANKANJI) return 0; - if (MYOUJI <= hinsi1 && hinsi1 <= KEN_KU) { - if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) + if(MYOUJI <= hinsi1 && hinsi1 <= KEN_KU) { + if(MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) return Taipri(hinsi1 - MYOUJI, hinsi2); else return 3; - } - else if ((MEISI_1 <= hinsi1 && hinsi1 <= MEISI_11) || - hinsi1 == D_MEISI_2) { - if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) { + } else if((MEISI_1 <= hinsi1 && hinsi1 <= MEISI_11) || + hinsi1 == D_MEISI_2) { + if(MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) { return Taipri(5, hinsi2); - } - else + } else return 5; } else { - if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) + if(MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) return Taipri(6, hinsi2); else return 4; } } -static int sttcnt(hinsi1, hinsi2) -TypeGram hinsi1; -TypeGram hinsi2; +static int sttcnt(hinsi1, hinsi2) +TypeGram hinsi1; +TypeGram hinsi2; { - if (SETTOU_1 <= hinsi1 && hinsi1 <= SETTOU_5) { - if (MEISI_1 <= hinsi2 && hinsi2 <= SUUSI) + if(SETTOU_1 <= hinsi1 && hinsi1 <= SETTOU_5) { + if(MEISI_1 <= hinsi2 && hinsi2 <= SUUSI) return Sttpri(hinsi1 - SETTOU_1, hinsi2); } return 4; } -int priority(clrec) -CLREC *clrec; +int priority(clrec) +CLREC* clrec; { - int prty; - CLREC *cl2rec; - int keeplen; - TypeGram hinsi1; - int i; - int prev = 0; + int prty; + CLREC* cl2rec; + int keeplen; + TypeGram hinsi1; + int i; + int prev = 0; - if (clrec->cllen == clrec->cl2len) return 0xff; + if(clrec->cllen == clrec->cl2len) return 0xff; - if (clrec->jnode->class == C_BUNSETU) { + if(clrec->jnode->class == C_BUNSETU) { prty = Termtbl[clrec->right] & GETPRI; - return(0xf0 + prty); + return (0xf0 + prty); } - hinsi1 = clrec->jnode->hinsi; - if (prevclrow == R_WO || prevclrow == R_WO_S || - prevclrow == R_NI1 || prevclrow == R_DRENYOU2) { - if (clrec -> kubun == K_DOUSHI || isfukusi(hinsi1)) + if(prevclrow == R_WO || prevclrow == R_WO_S || + prevclrow == R_NI1 || prevclrow == R_DRENYOU2) { + if(clrec->kubun == K_DOUSHI || isfukusi(hinsi1)) prev = 5; } - else if (istaigen(prevclrow)) { + else if(istaigen(prevclrow)) { - if (clrec -> kubun == K_TAIGEN) + if(clrec->kubun == K_TAIGEN) prev = taicnt(prevclgrm, hinsi1); else prev = 0; } - else if (prevclrow == R_SETTOU) { - if (clrec -> jnode -> sttofs) + else if(prevclrow == R_SETTOU) { + if(clrec->jnode->sttofs) prty = 2; else prty = sttcnt(prevclgrm, hinsi1); } - - if (hinsi1 >= SETUBI_1 && hinsi1 <= SETUBI_9 && (!prev)) { + if(hinsi1 >= SETUBI_1 && hinsi1 <= SETUBI_9 && (!prev)) { prty = 1; goto finish; } - cl2rec = maxclptr; - keeplen = cl2rec -> cllen; + cl2rec = maxclptr; + keeplen = cl2rec->cllen; - if (clrec->right == R_WO || clrec->right == R_WO_S || - clrec->right == R_NI1 || clrec->right == R_DRENYOU2) { - while (cl2rec && (int)cl2rec->cllen == keeplen) { - if (cl2rec->kubun == K_DOUSHI) { + if(clrec->right == R_WO || clrec->right == R_WO_S || + clrec->right == R_NI1 || clrec->right == R_DRENYOU2) { + while(cl2rec && (int)cl2rec->cllen == keeplen) { + if(cl2rec->kubun == K_DOUSHI) { prty = 14; goto finish; } @@ -164,42 +158,40 @@ CLREC *clrec; } } - else if (clrec->right == R_SETTOU) { + else if(clrec->right == R_SETTOU) { prty = 0; - while (cl2rec && (int)cl2rec -> cllen == keeplen) { - if (cl2rec -> jnode -> sttofs ) + while(cl2rec && (int)cl2rec->cllen == keeplen) { + if(cl2rec->jnode->sttofs) i = 2; else i = sttcnt(hinsi1, cl2rec->jnode->hinsi); - if (i > prty) + if(i > prty) prty = i; - cl2rec = cl2rec -> clsort; + cl2rec = cl2rec->clsort; } goto finish; } - else if (istaigen(clrec->right)) { + else if(istaigen(clrec->right)) { prty = 0; - while (cl2rec && (int)cl2rec->cllen == keeplen) { + while(cl2rec && (int)cl2rec->cllen == keeplen) { i = taicnt(hinsi1, cl2rec->jnode->hinsi); - if (i > prty) + if(i > prty) prty = i; cl2rec = cl2rec->clsort; } - if (clrec->jnode->stbofs) { + if(clrec->jnode->stbofs) { prty -= 3; } goto finish; } - prty = Termtbl[clrec->right]; - - if (prty & RENTAI) { - while (cl2rec && (int)cl2rec->cllen == keeplen) { - if (cl2rec -> kubun == K_TAIGEN) { + if(prty & RENTAI) { + while(cl2rec && (int)cl2rec->cllen == keeplen) { + if(cl2rec->kubun == K_TAIGEN) { prty &= GETPRI; goto finish; } @@ -211,15 +203,14 @@ CLREC *clrec; else { prty &= GETPRI; - if (prty == P_RENYOU_J || prty == P_RENYOU_M ) { - while (clrec->cllen != 1 && cl2rec && - (int)cl2rec->cllen == keeplen ) { - if (cl2rec->kubun == K_DOUSHI) { + if(prty == P_RENYOU_J || prty == P_RENYOU_M) { + while(clrec->cllen != 1 && cl2rec && + (int)cl2rec->cllen == keeplen) { + if(cl2rec->kubun == K_DOUSHI) { prty = 6; goto finish; - } - else if (cl2rec->jnode->hinsi == SETUBI_1 || - cl2rec->jnode->hinsi == SETUBI_2) { + } else if(cl2rec->jnode->hinsi == SETUBI_1 || + cl2rec->jnode->hinsi == SETUBI_2) { prty = 7; goto finish; } @@ -229,56 +220,53 @@ CLREC *clrec; } } - finish: cl2rec = maxclptr; - if (hinsi1 == SUUSI) prty -= 4; + if(hinsi1 == SUUSI) prty -= 4; - if (cl2rec -> jnode -> hinsi == SUUSI) prty -= 3; + if(cl2rec->jnode->hinsi == SUUSI) prty -= 3; - if (cl2rec->jnode->class == C_DICT && - cl2rec->jnode->jlen == 1 && (cl2rec->kubun != K_DOUSHI)) { + if(cl2rec->jnode->class == C_DICT && + cl2rec->jnode->jlen == 1 && (cl2rec->kubun != K_DOUSHI)) { prty -= 2; } - if ((!istaigen(clrec->right)) && (cl2rec->jnode->hinsi == SETUBI_2)) { + if((!istaigen(clrec->right)) && (cl2rec->jnode->hinsi == SETUBI_2)) { prty -= 4; } prty += 20 - clrec->cllen + clrec->jnode->jlen + clrec->gobiln; - return(prty + prev); + return (prty + prev); } +void pritiny() { + CLREC* clrec; + int keeplen; + int i, prty = 0; -void pritiny() -{ - CLREC *clrec; - int keeplen; - int i, prty = 0; + clrec = selcl; + keeplen = clrec->cllen; - clrec = selcl; - keeplen = clrec -> cllen; - - if (istaigen(prevclrow)) { - while (clrec && (int)clrec -> cllen == keeplen) { - i = taicnt(prevclgrm, clrec -> jnode -> hinsi); - if (i > prty) { + if(istaigen(prevclrow)) { + while(clrec && (int)clrec->cllen == keeplen) { + i = taicnt(prevclgrm, clrec->jnode->hinsi); + if(i > prty) { selcl = clrec; - prty = i; + prty = i; } - clrec = clrec -> clsort; + clrec = clrec->clsort; } } else { - while (clrec && (int)clrec -> cllen == keeplen) { - if (clrec -> jnode -> hinsi >= MYOUJI && - clrec -> jnode -> hinsi <= KEN_KU) - clrec = clrec -> clsort; + while(clrec && (int)clrec->cllen == keeplen) { + if(clrec->jnode->hinsi >= MYOUJI && + clrec->jnode->hinsi <= KEN_KU) + clrec = clrec->clsort; - else if (clrec -> jnode -> hinsi == TANKANJI) + else if(clrec->jnode->hinsi == TANKANJI) return; else { selcl = clrec; @@ -287,4 +275,3 @@ void pritiny() } } } - diff --git a/prtytbl.c b/prtytbl.c index 9572afb..af3e768 100644 --- a/prtytbl.c +++ b/prtytbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,75 +28,219 @@ */ /* - * $SonyRCSfile: prtytbl.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: prtytbl.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:11 $ */ - - #include "sj_rename.h" #include "sj_typedef.h" -unsigned char taipri[7][45] = { +unsigned char taipri[7][45] = { - { 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 3, 3, 3, 3, 3, 0, 0, - 0, 3, 20, 4, 3, 3, 4, 4, 4, 4, - 4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, + {0, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 3, 3, 3, 3, 3, 3, 0, 0, + 0, 3, 20, 4, 3, 3, 4, 4, 4, 4, + 4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, - { 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 3, 3, 3, 3, 3, 0, 0, - 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, + {0, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 3, 3, 3, 3, 3, 3, 0, 0, + 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, - { 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 3, 3, 3, 3, 3, 0, 0, - 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6}, + {0, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 3, 3, 3, 3, 3, 3, 0, 0, + 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6}, - { 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 3, 3, 3, 3, 3, 3, 0, 0, - 0, 3, 3, 3, 4, 5, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 4, 4, 4, 4, 6}, + {0, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 3, 3, 3, 3, 3, 3, 0, 0, + 0, 3, 3, 3, 4, 5, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 4, 4, 4, 4, 6}, - { 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 4, 4, 4, 4, 4, 4, 0, 0, - 0, 4, 4, 4, 20, 20, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6}, + {0, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 4, 4, 4, 4, 4, 4, 0, 0, + 0, 4, 4, 4, 20, 20, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6}, - { 0, 8, 8, 8, 8, 8, 7, 8, 8, 8, - 8, 8, 3, 6, 7, 3, 3, 5, 0, 0, - 0, 3, 3, 3, 3, 3, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 8, 8, 11, 5, 7, 7, 7, 7, 7}, + {0, 8, 8, 8, 8, 8, 7, 8, 8, 8, + 8, 8, 3, 6, 7, 3, 3, 5, 0, 0, + 0, 3, 3, 3, 3, 3, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 8, 8, 11, 5, 7, 7, 7, 7, 7}, - { 0, 5, 6, 6, 6, 6, 5, 6, 6, 6, - 6, 6, 3, 3, 3, 3, 3, 5, 0, 0, - 0, 3, 3, 3, 3, 3, 5, 5, 5, 5, - 4, 5, 5, 5, 5, 5, 5, 6, 6, 5, 5, 5, 5, 5, 5} - }; + {0, 5, 6, 6, 6, 6, 5, 6, 6, 6, + 6, 6, 3, 3, 3, 3, 3, 5, 0, 0, + 0, 3, 3, 3, 3, 3, 5, 5, 5, 5, + 4, 5, 5, 5, 5, 5, 5, 6, 6, 5, 5, 5, 5, 5, 5}}; +unsigned char sttpri[5][31] = { + { + 0, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 2, + 4, + 4, + 4, + 4, + 4, + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + }, -unsigned char sttpri[5][31] = { + { + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 0, + 0, + 0, + 4, + 4, + 4, + 10, + 10, + 4, + 4, + 4, + 4, + 4, + }, - { 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 2, 4, 4, 4, 4, 4, 0, 0, - 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }, + { + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 0, + 0, + 0, + 10, + 10, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + }, - { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, - 0, 4, 4, 4, 10, 10, 4, 4, 4, 4, 4, }, + { + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 15, + }, - { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, - 0, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, }, - - { 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, - 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 15, }, - - { 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 9, 9, 9, 9, 9, 9, 0, 0, - 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, } - }; + { + 0, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 9, + 9, + 9, + 9, + 9, + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + }}; diff --git a/readline.c b/readline.c index e01df50..b1a1701 100644 --- a/readline.c +++ b/readline.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: readline.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: readline.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:44 $ * * $Id$ */ - #include #include #include "sj_euc.h" @@ -43,138 +42,121 @@ #include "sj_macro.h" #include "dicttool.h" - /* static long lineloc; */ -static int yomi[MaxYomiLength + 1]; -static int kanji[MaxKanjiLength + 1]; -static int hinsi[MaxHinsiNumber + 1]; -static int atr[MaxAtrNumber + 1]; - - +static int yomi[MaxYomiLength + 1]; +static int kanji[MaxKanjiLength + 1]; +static int hinsi[MaxHinsiNumber + 1]; +static int atr[MaxAtrNumber + 1]; static void -error(char *s) -{ - if (s) fprintf(stderr, "%s\n", s); +error(char* s) { + if(s) fprintf(stderr, "%s\n", s); mark_file(stderr); exit(1); } - - static int -readchar(void) -{ - int c1; - int c2; +readchar(void) { + int c1; + int c2; - - c1 = getch(); if (c1 == EOF) return EOF; + c1 = getch(); + if(c1 == EOF) return EOF; - - if (c1 != SS3) { - if (c1 & 0x80) { - c2 = getch(); if (c2 == EOF) error(NULL); + if(c1 != SS3) { + if(c1 & 0x80) { + c2 = getch(); + if(c2 == EOF) error(NULL); c1 = ((c1 & 0xff) << 8) + (c2 & 0xff); } } else { - c2 = getch(); if (c2 == EOF) error(NULL); + c2 = getch(); + if(c2 == EOF) error(NULL); c1 = ((c1 & 0xff) << 8) + (c2 & 0xff); - c2 = getch(); if (c2 == EOF) error(NULL); + c2 = getch(); + if(c2 == EOF) error(NULL); c1 = ((c1 & 0xffff) << 8) + (c2 & 0xff); } - + return c1; } - - static int -skip_blank(void) -{ - int c; +skip_blank(void) { + int c; c = readchar(); - while (Isblank(c)) c = readchar(); + while(Isblank(c)) c = readchar(); - return c; } - - static int -readhinsi(void) -{ - static int c = 0; - int i; - unsigned char hinsi[128]; - int flg; +readhinsi(void) { + static int c = 0; + int i; + unsigned char hinsi[128]; + int flg; retry: - - if (c == '\n') { + + if(c == '\n') { c = 0; return 0; } - c = skip_blank(); - if (c == '\n') { + if(c == '\n') { c = 0; return 0; } - - for (i = 0 ; !Isblank(c) ; ) { - if (c == '\n' || c == ':') break; - if (Isillegal(c)) error(IllegalFormat); - if (c > 0xffffff) { - if (i >= 126) error(TooLongHinsi); + for(i = 0; !Isblank(c);) { + if(c == '\n' || c == ':') break; + if(Isillegal(c)) error(IllegalFormat); + if(c > 0xffffff) { + if(i >= 126) error(TooLongHinsi); hinsi[i++] = ((c >> 24) & 0xff); - if (i >= 126) error(TooLongHinsi); + if(i >= 126) error(TooLongHinsi); hinsi[i++] = ((c >> 16) & 0xff); - if (i >= 126) error(TooLongHinsi); + if(i >= 126) error(TooLongHinsi); hinsi[i++] = ((c >> 8) & 0xff); - } else if (c > 0xffff) { - if (i >= 126) error(TooLongHinsi); + } else if(c > 0xffff) { + if(i >= 126) error(TooLongHinsi); hinsi[i++] = ((c >> 16) & 0xff); - if (i >= 126) error(TooLongHinsi); + if(i >= 126) error(TooLongHinsi); hinsi[i++] = ((c >> 8) & 0xff); - } else if (c > 0xff) { - if (i >= 126) error(TooLongHinsi); + } else if(c > 0xff) { + if(i >= 126) error(TooLongHinsi); hinsi[i++] = ((c >> 8) & 0xff); } - if (i >= 127) error(TooLongHinsi); + if(i >= 127) error(TooLongHinsi); hinsi[i++] = (c & 0xff); - c = readchar(); + c = readchar(); } - - if (i == 0) return 0; + if(i == 0) return 0; - - if (hinsi[0] == '[' && hinsi[i - 1] == ']') { + if(hinsi[0] == '[' && hinsi[i - 1] == ']') { hinsi[i - 1] = 0; - i = cnvhinsi(hinsi + 1); - if (i > 0) { + i = cnvhinsi(hinsi + 1); + if(i > 0) { fprintf(stderr, "\311\312\273\354 \"%s\" \244\313\263\347\270\314\244\254\244\304\244\244\244\306\244\244\244\353\n", hinsi + 1); - } - else if (!i) { - + } else if(!i) { + fprintf(stderr, "\"%s\" \244\254\245\263\241\274\245\311\262\275\244\307\244\255\244\336\244\273\244\363\n", hinsi + 1); goto retry; } } - + else { hinsi[i] = 0; - i = cnvhinsi(hinsi); - if (!i) { - + i = cnvhinsi(hinsi); + if(!i) { + fprintf(stderr, "\"%s\" \244\254\245\263\241\274\245\311\262\275\244\307\244\255\244\336\244\273\244\363\n", hinsi); goto retry; } @@ -183,93 +165,75 @@ retry: return i; } +int* readline(void) { + int c; + int i; + int j; + for(;;) { -int* -readline(void) -{ - int c; - int i; - int j; - - - for ( ; ; ) { - mark_file(NULL); c = skip_blank(); - - if (c == '#') { - while (c != '\n') c = skip_blank(); + if(c == '#') { + while(c != '\n') c = skip_blank(); } - - if (c == EOF) return NULL; + if(c == EOF) return NULL; - - if (c != '\n') break; + if(c != '\n') break; } - - for (i = 0 ; !Isblank(c) ; ) { - if (Isillegal(c)) error(IllegalFormat); - if (i >= MaxYomiLength) error(TooLongYomi); + for(i = 0; !Isblank(c);) { + if(Isillegal(c)) error(IllegalFormat); + if(i >= MaxYomiLength) error(TooLongYomi); yomi[i++] = c; - c = readchar(); + c = readchar(); } yomi[i] = 0; - if (i == 0) error(NoYomiString); + if(i == 0) error(NoYomiString); - c = skip_blank(); - - if (c != '"') { - for (i = 0 ; !Isblank(c) ; ) { - if (Isillegal(c)) error(IllegalFormat); - if (i >= MaxKanjiLength) error(TooLongKanji); + if(c != '"') { + for(i = 0; !Isblank(c);) { + if(Isillegal(c)) error(IllegalFormat); + if(i >= MaxKanjiLength) error(TooLongKanji); kanji[i++] = c; - c = readchar(); + c = readchar(); } - } - else { + } else { c = readchar(); - for (i = 0 ; c != '"' ; ) { - if (Isillegal(c)) error(IllegalFormat); - if (i >= MaxKanjiLength) error(TooLongKanji); + for(i = 0; c != '"';) { + if(Isillegal(c)) error(IllegalFormat); + if(i >= MaxKanjiLength) error(TooLongKanji); kanji[i++] = c; - c = readchar(); + c = readchar(); } } kanji[i] = 0; - if (i == 0) error(NoKanjiString); + if(i == 0) error(NoKanjiString); - i = j = 0; - while ((c = readhinsi())!=0) { - if (c < 0) { - if (i >= MaxAtrNumber) error(TooManyAtr); + while((c = readhinsi()) != 0) { + if(c < 0) { + if(i >= MaxAtrNumber) error(TooManyAtr); atr[i++] = -c; - } - else { - if (j >= MaxHinsiNumber) error(TooManyHinsi); + } else { + if(j >= MaxHinsiNumber) error(TooManyHinsi); hinsi[j++] = c; } } atr[i] = 0; - if (j == 0) hinsi[j++] = HinsiTankan; + if(j == 0) hinsi[j++] = HinsiTankan; hinsi[j] = 0; - return yomi; } +void setline(void (*func)(int*, int*, int, int*)) { + int i; -void -setline(void (*func)(int*, int*, int, int*)) -{ - int i; - - for (i = 0 ; hinsi[i] ; i++) (*func)(yomi, kanji, hinsi[i], atr); + for(i = 0; hinsi[i]; i++) (*func)(yomi, kanji, hinsi[i], atr); } diff --git a/rk.h b/rk.h index 2b570e8..85be702 100644 --- a/rk.h +++ b/rk.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,55 +28,52 @@ */ /* - * $SonyRCSfile: rk.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: rk.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:48 $ */ - - #include #include "wchar16.h" -#define SPACE 0x20 -#define TAB 0x09 -#define EOL 0x0a -#define NSTR '\0' +#define SPACE 0x20 +#define TAB 0x09 +#define EOL 0x0a +#define NSTR '\0' #ifndef ESC -#define ESC 0x1b +#define ESC 0x1b #endif -#define QUOTA '\'' -#define BSL '\\' -#define MASK 0xff +#define QUOTA '\'' +#define BSL '\\' +#define MASK 0xff -#define MAXLEN 256 -#define MAXWLEN 16 -#define MAXLLEN 64 -#define MAXCODE 256 +#define MAXLEN 256 +#define MAXWLEN 16 +#define MAXLLEN 64 +#define MAXCODE 256 -#define CONTINUE 0 -#define NOMACH -1 -#define FAIL -1 -#define RKEND 0xffffffff -#define ERRBEL 0xfffffffc -#define ERRCODE 0x80000000 -#define RKMASK 0x0000ffff -#define RKZEN 0xff00 +#define CONTINUE 0 +#define NOMACH -1 +#define FAIL -1 +#define RKEND 0xffffffff +#define ERRBEL 0xfffffffc +#define ERRCODE 0x80000000 +#define RKMASK 0x0000ffff +#define RKZEN 0xff00 -#define SetMojilen(c) ((c << 16) & 0x00ff0000) -#define GetMojilen(c) ((c & ERRCODE) ? (1) : ((c >> 16) & 0xff)) +#define SetMojilen(c) ((c << 16) & 0x00ff0000) +#define GetMojilen(c) ((c & ERRCODE) ? (1) : ((c >> 16) & 0xff)) -typedef struct rktable_w16 { - wchar16_t *r_key; - unsigned short *k_yomi; - wchar16_t *r_str; - struct rktable_w16 *next; +typedef struct rktable_w16 { + wchar16_t* r_key; + unsigned short* k_yomi; + wchar16_t* r_str; + struct rktable_w16* next; } RkTablW16; -typedef struct rktable { - unsigned char *r_key; - unsigned short *k_yomi; - unsigned char *r_str; - struct rktable *next; +typedef struct rktable { + unsigned char* r_key; + unsigned short* k_yomi; + unsigned char* r_str; + struct rktable* next; } RkTabl; - diff --git a/rk_conv.c b/rk_conv.c index 799254c..6e53e0c 100644 --- a/rk_conv.c +++ b/rk_conv.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,17 +28,15 @@ */ /* - * $SonyRCSfile: rk_conv.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: rk_conv.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:59 $ */ - #ifndef lint static char rcsid[] = "$Header: /export/work/contrib/sj3/sj3rkcv/RCS/rk_conv.c,v 1.14 1994/06/03 07:42:16 notanaka Exp $"; #endif - #include "sj_sysvdef.h" #include "wchar16.h" #include @@ -66,159 +64,149 @@ static char rcsid[] = "$Header: /export/work/contrib/sj3/sj3rkcv/RCS/rk_conv.c,v extern int current_locale; -#define ENDMARK(c) (c == SPACE || c == TAB) -#define SKLINE(c) (c == EOL || c == NSTR) -#define TOUPPER(c) (islower(c) ? toupper(c) : (c)) - -#define WTOUPPER(c) ((wchar16_t) (islower(((c) & 0xff)) ? toupper(((c) & 0xff)) : ((c) & 0xff))) +#define ENDMARK(c) (c == SPACE || c == TAB) +#define SKLINE(c) (c == EOL || c == NSTR) +#define TOUPPER(c) (islower(c) ? toupper(c) : (c)) -#define RKSIZE 256 -#define RKINCZ 32 +#define WTOUPPER(c) ((wchar16_t)(islower(((c) & 0xff)) ? toupper(((c) & 0xff)) : ((c) & 0xff))) + +#define RKSIZE 256 +#define RKINCZ 32 typedef struct rkbufrec { - RkTablW16 *rkbuf; - RkTablW16 *rkend; - struct rkbufrec *rkbufp; + RkTablW16* rkbuf; + RkTablW16* rkend; + struct rkbufrec* rkbufp; } RkbufRec; -#define STRSIZE 1024 -#define STRINCZ 256 +#define STRSIZE 1024 +#define STRINCZ 256 typedef struct strbufrec { - wchar16_t *strbuf; - wchar16_t *strend; - struct strbufrec *strbufp; + wchar16_t* strbuf; + wchar16_t* strend; + struct strbufrec* strbufp; } StrbufRec; -#define YMISIZE 512 -#define YMIINCZ 64 +#define YMISIZE 512 +#define YMIINCZ 64 typedef struct ymibufrec { - wchar16_t *ymibuf; - wchar16_t *ymiend; - struct ymibufrec *ymibufp; + wchar16_t* ymibuf; + wchar16_t* ymiend; + struct ymibufrec* ymibufp; } YmibufRec; +#define SJ3_NO -1 +#define SJ3_SJIS 0 +#define SJ3_EUC 1 -#define SJ3_NO -1 -#define SJ3_SJIS 0 -#define SJ3_EUC 1 +RkTabl* sj3_rcode[MAXCODE]; +RkTablW16* sj3_rcode_w16[MAXCODE]; +RkTablW16* rktblp; +wchar16_t rline[MAXLLEN]; +wchar16_t lstr[MAXLLEN]; +static wchar16_t intmp[MAXLLEN]; +static wchar16_t outtmp[MAXLLEN]; +static unsigned char mtmp[MAXLLEN]; +static int rk_erase; +static int rk_errin = 0; +static int rk_cflag; +static int rk_klen; +static int file_code = SJ3_NO; -RkTabl *sj3_rcode[MAXCODE]; -RkTablW16 *sj3_rcode_w16[MAXCODE]; -RkTablW16 *rktblp; -wchar16_t rline[MAXLLEN]; -wchar16_t lstr[MAXLLEN]; -static wchar16_t intmp[MAXLLEN]; -static wchar16_t outtmp[MAXLLEN]; -static unsigned char mtmp[MAXLLEN]; -static int rk_erase; -static int rk_errin = 0; -static int rk_cflag; -static int rk_klen; -static int file_code = SJ3_NO; +static RkbufRec rkpbuf, *rkpp = NULL; +static RkTablW16* rkhp; +static StrbufRec strpbuf, *strpp; +static wchar16_t* shp; +static YmibufRec ymipbuf, *ymipp; +static unsigned short* yhp; - -static RkbufRec rkpbuf, *rkpp = NULL; -static RkTablW16 *rkhp; -static StrbufRec strpbuf, *strpp; -static wchar16_t *shp; -static YmibufRec ymipbuf, *ymipp; -static unsigned short *yhp; - - -sj3_rkcode(code) -int code; +sj3_rkcode(code) int code; { - if (code) + if(code) file_code = SJ3_NO; } - - - -sj3_rkinit2(rkfile, erase) -char *rkfile; +sj3_rkinit2(rkfile, erase) char* rkfile; int erase; { rk_erase = erase; - return(sj3_rkinit_mb(rkfile)); + return (sj3_rkinit_mb(rkfile)); } -rcode_sjis_init() -{ - int i, rkeylen = 0, ryomilen = 0, rstrlen = 0; - int klen, ylen, slen, tablnum = 0, tablsize; - unsigned char *mbstr, *mptr, mtmp[BUFSIZ], mtmp2[BUFSIZ]; +rcode_sjis_init() { + int i, rkeylen = 0, ryomilen = 0, rstrlen = 0; + int klen, ylen, slen, tablnum = 0, tablsize; + unsigned char * mbstr, *mptr, mtmp[BUFSIZ], mtmp2[BUFSIZ]; unsigned short *wcstr, *wcptr; - RkTabl *tabl, *tabl_next, *tabl_prev; - RkTablW16 *tabl_w16; + RkTabl * tabl, *tabl_next, *tabl_prev; + RkTablW16* tabl_w16; tablsize = sizeof(RkTabl); - - for (i = 0; i < MAXCODE; i++) { - if (sj3_rcode_w16[i]) { + for(i = 0; i < MAXCODE; i++) { + if(sj3_rcode_w16[i]) { tabl_w16 = sj3_rcode_w16[i]; - while (tabl_w16) { + while(tabl_w16) { tablnum++; - if (tabl_w16->r_key) - rkeylen += wslen(tabl_w16->r_key) + 1; - if (tabl_w16->r_str) - rstrlen += wslen(tabl_w16->r_str) + 1; - if (tabl_w16->k_yomi) - ryomilen += wslen(tabl_w16->k_yomi) + 1; + if(tabl_w16->r_key) + rkeylen += wslen(tabl_w16->r_key) + 1; + if(tabl_w16->r_str) + rstrlen += wslen(tabl_w16->r_str) + 1; + if(tabl_w16->k_yomi) + ryomilen += wslen(tabl_w16->k_yomi) + 1; tabl_w16 = tabl_w16->next; } } } - if (!tablnum) - return 1; - tabl = (RkTabl *) malloc(tablnum * tablsize); - if (!tabl) { + if(!tablnum) + return 1; + tabl = (RkTabl*)malloc(tablnum * tablsize); + if(!tabl) { return 0; } memset(tabl, '\0', tablnum * tablsize); - mbstr = (unsigned char *) malloc(rkeylen + rstrlen); - if (!mbstr) { + mbstr = (unsigned char*)malloc(rkeylen + rstrlen); + if(!mbstr) { free(tabl); return 0; } memset(mbstr, '\0', rkeylen + rstrlen); - wcptr = wcstr = (unsigned short *) malloc(ryomilen * sizeof(unsigned short)); - if (!wcstr) { + wcptr = wcstr = (unsigned short*)malloc(ryomilen * sizeof(unsigned short)); + if(!wcstr) { free(tabl); free(mbstr); return 0; } - memset(wcptr, '\0', ryomilen * sizeof(unsigned short)); + memset(wcptr, '\0', ryomilen * sizeof(unsigned short)); rkeylen *= 2; rstrlen *= 2; - for (i = 0; i < MAXCODE; i++) { - if (sj3_rcode_w16[i]) { - tabl_w16 = sj3_rcode_w16[i]; + for(i = 0; i < MAXCODE; i++) { + if(sj3_rcode_w16[i]) { + tabl_w16 = sj3_rcode_w16[i]; tabl_next = sj3_rcode[i] = tabl; - while (tabl_w16) { - tabl += 1; - if (tabl_w16->r_key) { - if (current_locale == LC_CTYPE_EUC) { + while(tabl_w16) { + tabl += 1; + if(tabl_w16->r_key) { + if(current_locale == LC_CTYPE_EUC) { mptr = mtmp; } else { mptr = mbstr; } - if (wcstombs((char *)mptr, tabl_w16->r_key, BUFSIZ) == -1) { + if(wcstombs((char*)mptr, tabl_w16->r_key, BUFSIZ) == -1) { free(tabl); free(mbstr); free(wcstr); return 0; } - if (current_locale == LC_CTYPE_EUC) { - if ((klen = euctosjis(mbstr, rkeylen, mtmp, sizeof(mtmp))) < 0) { + if(current_locale == LC_CTYPE_EUC) { + if((klen = euctosjis(mbstr, rkeylen, mtmp, sizeof(mtmp))) < 0) { free(tabl); free(mbstr); free(wcstr); return 0; } } else { - klen = strlen((char *)mbstr); + klen = strlen((char*)mbstr); } tabl_next->r_key = mbstr; mbstr += klen + 1; @@ -226,27 +214,27 @@ rcode_sjis_init() } else { tabl_next->r_key = NULL; } - if (tabl_w16->r_str) { - if (current_locale == LC_CTYPE_EUC) { + if(tabl_w16->r_str) { + if(current_locale == LC_CTYPE_EUC) { mptr = mtmp; } else { mptr = mbstr; } - if (wcstombs((char *)mptr, tabl_w16->r_str, BUFSIZ) == -1) { + if(wcstombs((char*)mptr, tabl_w16->r_str, BUFSIZ) == -1) { free(tabl); free(mbstr); free(wcstr); return 0; } - if (current_locale == LC_CTYPE_EUC) { - if ((slen = euctosjis(mbstr, rstrlen, mtmp, sizeof(mtmp))) < 0) { + if(current_locale == LC_CTYPE_EUC) { + if((slen = euctosjis(mbstr, rstrlen, mtmp, sizeof(mtmp))) < 0) { free(tabl); free(mbstr); free(wcstr); return 0; } } else { - slen = strlen((char *)mbstr); + slen = strlen((char*)mbstr); } tabl_next->r_str = mbstr; mbstr += slen + 1; @@ -254,16 +242,16 @@ rcode_sjis_init() } else { tabl_next->r_str = NULL; } - if (tabl_w16->k_yomi) { + if(tabl_w16->k_yomi) { mptr = mtmp; - if (wcstombs((char *)mptr, tabl_w16->k_yomi, BUFSIZ) == -1) { + if(wcstombs((char*)mptr, tabl_w16->k_yomi, BUFSIZ) == -1) { free(tabl); free(mbstr); free(wcstr); return 0; } - if (current_locale == LC_CTYPE_EUC) { - if (euctosjis(mtmp2, sizeof(mtmp2), mtmp, sizeof(mtmp)) < 0) { + if(current_locale == LC_CTYPE_EUC) { + if(euctosjis(mtmp2, sizeof(mtmp2), mtmp, sizeof(mtmp)) < 0) { free(tabl); free(mbstr); free(wcstr); @@ -274,9 +262,9 @@ rcode_sjis_init() mptr = mtmp; } tabl_next->k_yomi = wcptr; - ylen = 0; - while (*mptr) { - if (issjis1(*mptr) && issjis2(mptr[1])) { + ylen = 0; + while(*mptr) { + if(issjis1(*mptr) && issjis2(mptr[1])) { *wcptr = (*mptr << 8) + mptr[1]; mptr++; } else { @@ -291,95 +279,92 @@ rcode_sjis_init() } else { tabl_next->k_yomi = NULL; } - tabl_w16 = tabl_w16->next; + tabl_w16 = tabl_w16->next; tabl_next->next = tabl; - tabl_prev = tabl_next; - tabl_next = tabl; + tabl_prev = tabl_next; + tabl_next = tabl; } tabl_prev->next = NULL; } } return 1; - } -rcode_euc_init() -{ - int i, rkeylen = 0, ryomilen = 0, rstrlen = 0; - int klen, ylen, slen, tablnum = 0, tablsize; - unsigned char *mbstr, *mptr, mtmp[BUFSIZ], mtmp2[BUFSIZ]; +rcode_euc_init() { + int i, rkeylen = 0, ryomilen = 0, rstrlen = 0; + int klen, ylen, slen, tablnum = 0, tablsize; + unsigned char * mbstr, *mptr, mtmp[BUFSIZ], mtmp2[BUFSIZ]; unsigned short *wcstr, *wcptr; - RkTabl *tabl, *tabl_next, *tabl_prev; - RkTablW16 *tabl_w16; + RkTabl * tabl, *tabl_next, *tabl_prev; + RkTablW16* tabl_w16; tablsize = sizeof(RkTabl); - - for (i = 0; i < MAXCODE; i++) { - if (sj3_rcode_w16[i]) { + for(i = 0; i < MAXCODE; i++) { + if(sj3_rcode_w16[i]) { tabl_w16 = sj3_rcode_w16[i]; - while (tabl_w16) { + while(tabl_w16) { tablnum++; - if (tabl_w16->r_key) - rkeylen += wslen(tabl_w16->r_key) + 1; - if (tabl_w16->r_str) - rstrlen += wslen(tabl_w16->r_str) + 1; - if (tabl_w16->k_yomi) - ryomilen += wslen(tabl_w16->k_yomi) + 1; + if(tabl_w16->r_key) + rkeylen += wslen(tabl_w16->r_key) + 1; + if(tabl_w16->r_str) + rstrlen += wslen(tabl_w16->r_str) + 1; + if(tabl_w16->k_yomi) + ryomilen += wslen(tabl_w16->k_yomi) + 1; tabl_w16 = tabl_w16->next; } } } - if (!tablnum) - return 1; - tabl = (RkTabl *) malloc(tablnum * tablsize); - if (!tabl) { + if(!tablnum) + return 1; + tabl = (RkTabl*)malloc(tablnum * tablsize); + if(!tabl) { return 0; } memset(tabl, '\0', tablnum * tablsize); - mbstr = (unsigned char *) malloc(rkeylen + rstrlen); - if (!mbstr) { + mbstr = (unsigned char*)malloc(rkeylen + rstrlen); + if(!mbstr) { free(tabl); return 0; } memset(mbstr, '\0', rkeylen + rstrlen); - wcptr = wcstr = (unsigned short *) malloc(ryomilen * sizeof(unsigned short)); - if (!wcstr) { + wcptr = wcstr = (unsigned short*)malloc(ryomilen * sizeof(unsigned short)); + if(!wcstr) { free(tabl); free(mbstr); return 0; } - memset(wcptr, '\0', ryomilen * sizeof(unsigned short)); + memset(wcptr, '\0', ryomilen * sizeof(unsigned short)); rkeylen *= 2; rstrlen *= 2; - for (i = 0; i < MAXCODE; i++) { - if (sj3_rcode_w16[i]) { - tabl_w16 = sj3_rcode_w16[i]; + for(i = 0; i < MAXCODE; i++) { + if(sj3_rcode_w16[i]) { + tabl_w16 = sj3_rcode_w16[i]; tabl_next = sj3_rcode[i] = tabl; - while (tabl_w16) { - tabl += 1; - if (tabl_w16->r_key) { - if (current_locale == LC_CTYPE_SHIFTJIS) { + while(tabl_w16) { + tabl += 1; + if(tabl_w16->r_key) { + if(current_locale == LC_CTYPE_SHIFTJIS) { mptr = mtmp; } else { mptr = mbstr; } - if (wcstombs((char *)mptr, tabl_w16->r_key, BUFSIZ) == -1) { + if(wcstombs((char*)mptr, tabl_w16->r_key, BUFSIZ) == -1) { free(tabl); free(mbstr); free(wcstr); return 0; } - if (current_locale == LC_CTYPE_SHIFTJIS) { - if ((klen = euctosjis(mbstr, rkeylen, mtmp, sizeof(mtmp))) < 0) { + if(current_locale == LC_CTYPE_SHIFTJIS) { + if((klen = euctosjis(mbstr, rkeylen, mtmp, sizeof(mtmp))) < 0) { free(tabl); free(mbstr); free(wcstr); return 0; } } else { - klen = strlen((char *)mbstr); + klen = strlen((char*)mbstr); } tabl_next->r_key = mbstr; mbstr += klen + 1; @@ -387,27 +372,27 @@ rcode_euc_init() } else { tabl_next->r_key = NULL; } - if (tabl_w16->r_str) { - if (current_locale == LC_CTYPE_SHIFTJIS) { + if(tabl_w16->r_str) { + if(current_locale == LC_CTYPE_SHIFTJIS) { mptr = mtmp; } else { mptr = mbstr; } - if (wcstombs((char *)mptr, tabl_w16->r_str, BUFSIZ) == -1) { + if(wcstombs((char*)mptr, tabl_w16->r_str, BUFSIZ) == -1) { free(tabl); free(mbstr); free(wcstr); return 0; } - if (current_locale == LC_CTYPE_SHIFTJIS) { - if ((slen = sjistoeuc(mbstr, rstrlen, mtmp, sizeof(mtmp))) < 0) { + if(current_locale == LC_CTYPE_SHIFTJIS) { + if((slen = sjistoeuc(mbstr, rstrlen, mtmp, sizeof(mtmp))) < 0) { free(tabl); free(mbstr); free(wcstr); return 0; } } else { - slen = strlen((char *)mbstr); + slen = strlen((char*)mbstr); } tabl_next->r_str = mbstr; mbstr += slen + 1; @@ -415,16 +400,16 @@ rcode_euc_init() } else { tabl_next->r_str = NULL; } - if (tabl_w16->k_yomi) { + if(tabl_w16->k_yomi) { mptr = mtmp; - if (wcstombs((char *)mptr, tabl_w16->k_yomi, BUFSIZ) == -1) { + if(wcstombs((char*)mptr, tabl_w16->k_yomi, BUFSIZ) == -1) { free(tabl); free(mbstr); free(wcstr); return 0; } - if (current_locale == LC_CTYPE_SHIFTJIS) { - if (sjistoeuc(mtmp2, sizeof(mtmp2), mtmp, sizeof(mtmp)) < 0) { + if(current_locale == LC_CTYPE_SHIFTJIS) { + if(sjistoeuc(mtmp2, sizeof(mtmp2), mtmp, sizeof(mtmp)) < 0) { free(tabl); free(mbstr); free(wcstr); @@ -435,9 +420,9 @@ rcode_euc_init() mptr = mtmp; } tabl_next->k_yomi = wcptr; - ylen = 0; - while (*mptr) { - if (iseuc(*mptr) && iseuc(mptr[1])) { + ylen = 0; + while(*mptr) { + if(iseuc(*mptr) && iseuc(mptr[1])) { *wcptr = (*mptr << 8) + mptr[1]; mptr++; } else { @@ -452,522 +437,485 @@ rcode_euc_init() } else { tabl_next->k_yomi = NULL; } - tabl_w16 = tabl_w16->next; + tabl_w16 = tabl_w16->next; tabl_next->next = tabl; - tabl_prev = tabl_next; - tabl_next = tabl; + tabl_prev = tabl_next; + tabl_next = tabl; } tabl_prev->next = NULL; } } return 1; - } -sj3_rkinit(rkfile) -char *rkfile; +sj3_rkinit(rkfile) char* rkfile; { return sj3_rkinit_sub(rkfile, rcode_sjis_init); } -sj3_rkinit_euc(rkfile) -char *rkfile; +sj3_rkinit_euc(rkfile) char* rkfile; { return sj3_rkinit_sub(rkfile, rcode_euc_init); } -sj3_rkinit_mb(rkfile) -char *rkfile; +sj3_rkinit_mb(rkfile) char* rkfile; { - if (current_locale == LC_CTYPE_EUC) - return sj3_rkinit_sub(rkfile, rcode_euc_init); + if(current_locale == LC_CTYPE_EUC) + return sj3_rkinit_sub(rkfile, rcode_euc_init); else - return sj3_rkinit_sub(rkfile, rcode_sjis_init); + return sj3_rkinit_sub(rkfile, rcode_sjis_init); } -sj3_rkinit_sub(rkfile, mbfunc) -char *rkfile; +sj3_rkinit_sub(rkfile, mbfunc) char* rkfile; int (*mbfunc)(); { - char *p; - int len, klen, rlen, retv; - FILE *fp, *fopen(); - char line[MAXLEN + 1]; - wchar16_t rkey[MAXWLEN + 1], rstr[MAXWLEN + 1]; + char* p; + int len, klen, rlen, retv; + FILE * fp, *fopen(); + char line[MAXLEN + 1]; + wchar16_t rkey[MAXWLEN + 1], rstr[MAXWLEN + 1]; unsigned short kstr[MAXWLEN + 1]; - char *strcpy(), *getkey(), *rkgetyomi(); - RkTablW16 *rktp, *mktable(); + char * strcpy(), *getkey(), *rkgetyomi(); + RkTablW16 * rktp, *mktable(); - if (rkfile == NULL || *rkfile == NSTR) + if(rkfile == NULL || *rkfile == NSTR) fp = stdin; - else if ((fp = fopen(rkfile, "r")) == NULL) - return(1); + else if((fp = fopen(rkfile, "r")) == NULL) + return (1); cltable(); line[MAXLEN - 1] = EOL; - retv = 0; + retv = 0; - - while ((p = fgets(line, MAXLEN + 1, fp)) != NULL) { - if (line[MAXLEN - 1] != EOL) { + while((p = fgets(line, MAXLEN + 1, fp)) != NULL) { + if(line[MAXLEN - 1] != EOL) { line[MAXLEN - 1] = EOL; continue; } - if (SKLINE(*p) || *p == '#') + if(SKLINE(*p) || *p == '#') continue; - if ((p = getkey(p, rkey, &len)) == NULL) + if((p = getkey(p, rkey, &len)) == NULL) continue; - if ((p = rkgetyomi(p, kstr, &klen)) == NULL) + if((p = rkgetyomi(p, kstr, &klen)) == NULL) continue; p = getkey(p, rstr, &rlen); - if (rlen > 0 && chk_rstr(rstr, rkey, rlen, len)) + if(rlen > 0 && chk_rstr(rstr, rkey, rlen, len)) rlen = 0; - if ((rktp = mktable(rkey, len)) == NULL) { + if((rktp = mktable(rkey, len)) == NULL) { fprintf(stderr, "Can't allocate memory for table\n"); retv = FAIL; break; } - if (rktp->k_yomi != NULL) + if(rktp->k_yomi != NULL) continue; - if (stradd(&(rktp->r_key), &rkey[1], len) == -1) { + if(stradd(&(rktp->r_key), &rkey[1], len) == -1) { fprintf(stderr, "Can't allocate memory for char\n"); retv = FAIL; break; } - if (kstradd(&(rktp->k_yomi), kstr, klen + 1) == -1) { + if(kstradd(&(rktp->k_yomi), kstr, klen + 1) == -1) { fprintf(stderr, "Can't allocate memory for short\n"); retv = FAIL; break; } - if (stradd(&(rktp->r_str), rstr, rlen + 1) == -1) { + if(stradd(&(rktp->r_str), rstr, rlen + 1) == -1) { fprintf(stderr, "Can't allocate memory for char\n"); retv = FAIL; break; } - } fclose(fp); - if (!(*mbfunc)()) - retv = FAIL; + if(!(*mbfunc)()) + retv = FAIL; sj3_rkclear(); - return(retv); + return (retv); } - - -char * -getkey(istr, ostr, len) -char *istr; -wchar16_t *ostr; -int *len; +char* getkey(istr, ostr, len) +char* istr; +wchar16_t* ostr; +int* len; { char c, *p; - int i; + int i; - while (ENDMARK(*istr)) + while(ENDMARK(*istr)) istr++; p = istr; i = 0; - while (!ENDMARK(*p)) { - if (SKLINE(*p)) + while(!ENDMARK(*p)) { + if(SKLINE(*p)) break; c = *p++; - - if ( c == BSL) { - if (SKLINE(*p)) + + if(c == BSL) { + if(SKLINE(*p)) break; c = *p++; - switch (c) { - case 'n' : - *ostr++ = (wchar16_t) EOL; + switch(c) { + case 'n': + *ostr++ = (wchar16_t)EOL; break; - case 't' : - *ostr++ = (wchar16_t) TAB; + case 't': + *ostr++ = (wchar16_t)TAB; break; - default : - *ostr++ = (wchar16_t) TOUPPER(c); + default: + *ostr++ = (wchar16_t)TOUPPER(c); } - } else if ( c == '^') { - if (*p >= '@' && *p <= '_') { - *ostr++ = (wchar16_t) (*p - '@'); + } else if(c == '^') { + if(*p >= '@' && *p <= '_') { + *ostr++ = (wchar16_t)(*p - '@'); p++; - } else if (*p == '?') { - *ostr++ = (wchar16_t) 0x7f; + } else if(*p == '?') { + *ostr++ = (wchar16_t)0x7f; p++; } else - *ostr++ = (wchar16_t) '^'; + *ostr++ = (wchar16_t)'^'; } else - *ostr++ = (wchar16_t) TOUPPER(c); - if (++i > MAXWLEN) { + *ostr++ = (wchar16_t)TOUPPER(c); + if(++i > MAXWLEN) { i = 0; break; } } - *ostr = (wchar16_t) NSTR; - *len = i; - if (i > 0) - return(p); - return(NULL); + *ostr = (wchar16_t)NSTR; + *len = i; + if(i > 0) + return (p); + return (NULL); } - - -char * -rkgetyomi(istr, ostr, len) -char *istr; -wchar16_t *ostr; -int *len; +char* rkgetyomi(istr, ostr, len) +char* istr; +wchar16_t* ostr; +int* len; { - unsigned char c; - unsigned char *p; - int i; + unsigned char c; + unsigned char* p; + int i; unsigned short cc; - while (ENDMARK(*istr)) + while(ENDMARK(*istr)) istr++; - p = (unsigned char *)istr; + p = (unsigned char*)istr; i = 0; - while (!ENDMARK(*p)) { - if (SKLINE(*p)) + while(!ENDMARK(*p)) { + if(SKLINE(*p)) break; cc = c = *p++; - if (file_code == SJ3_SJIS) { - if (issjis1(c) && issjis2(*p)) { + if(file_code == SJ3_SJIS) { + if(issjis1(c) && issjis2(*p)) { cc = (c << 8) + (*p & MASK); p++; cc = sjis2euc(cc); } - } else if (file_code == SJ3_EUC) { - if (iseuc(c) && iseuc(*p)) { + } else if(file_code == SJ3_EUC) { + if(iseuc(c) && iseuc(*p)) { cc = (c << 8) + (*p & MASK); p++; - } else if (iseuckana(c) && iskana2(*p)) { + } else if(iseuckana(c) && iskana2(*p)) { cc = *p++; - } - else if (IsEUCHojo(c) && iseuc(*p) && iseuc(p[1])) { + } else if(IsEUCHojo(c) && iseuc(*p) && iseuc(p[1])) { cc = WcSetX0212(*p, p[1]); p += 2; } } else { - if (issjis1(c) && issjis2(*p)) { + if(issjis1(c) && issjis2(*p)) { file_code = SJ3_SJIS; p--; continue; } - if ((iseuc(c) && iseuc(*p)) || (iseuckana(c) && - iskana2(*p)) || (IsEUCHojo(c) && iseuc(*p) && - iseuc(p[1]))) { + if((iseuc(c) && iseuc(*p)) || (iseuckana(c) && iskana2(*p)) || (IsEUCHojo(c) && iseuc(*p) && iseuc(p[1]))) { file_code = SJ3_EUC; p--; continue; } } - *ostr++ = (wchar16_t) cc; - if (++i > MAXWLEN) { + *ostr++ = (wchar16_t)cc; + if(++i > MAXWLEN) { i = 0; break; } } - *ostr = (wchar16_t) 0; - *len = i; - if (i > 0) - return((char *)p); - return(NULL); + *ostr = (wchar16_t)0; + *len = i; + if(i > 0) + return ((char*)p); + return (NULL); } - - -cltable() -{ +cltable() { int i; - if (rkpp != NULL) { - for (i = 0; i < MAXCODE; i++) { + if(rkpp != NULL) { + for(i = 0; i < MAXCODE; i++) { sj3_rcode_w16[i] = NULL; - sj3_rcode[i] = NULL; - } - rkpp = &rkpbuf; - rkhp = rkpp->rkbuf; - strpp = &strpbuf; - shp = strpp->strbuf; - ymipp = &ymipbuf; - yhp = ymipp->ymibuf; + sj3_rcode[i] = NULL; + } + rkpp = &rkpbuf; + rkhp = rkpp->rkbuf; + strpp = &strpbuf; + shp = strpp->strbuf; + ymipp = &ymipbuf; + yhp = ymipp->ymibuf; } } - - chk_rstr(rstr, rkey, rlen, klen) -wchar16_t *rstr, *rkey; + wchar16_t* rstr, + *rkey; int rlen, klen; { - int i; - wchar16_t *p; + int i; + wchar16_t* p; - if (rlen >= klen) - return(1); + if(rlen >= klen) + return (1); p = rkey; - while (rlen <= klen) { - if (wsncmp(rstr, p, rlen) == 0) - return(0); + while(rlen <= klen) { + if(wsncmp(rstr, p, rlen) == 0) + return (0); klen--; p++; } - return(1); + return (1); } +RkTablW16* +rkalloc() { + RkTablW16* rkp; + RkbufRec* rkbrp; - -RkTablW16 * -rkalloc() -{ - RkTablW16 *rkp; - RkbufRec *rkbrp; - - if (rkpp == NULL) { - rkp = (RkTablW16 *)malloc(RKSIZE * sizeof(RkTablW16)); - if (rkp == NULL) - return(NULL); - rkhp = rkp; - rkpp = &rkpbuf; + if(rkpp == NULL) { + rkp = (RkTablW16*)malloc(RKSIZE * sizeof(RkTablW16)); + if(rkp == NULL) + return (NULL); + rkhp = rkp; + rkpp = &rkpbuf; rkpp->rkbuf = rkp; rkpp->rkend = rkp + RKSIZE; - } else if (rkhp >= rkpp->rkend) { - rkp = (RkTablW16 *)malloc(RKINCZ * sizeof(RkTablW16)); - rkbrp = (RkbufRec *)malloc(sizeof(RkbufRec)); - if (rkp == NULL || rkbrp == NULL) - return(NULL); - rkhp = rkp; + } else if(rkhp >= rkpp->rkend) { + rkp = (RkTablW16*)malloc(RKINCZ * sizeof(RkTablW16)); + rkbrp = (RkbufRec*)malloc(sizeof(RkbufRec)); + if(rkp == NULL || rkbrp == NULL) + return (NULL); + rkhp = rkp; rkpp->rkbufp = rkbrp; - rkpp = rkbrp; - rkpp->rkbuf = rkp; - rkpp->rkend = rkp + RKINCZ; + rkpp = rkbrp; + rkpp->rkbuf = rkp; + rkpp->rkend = rkp + RKINCZ; } rkp = rkhp++; - - rkp->r_key = NULL; + + rkp->r_key = NULL; rkp->k_yomi = NULL; - rkp->r_str = NULL; - rkp->next = NULL; - return(rkp); + rkp->r_str = NULL; + rkp->next = NULL; + return (rkp); } - - stradd(cp, str, len) -wchar16_t **cp; -wchar16_t *str; -int len; + wchar16_t** cp; +wchar16_t* str; +int len; { - wchar16_t *strp; - StrbufRec *sbrp; + wchar16_t* strp; + StrbufRec* sbrp; - if (len <= 1) - return(0); - if (strpp == NULL) { - strp = (wchar16_t *)malloc(STRSIZE * sizeof(wchar16_t)); - if (strp == NULL) - return(-1); - shp = strp; - strpp = &strpbuf; + if(len <= 1) + return (0); + if(strpp == NULL) { + strp = (wchar16_t*)malloc(STRSIZE * sizeof(wchar16_t)); + if(strp == NULL) + return (-1); + shp = strp; + strpp = &strpbuf; strpp->strbuf = strp; strpp->strend = strp + STRSIZE; - } else if (shp + len >= strpp->strend) { - strp = (wchar16_t *)malloc(STRINCZ * sizeof(wchar16_t)); - sbrp = (StrbufRec *)malloc(sizeof(StrbufRec)); - if (strp == NULL || sbrp == NULL) - return(-1); - shp = strp; + } else if(shp + len >= strpp->strend) { + strp = (wchar16_t*)malloc(STRINCZ * sizeof(wchar16_t)); + sbrp = (StrbufRec*)malloc(sizeof(StrbufRec)); + if(strp == NULL || sbrp == NULL) + return (-1); + shp = strp; strpp->strbufp = sbrp; - strpp = sbrp; - strpp->strbuf = strp; - strpp->strend = strp + STRINCZ; + strpp = sbrp; + strpp->strbuf = strp; + strpp->strend = strp + STRINCZ; } *cp = shp; wscpy(shp, str); shp += len; - return(0); + return (0); } - - kstradd(cp, kstr, len) -wchar16_t **cp, *kstr; + wchar16_t** cp, + *kstr; int len; { - int i; - wchar16_t *usp; - YmibufRec *ybrp; + int i; + wchar16_t* usp; + YmibufRec* ybrp; - if (len <= 1) - return(0); - if (ymipp == NULL) { - usp = (wchar16_t *)malloc(YMISIZE * sizeof(wchar16_t)); - if (usp == NULL) - return(-1); - yhp = usp; - ymipp = &ymipbuf; + if(len <= 1) + return (0); + if(ymipp == NULL) { + usp = (wchar16_t*)malloc(YMISIZE * sizeof(wchar16_t)); + if(usp == NULL) + return (-1); + yhp = usp; + ymipp = &ymipbuf; ymipp->ymibuf = usp; ymipp->ymiend = usp + YMISIZE; - } else if (yhp + len >= ymipp->ymiend) { - usp = (wchar16_t *)malloc(YMIINCZ * sizeof(wchar16_t)); - ybrp = (YmibufRec *)malloc(sizeof(YmibufRec)); - if (usp == NULL || ybrp == NULL) - return(-1); - yhp = usp; + } else if(yhp + len >= ymipp->ymiend) { + usp = (wchar16_t*)malloc(YMIINCZ * sizeof(wchar16_t)); + ybrp = (YmibufRec*)malloc(sizeof(YmibufRec)); + if(usp == NULL || ybrp == NULL) + return (-1); + yhp = usp; ymipp->ymibufp = ybrp; - ymipp = ybrp; - ymipp->ymibuf = usp; - ymipp->ymiend = usp + YMIINCZ; + ymipp = ybrp; + ymipp->ymibuf = usp; + ymipp->ymiend = usp + YMIINCZ; } *cp = yhp; - for (i = 0; i < len; i++) + for(i = 0; i < len; i++) *yhp++ = *kstr++; - return(0); + return (0); } - - -RkTablW16 * -mktable(key, len) -wchar16_t *key; -int len; +RkTablW16* + mktable(key, len) +wchar16_t* key; +int len; { - int i; - RkTablW16 *nrktp, *orktp; - RkTablW16 *rktp; + int i; + RkTablW16 * nrktp, *orktp; + RkTablW16* rktp; unsigned int code; nrktp = NULL; orktp = NULL; - code = *key++ & MASK; - rktp = sj3_rcode_w16[code]; - while (rktp != NULL) { - if (rktp->r_key == NULL) { - if (*key == NSTR) - return(rktp); + code = *key++ & MASK; + rktp = sj3_rcode_w16[code]; + while(rktp != NULL) { + if(rktp->r_key == NULL) { + if(*key == NSTR) + return (rktp); nrktp = rktp; break; } - if ((i = wscmp(key, rktp->r_key)) == 0) - return(rktp); - if (i > 0 && (wslen(rktp->r_key) < len)) { + if((i = wscmp(key, rktp->r_key)) == 0) + return (rktp); + if(i > 0 && (wslen(rktp->r_key) < len)) { nrktp = rktp; break; } orktp = rktp; - rktp = orktp->next; + rktp = orktp->next; } - if ((rktp = rkalloc()) == NULL) - return(NULL); - if (sj3_rcode_w16[code] == NULL) + if((rktp = rkalloc()) == NULL) + return (NULL); + if(sj3_rcode_w16[code] == NULL) sj3_rcode_w16[code] = rktp; else { - if (nrktp != NULL) { + if(nrktp != NULL) { rktp->next = nrktp; - if (orktp == NULL) + if(orktp == NULL) sj3_rcode_w16[code] = rktp; else orktp->next = rktp; } else orktp->next = rktp; } - return(rktp); + return (rktp); } - - -sj3_rkebell(err) -int err; +sj3_rkebell(err) int err; { rk_errin = err; } - - -sj3_rkclear() -{ +sj3_rkclear() { rline[0] = NSTR; - lstr[0] = NSTR; - rktblp = NULL; - rk_klen = 0; + lstr[0] = NSTR; + rktblp = NULL; + rk_klen = 0; sj3_rkreset(); } -sj3_rkreset() -{ +sj3_rkreset() { rk_cflag = -1; } - - sj3_rkconvc(c, rkstr) -wchar16_t c; -unsigned int *rkstr; + wchar16_t c; +unsigned int* rkstr; { - int i; - wchar16_t *p, *q; - int len; - wchar16_t wstr[MAXLLEN]; + int i; + wchar16_t * p, *q; + int len; + wchar16_t wstr[MAXLLEN]; unsigned int kstr[MAXLLEN], *kp; len = wslen(rline); - if (c == rk_erase) { - if (rk_cflag == 0) { + if(c == rk_erase) { + if(rk_cflag == 0) { for(i = 0; i < len; i++) *rkstr++ = ERRCODE + rk_erase; - for (i = 0; i < rk_klen; i++) + for(i = 0; i < rk_klen; i++) *rkstr++ = rk_erase; p = lstr; q = rline; while(*p != NSTR) { - *q++ = *p; + *q++ = *p; *rkstr++ = ERRCODE + *p++; } - *q = NSTR; - rktblp = NULL; + *q = NSTR; + rktblp = NULL; rk_cflag = -1; } else { - if (len <= 0) + if(len <= 0) *rkstr++ = rk_erase; else *rkstr++ = ERRCODE + rk_erase; rk_cflag--; - if (len <= 1) { - rktblp = NULL; + if(len <= 1) { + rktblp = NULL; rline[0] = NSTR; } else rline[--len] = NSTR; } - } else { - rline[len] = c; + } else { + rline[len] = c; rline[len + 1] = NSTR; wscpy(wstr, rline); - if ((i = sj3_rkconv2(wstr, kstr, len)) == CONTINUE) { - if (rk_cflag >= 0) + if((i = sj3_rkconv2(wstr, kstr, len)) == CONTINUE) { + if(rk_cflag >= 0) rk_cflag++; *rkstr++ = ERRCODE + c; - } else if (i == NOMACH) { + } else if(i == NOMACH) { rline[len] = NSTR; - *rkstr++ = ERRBEL; + *rkstr++ = ERRBEL; } else { rk_cflag = 0; - rk_klen = i; - for (i = 0; i < len; i++) + rk_klen = i; + for(i = 0; i < len; i++) *rkstr++ = ERRCODE + rk_erase; kp = kstr; - while (*kp != 0) + while(*kp != 0) *rkstr++ = *kp++; wscpy(lstr, rline); lstr[len] = NSTR; - p = wstr; - q = rline; + p = wstr; + q = rline; while(*p != NSTR) { *rkstr++ = ERRCODE + *p; - *q++ = *p++; + *q++ = *p++; } *q = NSTR; } @@ -975,36 +923,34 @@ unsigned int *rkstr; *rkstr = RKEND; } - - sj3_rkconv2(wstr, kstr, wlen) -wchar16_t *wstr; -unsigned int *kstr; -int wlen; + wchar16_t* wstr; +unsigned int* kstr; +int wlen; { - int i; - wchar16_t *p, *q, *s; - int rlen, len; - wchar16_t svstr[MAXLLEN]; - RkTablW16 *rktp; - unsigned short *kp; + int i; + wchar16_t * p, *q, *s; + int rlen, len; + wchar16_t svstr[MAXLLEN]; + RkTablW16* rktp; + unsigned short* kp; len = 0; - if ((rktp = rktblp) == NULL) + if((rktp = rktblp) == NULL) rktp = sj3_rcode_w16[WTOUPPER(*wstr)]; - if (*wstr > (wchar16_t) 0xff) rktp = NULL; + if(*wstr > (wchar16_t)0xff) rktp = NULL; while(1) { while(rktp != NULL) { rlen = rkmatch((wstr + 1), rktp->r_key, wlen); - if (rlen == CONTINUE) { + if(rlen == CONTINUE) { rktblp = rktp; break; - } else if (rlen != NOMACH) { + } else if(rlen != NOMACH) { kp = rktp->k_yomi; - if ((s = rktp->r_str) != NULL) + if((s = rktp->r_str) != NULL) i = wslen(s); - else + else i = 0; *kstr++ = SetMojilen(rlen - i) + *kp++; len++; @@ -1014,10 +960,10 @@ int wlen; } p = (wstr + rlen); q = svstr; - if (i > 0) { + if(i > 0) { p -= i; - while (*s != NSTR) { - if (*s == WTOUPPER(*p)) + while(*s != NSTR) { + if(*s == WTOUPPER(*p)) *q = *p; else *q = *s; @@ -1026,8 +972,8 @@ int wlen; s++; } } - if (rlen <= wlen) { - while (*p != NSTR) { + if(rlen <= wlen) { + while(*p != NSTR) { *q++ = *p++; } *q = NSTR; @@ -1044,25 +990,25 @@ int wlen; } rktp = rktp->next; } - if (rktp == NULL) { - if (wlen <= 0) { + if(rktp == NULL) { + if(wlen <= 0) { *kstr++ = SetMojilen(1) + *wstr; - *wstr = NSTR; - rktblp = NULL; + *wstr = NSTR; + rktblp = NULL; len++; - } else if (rk_errin) { + } else if(rk_errin) { len = NOMACH; } else { *kstr++ = SetMojilen(1) + *wstr; len++; p = wstr; - for (i = 0; i < wlen; i++) { + for(i = 0; i < wlen; i++) { *p = *(p + 1); p++; } - *p = NSTR; + *p = NSTR; rktp = sj3_rcode_w16[WTOUPPER(*wstr)]; - if (*wstr > (wchar16_t) 0xff) rktp = NULL; + if(*wstr > (wchar16_t)0xff) rktp = NULL; wlen--; continue; } @@ -1070,137 +1016,131 @@ int wlen; *kstr = 0; break; } - return(len); + return (len); } +int sj3_rkconv_w16(wchar16_t*, wchar16_t*); - - -int sj3_rkconv_w16(wchar16_t *, wchar16_t *); - -sj3_rkconv(romaji, kana) -unsigned char *romaji; -unsigned char *kana; +sj3_rkconv(romaji, kana) unsigned char* romaji; +unsigned char* kana; { - wchar16_t *wstr; - int len, mflag = 0, ret; + wchar16_t* wstr; + int len, mflag = 0, ret; - len = strlen((char *)romaji) + 1; - if (len > (sizeof(intmp) / sizeof(wchar16_t))) { - wstr = (wchar16_t *) malloc(len * sizeof(wchar16_t)); - if (!wstr) return -1; + len = strlen((char*)romaji) + 1; + if(len > (sizeof(intmp) / sizeof(wchar16_t))) { + wstr = (wchar16_t*)malloc(len * sizeof(wchar16_t)); + if(!wstr) return -1; mflag = 1; } else { - wstr = (wchar16_t *) intmp; + wstr = (wchar16_t*)intmp; } - if (mbstowcs(wstr, (char *)romaji, len) == -1) { - if (mflag) free(wstr); + if(mbstowcs(wstr, (char*)romaji, len) == -1) { + if(mflag) free(wstr); return -1; } ret = sj3_rkconv_w16(wstr, outtmp); - if (ret == 0 || ret == -1) { - if (mflag) free(wstr); + if(ret == 0 || ret == -1) { + if(mflag) free(wstr); return ret; } - if (wcstombs((char *)mtmp, outtmp, sizeof(outtmp)) == -1) { - if (mflag) free(wstr); + if(wcstombs((char*)mtmp, outtmp, sizeof(outtmp)) == -1) { + if(mflag) free(wstr); return -1; } - if (wcstombs((char *)romaji, wstr, len) == -1) { - if (mflag) free(wstr); + if(wcstombs((char*)romaji, wstr, len) == -1) { + if(mflag) free(wstr); return -1; } - if (current_locale == LC_CTYPE_EUC) { - len = euctosjis(kana, MAXLLEN*2, mtmp, sizeof(mtmp)); + if(current_locale == LC_CTYPE_EUC) { + len = euctosjis(kana, MAXLLEN * 2, mtmp, sizeof(mtmp)); } else { - (void) memcpy(kana, mtmp, strlen((char *)mtmp) + 1); + (void)memcpy(kana, mtmp, strlen((char*)mtmp) + 1); } - if (mflag) free(wstr); - if (len > 0) { + if(mflag) free(wstr); + if(len > 0) { return ret; } else { return len; } } -sj3_rkconv_euc(romaji, kana) -unsigned char *romaji; -unsigned char *kana; +sj3_rkconv_euc(romaji, kana) unsigned char* romaji; +unsigned char* kana; { - wchar16_t *wstr; - int len, mflag = 0, ret; + wchar16_t* wstr; + int len, mflag = 0, ret; - len = strlen((char *)romaji) + 1; - if (len > sizeof(intmp)) { - wstr = (wchar16_t *) malloc(len * sizeof(wchar16_t)); - if (!wstr) return -1; + len = strlen((char*)romaji) + 1; + if(len > sizeof(intmp)) { + wstr = (wchar16_t*)malloc(len * sizeof(wchar16_t)); + if(!wstr) return -1; mflag = 1; } else { - wstr = (wchar16_t *) intmp; + wstr = (wchar16_t*)intmp; } - if (mbstowcs(wstr, (char *)romaji, len) == -1) { - if (mflag) free(wstr); + if(mbstowcs(wstr, (char*)romaji, len) == -1) { + if(mflag) free(wstr); return -1; } ret = sj3_rkconv_w16(wstr, outtmp); - if (ret == 0 || ret == -1) { - if (mflag) free(wstr); + if(ret == 0 || ret == -1) { + if(mflag) free(wstr); return ret; } - if (wcstombs((char *)mtmp, outtmp, sizeof(outtmp)) == -1) { - if (mflag) free(wstr); + if(wcstombs((char*)mtmp, outtmp, sizeof(outtmp)) == -1) { + if(mflag) free(wstr); return -1; } - if (wcstombs((char *)romaji, wstr, len) == -1) { - if (mflag) free(wstr); + if(wcstombs((char*)romaji, wstr, len) == -1) { + if(mflag) free(wstr); return -1; } - if (current_locale == LC_CTYPE_EUC) { - (void) memcpy(kana, mtmp, strlen((char *)mtmp) + 1); + if(current_locale == LC_CTYPE_EUC) { + (void)memcpy(kana, mtmp, strlen((char*)mtmp) + 1); } else { - len = sjistoeuc(kana, MAXLLEN*2, mtmp, sizeof(mtmp)); + len = sjistoeuc(kana, MAXLLEN * 2, mtmp, sizeof(mtmp)); } - if (mflag) free(wstr); - if (len > 0) { + if(mflag) free(wstr); + if(len > 0) { return ret; } else { return len; } } -sj3_rkconv_mb(romaji, kana) -unsigned char *romaji; -unsigned char *kana; +sj3_rkconv_mb(romaji, kana) unsigned char* romaji; +unsigned char* kana; { - if (current_locale == LC_CTYPE_EUC) - return sj3_rkconv_euc(romaji, kana); + if(current_locale == LC_CTYPE_EUC) + return sj3_rkconv_euc(romaji, kana); else - return sj3_rkconv(romaji, kana); + return sj3_rkconv(romaji, kana); } -int sj3_rkconv_w16(wstr, kstr) -wchar16_t *wstr; -wchar16_t *kstr; +int sj3_rkconv_w16(wstr, kstr) +wchar16_t* wstr; +wchar16_t* kstr; { - int i; - wchar16_t *p, *q, *s; - unsigned short cc; - int rlen, len; - wchar16_t svstr[MAXLLEN]; - RkTablW16 *rktp; - unsigned short *kp; + int i; + wchar16_t * p, *q, *s; + unsigned short cc; + int rlen, len; + wchar16_t svstr[MAXLLEN]; + RkTablW16* rktp; + unsigned short* kp; - len = wslen(wstr); + len = wslen(wstr); rktp = sj3_rcode_w16[WTOUPPER(*wstr)]; - if (*wstr > (wchar16_t) 0xff) rktp = NULL; + if(*wstr > (wchar16_t)0xff) rktp = NULL; while(rktp != NULL) { rlen = rkmatch((wstr + 1), rktp->r_key, len - 1); - if (rlen == CONTINUE) { + if(rlen == CONTINUE) { break; - } else if (rlen != NOMACH) { + } else if(rlen != NOMACH) { kp = rktp->k_yomi; while((cc = *kp++) != 0) { *kstr++ = cc; @@ -1208,12 +1148,12 @@ wchar16_t *kstr; wscpy(svstr, wstr); q = wstr; p = svstr; - if ((s = rktp->r_str) != NULL) { + if((s = rktp->r_str) != NULL) { p += rlen; i = wslen(s); p -= i; - while (*s != NSTR) { - if (*s == WTOUPPER(*p)) + while(*s != NSTR) { + if(*s == WTOUPPER(*p)) *q = *p; else *q = *s; @@ -1222,10 +1162,10 @@ wchar16_t *kstr; s++; } } - if (rlen < len) { + if(rlen < len) { p = svstr; p += rlen; - while (*p != NSTR) + while(*p != NSTR) *q++ = *p++; } *q = NSTR; @@ -1233,38 +1173,37 @@ wchar16_t *kstr; } rktp = rktp->next; } - if (rktp == NULL && len <= 1) { + if(rktp == NULL && len <= 1) { *kstr++ = *wstr; - *wstr = NSTR; - rlen = 1; + *wstr = NSTR; + rlen = 1; } *kstr = NSTR; - return(rlen); + return (rlen); } - - rkmatch(s1, s2, len) -wchar16_t *s1, *s2; + wchar16_t* s1, + *s2; int len; { int i; i = 1; - if (s2 == NULL) - return(i); - for (; i < len + 1; i++) { - if (*s1 > (wchar16_t) 0xff) - return(NOMACH); - if (WTOUPPER(*s1) != *s2) { - if (*s2 != NSTR) - return(NOMACH); + if(s2 == NULL) + return (i); + for(; i < len + 1; i++) { + if(*s1 > (wchar16_t)0xff) + return (NOMACH); + if(WTOUPPER(*s1) != *s2) { + if(*s2 != NSTR) + return (NOMACH); break; } s1++; s2++; } - if (*s2 != NSTR) + if(*s2 != NSTR) i = CONTINUE; - return(i); + return (i); } diff --git a/romaji.c b/romaji.c index 048cb9c..0d7b19b 100644 --- a/romaji.c +++ b/romaji.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,80 +28,76 @@ */ /* - * $SonyRCSfile: romaji.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: romaji.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1997/01/23 11:09:37 $ */ - - #include "common.h" #include "rk.h" #include "key.h" extern int rkerrbell; - - exec_romaji(c) -wchar16_t c; + wchar16_t c; { - Conversion *cv; - wchar16_t *p; + Conversion* cv; + wchar16_t* p; unsigned short c1, cc; - unsigned int c2; + unsigned int c2; unsigned short op; - unsigned char mode; - int len, i; - unsigned int rkstr[MAXLLEN], *rkp; - extern char erase_str[]; + unsigned char mode; + int len, i; + unsigned int rkstr[MAXLLEN], *rkp; + extern char erase_str[]; - cv = GetConversion (); + cv = GetConversion(); op = cv->out_point; - if (!is_bs(c) && BuffYes()) { - if ((unsigned int) cv->ha_point + hs_point >= BUFFLENGTH - 2 && - !iswcntrl(c)) { + if(!is_bs(c) && BuffYes()) { + if((unsigned int)cv->ha_point + hs_point >= BUFFLENGTH - 2 && + !iswcntrl(c)) { beep(); - return(1); + return (1); } cv->Halpha[cv->ha_point++] = c; } - - if ((mode = cv->Imode) & MODE_CONV) { + + if((mode = cv->Imode) & MODE_CONV) { sj3_rkconvc(c, rkstr); - } else if (mode == MODE_CODE) { + } else if(mode == MODE_CODE) { codeconv(c, rkstr); } else { rkstr[0] = SetMojilen(1) + c; rkstr[1] = RKEND; } - + rkp = rkstr; - i = 1; + i = 1; while(*rkp != RKEND) { c1 = ((c2 = *rkp++) & RKMASK); - if (c2 == ERRBEL) { + if(c2 == ERRBEL) { beep(); cv->ha_point--; break; } - if (is_bs(c1)) { - if (op <= 0) { - if (os_point <= 0) { + if(is_bs(c1)) { + if(op <= 0) { + if(os_point <= 0) { master_write(erase_str, 1); - } + } } else { - if (WcIsZENKAKU(cv->out_buf[op - 1])) { + if(WcIsZENKAKU(cv->out_buf[op - 1])) { vbackchar(2); - op -=1; + op -= 1; } else { vbackchar(1); op--; } cv->out_point = op; - if (BuffYes() && is_bs(c)) { - if (!(cv->out_mode[op] & OMODE_MASK)) + if(BuffYes() && is_bs(c)) { + if(!(cv->out_mode[op] & OMODE_MASK)) chhstr(cv->Halpha, cv->out_buf, cv->out_mode, op); cv->ha_point = getipos(op); @@ -109,111 +105,108 @@ wchar16_t c; } continue; } - if (WcIsZENKAKU(c1)) { - if (op >= 1 && (cc = addten(op - 1, c1)) != 0) { + if(WcIsZENKAKU(c1)) { + if(op >= 1 && (cc = addten(op - 1, c1)) != 0) { c1 = cc; vbackchar(2); op -= 1; cv->out_point = op; - len = cv->out_mode[op] + GetMojilen(c2); - c2 = SetMojilen(len); + len = cv->out_mode[op] + GetMojilen(c2); + c2 = SetMojilen(len); } else { - if (!GetMojilen(c2) && (mode == MODE_CODE)) - c2 = SetMojilen(1); + if(!GetMojilen(c2) && (mode == MODE_CODE)) + c2 = SetMojilen(1); } - if (mode == MODE_ZKATA) { + if(mode == MODE_ZKATA) { c1 = sj_tokata(c1); - } else if (mode == MODE_HKATA) { + } else if(mode == MODE_HKATA) { c1 = sj_zen2han(c1); } - } else { - if ((c2 & ERRCODE) && is_bs(c)) + } else { + if((c2 & ERRCODE) && is_bs(c)) cv->Halpha[cv->ha_point++] = c1; - if (WcIsKANJI(c1)) { + if(WcIsKANJI(c1)) { c2 = SetMojilen(1); - } else if (iswcntrl(c1) && !(c2 & ERRCODE)) { - if (BuffYes()) + } else if(iswcntrl(c1) && !(c2 & ERRCODE)) { + if(BuffYes()) cv->ha_point--; sj3_rkreset(); i = 0; break; - } else if (mode & MODE_ZEN) { + } else if(mode & MODE_ZEN) { c1 = sj_han2zen(c1); - if (mode == MODE_ZKATA) + if(mode == MODE_ZKATA) c1 = sj_tokata(c1); - if (op >=1 && (cc = addten(op-1, c1)) != 0){ + if(op >= 1 && (cc = addten(op - 1, c1)) != 0) { c1 = cc; vbackchar(2); - op --; + op--; cv->out_point = op; - len = cv->out_mode[op] - + GetMojilen(c2); - c2 = SetMojilen(len); + len = cv->out_mode[op] + GetMojilen(c2); + c2 = SetMojilen(len); } } } - if ((unsigned int)cv->out_point + os_point >= BUFFLENGTH * 2 - 2) { + if((unsigned int)cv->out_point + os_point >= BUFFLENGTH * 2 - 2) { beep(); op = cv->out_point; break; } - if (WcIsZENKAKU(c1)) { - cv->out_buf[op] = c1; - cv->in_mode[op] = mode; + if(WcIsZENKAKU(c1)) { + cv->out_buf[op] = c1; + cv->in_mode[op] = mode; cv->out_mode[op++] = GetMojilen(c2); - if (mode == MODE_HKATA || WcIsKANA(cv->out_buf[op - 1])) { + if(mode == MODE_HKATA || WcIsKANA(cv->out_buf[op - 1])) { cv->out_buf[op - 1] = c1 >> 8; - cv->out_buf[op] = c1 &MASK; - cv->in_mode[op] = mode; - cv->out_mode[op++] = 0; + cv->out_buf[op] = c1 & MASK; + cv->in_mode[op] = mode; + cv->out_mode[op++] = 0; sj3_rkreset(); } } else { - cv->out_buf[op] = c1; - cv->in_mode[op] = mode; + cv->out_buf[op] = c1; + cv->in_mode[op] = mode; cv->out_mode[op++] = GetMojilen(c2); } - if (!BuffYes() && !(c2 & ERRCODE)) { + if(!BuffYes() && !(c2 & ERRCODE)) { cv->out_buf[op] = '\0'; master_out(cv->out_buf, op); sj3_rkreset(); op = 0; } } - cv->out_buf[op] = '\0'; + cv->out_buf[op] = '\0'; cv->Halpha[cv->ha_point] = '\0'; - if (is_bs(c) && op <= 0 && os_point <= 0) { + if(is_bs(c) && op <= 0 && os_point <= 0) { ResetHenkan(); - if (BuffYes()) { + if(BuffYes()) { SetCflag(); buffers_clear(); } - } - else if ((len = op - cv->out_point) > 0) { + } else if((len = op - cv->out_point) > 0) { p = &cv->out_buf[cv->out_point]; - if (BuffYes() && IsCflag ()) { - Csave (); - ClearCflag (); + if(BuffYes() && IsCflag()) { + Csave(); + ClearCflag(); } - if (mode & MODE_ZEN) { - if (!BuffYes() && len == 2) + if(mode & MODE_ZEN) { + if(!BuffYes() && len == 2) Csave(); vprintU(p, 1); } else { - if (!BuffYes() && len == 1) + if(!BuffYes() && len == 1) Csave(); vprintU(p, 0); } } cv->out_point = op; - return(i); + return (i); } -move_cur(kval) -int kval; +move_cur(kval) int kval; { - Conversion *cv; - int i; + Conversion* cv; + int i; cv = GetConversion(); switch(kval) { @@ -222,112 +215,110 @@ int kval; break; case KEY_END: cv->out_point = cv->out_epoint; - cv->ha_point = cv->ha_epoint; + cv->ha_point = cv->ha_epoint; break; case KEY_LEFT: - if ((i = cv->out_point) > 0) { + if((i = cv->out_point) > 0) { i--; - if (i > 0 && (WcIsZENKAKU(cv->out_buf[i]))) + if(i > 0 && (WcIsZENKAKU(cv->out_buf[i]))) i--; cv->out_point = i; } break; case KEY_RIGHT: - if ((i = cv->out_point) < cv->out_epoint) { + if((i = cv->out_point) < cv->out_epoint) { i++; - if (i < cv->out_epoint && (WcIsZENKAKU(cv->out_buf[i]))) + if(i < cv->out_epoint && (WcIsZENKAKU(cv->out_buf[i]))) i++; cv->out_point = i; - if (cv->out_point >= cv->out_epoint) + if(cv->out_point >= cv->out_epoint) cv->ha_point = cv->ha_epoint; } break; } - if (cv->out_point != cv->Vlen) { + if(cv->out_point != cv->Vlen) { Cgoto(cv->out_point); - if (cv->out_point == cv->out_epoint) { + if(cv->out_point == cv->out_epoint) { os_point = 0; hs_point = 0; } } } -addten(pos, c) -unsigned short pos, c; +addten(pos, c) unsigned short pos, c; { unsigned short prefix; - Conversion *cv; + Conversion* cv; - cv = GetConversion(); + cv = GetConversion(); prefix = cv->out_buf[pos]; - return(sj_addten(prefix, c)); + return (sj_addten(prefix, c)); } -getipos(pos) -unsigned short pos; +getipos(pos) unsigned short pos; { - Conversion *cv; + Conversion* cv; cv = GetConversion(); - return(getipos2(cv->out_mode, pos)); + return (getipos2(cv->out_mode, pos)); } -getipos2(omode, pos) -unsigned short *omode; +getipos2(omode, pos) unsigned short* omode; unsigned short pos; { unsigned short ipos; - int i; + int i; ipos = 0; - for (i = 0; i < (unsigned int)pos; i++) { + for(i = 0; i < (unsigned int)pos; i++) { ipos += omode[i] & OMODE_MASK; } - return(ipos); + return (ipos); } sj_rkconv(s1, s2, len) -wchar16_t *s1, *s2; + wchar16_t* s1, + *s2; int len; { - int i, rlen; - unsigned int *kp; - int res, klen; - wchar16_t roma[SHORTBUFFSIZE + 1]; - unsigned int kstr[MAXLLEN]; + int i, rlen; + unsigned int* kp; + int res, klen; + wchar16_t roma[SHORTBUFFSIZE + 1]; + unsigned int kstr[MAXLLEN]; sj3_rkebell(0); klen = 0; - res = 0; - while (len > 0) { - if (len + res > SHORTBUFFSIZE) { + res = 0; + while(len > 0) { + if(len + res > SHORTBUFFSIZE) { i = SHORTBUFFSIZE - res; len -= i; } else { - i = len; + i = len; len = 0; } Strncpy(&roma[res], s2, i); s2 += i; roma[res + i] = '\0'; - rlen = sj3_rkconv2(roma, kstr, i + res - 1); - res = wslen(roma); - if (rlen > 0) { + rlen = sj3_rkconv2(roma, kstr, i + res - 1); + res = wslen(roma); + if(rlen > 0) { kp = kstr; - while (*kp != 0) { - *s1++ = (wchar16_t) *kp++; + while(*kp != 0) { + *s1++ = (wchar16_t)*kp++; klen++; } } } - if (res > 0) { - roma[res] = 0x0a; + if(res > 0) { + roma[res] = 0x0a; roma[res + 1] = '\0'; - rlen = sj3_rkconv2(roma, kstr, res); - if (rlen > 0) { + rlen = sj3_rkconv2(roma, kstr, res); + if(rlen > 0) { kp = kstr; - while ((*kp & RKMASK) != 0x0a && *kp != 0) { - *s1++ = (wchar16_t) *kp++; + while((*kp & RKMASK) != 0x0a && *kp != 0) { + *s1++ = (wchar16_t)*kp++; klen++; } } else { @@ -339,108 +330,109 @@ int len; } *s1 = '\0'; sj3_rkebell(rkerrbell); - return(klen); + return (klen); } sj_rkconv2(s1, s2, omode, len) -wchar16_t *s1, *s2; -unsigned short *omode; -int len; + wchar16_t* s1, + *s2; +unsigned short* omode; +int len; { - int i, rlen; - unsigned int *kp; - int res, klen, mlen; + int i, rlen; + unsigned int* kp; + int res, klen, mlen; unsigned short cc, c, prefix; - wchar16_t roma[SHORTBUFFSIZE + 1]; - unsigned int kstr[BUFFLENGTH]; + wchar16_t roma[SHORTBUFFSIZE + 1]; + unsigned int kstr[BUFFLENGTH]; sj3_rkebell(0); - klen = 0; - res = 0; + klen = 0; + res = 0; prefix = 0; - while (len > 0) { - if (len + res > SHORTBUFFSIZE) { + while(len > 0) { + if(len + res > SHORTBUFFSIZE) { i = SHORTBUFFSIZE - res; len -= i; } else { - i = len; + i = len; len = 0; } Strncpy(&roma[res], s2, i); s2 += i; roma[res + i] = '\0'; - rlen = sj3_rkconv2(roma, kstr, i + res - 1); -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - res = strlen((char *)roma); - if (rlen <= 0) + rlen = sj3_rkconv2(roma, kstr, i + res - 1); + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + res = strlen((char*)roma); + if(rlen <= 0) continue; kp = kstr; - while ((c = *kp & RKMASK) != 0) { - if (c & RKZEN) { - if ((cc = sj_addten(prefix, c)) != 0) { + while((c = *kp & RKMASK) != 0) { + if(c & RKZEN) { + if((cc = sj_addten(prefix, c)) != 0) { omode -= 1; s1 -= 1; *omode += GetMojilen(*kp); - c = cc; + c = cc; prefix = 0; } else { *omode = GetMojilen(*kp); klen += 1; prefix = c; } - *s1++ = (wchar16_t) c; + *s1++ = (wchar16_t)c; omode++; kp++; } else { mlen = GetMojilen(*kp); - *kp = sj_han2zen(c) + SetMojilen(mlen); + *kp = sj_han2zen(c) + SetMojilen(mlen); } } } - if (res > 0) { - roma[res] = 0x0a; + if(res > 0) { + roma[res] = 0x0a; roma[res + 1] = '\0'; - rlen = sj3_rkconv2(roma, kstr, res); - if (rlen > 0) { + rlen = sj3_rkconv2(roma, kstr, res); + if(rlen > 0) { kp = kstr; - while ((c = *kp & RKMASK) != 0x0a && c != 0) { - if (*kp & RKZEN) { - if ((cc = sj_addten(prefix, c)) != 0) { + while((c = *kp & RKMASK) != 0x0a && c != 0) { + if(*kp & RKZEN) { + if((cc = sj_addten(prefix, c)) != 0) { omode -= 1; s1 -= 1; *omode += GetMojilen(*kp); - c = cc; + c = cc; prefix = 0; } else { *omode = GetMojilen(*kp); klen += 1; prefix = c; } - *s1++ = (wchar16_t) c; + *s1++ = (wchar16_t)c; omode++; kp++; } else { mlen = GetMojilen(*kp); - *kp = sj_han2zen(c) + SetMojilen(mlen); + *kp = sj_han2zen(c) + SetMojilen(mlen); } } } else { - for (i = 0; i < res; i++) { - if (WcIsKANJI(roma[i])) { - c = roma[i]; + for(i = 0; i < res; i++) { + if(WcIsKANJI(roma[i])) { + c = roma[i]; mlen = 1; } else { - c = sj_han2zen(roma[i]); + c = sj_han2zen(roma[i]); mlen = 1; } - if ((cc = sj_addten(prefix, c)) != 0) { + if((cc = sj_addten(prefix, c)) != 0) { s1 -= 1; omode -= 1; *omode += mlen; - c = cc; + c = cc; prefix = 0; } else { prefix = c; @@ -454,97 +446,94 @@ int len; } *s1 = '\0'; sj3_rkebell(rkerrbell); - return(klen); + return (klen); } - - exec_romaji2(c, hbuf, kbuf, omode, cur, hcur) -wchar16_t c, *hbuf, *kbuf; -unsigned short *omode; -int cur, hcur; + wchar16_t c, + *hbuf, *kbuf; +unsigned short* omode; +int cur, hcur; { unsigned short c1, cc; - unsigned int c2; - int i; - int ocur, len, retv; - unsigned int rkstr[MAXLLEN], *rkp; + unsigned int c2; + int i; + int ocur, len, retv; + unsigned int rkstr[MAXLLEN], *rkp; retv = 1; ocur = cur; - if (hcur >= 0 && !is_bs(c)) + if(hcur >= 0 && !is_bs(c)) hbuf[hcur++] = c; sj3_rkconvc(c, rkstr); - + rkp = rkstr; while(*rkp != RKEND) { c1 = ((c2 = *rkp++) & RKMASK); - if (c2 == ERRBEL) { - if (c != 0) + if(c2 == ERRBEL) { + if(c != 0) beep(); hcur--; break; } - if (is_bs(c1)) { - if (cur <= 0) { + if(is_bs(c1)) { + if(cur <= 0) { beep(); } else { vbackchar(2); cur -= 1; ocur = cur; } - if (hcur >= 0 && is_bs(c)) { - for (i = cur; i > 0 ; i--){ - if (omode[i] & OMODE_MASK) - break; + if(hcur >= 0 && is_bs(c)) { + for(i = cur; i > 0; i--) { + if(omode[i] & OMODE_MASK) + break; } hcur -= omode[i]; - while (i < cur) { - len = sj_zentohan(&hbuf[hcur],&kbuf[i],1); - omode[i] = len; - hcur += len; - i ++; + while(i < cur) { + len = sj_zentohan(&hbuf[hcur], &kbuf[i], 1); + omode[i] = len; + hcur += len; + i++; } } continue; } - if (!WcIsZENKAKU(c1)) { - if (hcur >= 0 && (c2 & ERRCODE) && is_bs(c)) + if(!WcIsZENKAKU(c1)) { + if(hcur >= 0 && (c2 & ERRCODE) && is_bs(c)) hbuf[hcur++] = c1; - if (c1 == 0) { + if(c1 == 0) { hcur--; break; } else { - if (c2 & ERRCODE) + if(c2 & ERRCODE) retv = 0; c1 = sj_han2zen(c1); } } - if (cur >= 1) { + if(cur >= 1) { cc = kbuf[cur - 1]; - if ((cc = sj_addten(cc, c1)) != 0){ + if((cc = sj_addten(cc, c1)) != 0) { c1 = cc; vbackchar(2); - cur --; + cur--; ocur = cur; - if (hcur >= 0) { + if(hcur >= 0) { len = omode[cur] + GetMojilen(c2); - c2 = SetMojilen(len); + c2 = SetMojilen(len); } } } kbuf[cur] = c1; - if (hcur >= 0) { + if(hcur >= 0) { omode[cur] = GetMojilen(c2); } - cur ++; + cur++; } kbuf[cur] = '\0'; - if (hcur >= 0) + if(hcur >= 0) hbuf[hcur] = '\0'; - if (cur > ocur) + if(cur > ocur) vprintU(&kbuf[ocur], 1); - return(retv); + return (retv); } - - diff --git a/s2ctbl.c b/s2ctbl.c index 745d549..a49b490 100644 --- a/s2ctbl.c +++ b/s2ctbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,124 +28,121 @@ */ /* - * $SonyRCSfile: s2ctbl.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: s2ctbl.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1995/07/21 05:22:51 $ */ - - #include "sj_rename.h" #include "sj_typedef.h" #include "sj_yomi.h" -unsigned char kigou[] = { - Y_L_KAKKO, - Y_KUTEN, - Y_TOUTEN, - Y_COMMA, - Y_PERIOD, - Y_L_KAKKO, - Y_L_KAKKO, - Y_L_KAKKO, - Y_BIKKURI, - Y_BIKKURI, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - _TYOUON, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_L_KAKKO, - Y_QUOTA, - Y_L_KAKKO, - Y_QUOTA, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_L_KAKKO, - Y_R_KAKKO, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_S_KIGOU2, - Y_S_KIGOU1, - Y_S_KIGOU1, - Y_S_KIGOU2, - Y_S_KIGOU1, - Y_S_KIGOU2, - _IGETA, - Y_KIGOU, - Y_KIGOU, - _ATTO, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - _YUUBIN, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU, - Y_KIGOU - }; +unsigned char kigou[] = { + Y_L_KAKKO, + Y_KUTEN, + Y_TOUTEN, + Y_COMMA, + Y_PERIOD, + Y_L_KAKKO, + Y_L_KAKKO, + Y_L_KAKKO, + Y_BIKKURI, + Y_BIKKURI, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + _TYOUON, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_L_KAKKO, + Y_QUOTA, + Y_L_KAKKO, + Y_QUOTA, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_L_KAKKO, + Y_R_KAKKO, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_S_KIGOU2, + Y_S_KIGOU1, + Y_S_KIGOU1, + Y_S_KIGOU2, + Y_S_KIGOU1, + Y_S_KIGOU2, + _IGETA, + Y_KIGOU, + Y_KIGOU, + _ATTO, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + _YUUBIN, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU, + Y_KIGOU}; diff --git a/screen.c b/screen.c index 3a6024b..d7a447d 100644 --- a/screen.c +++ b/screen.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,383 +28,331 @@ */ /* - * $SonyRCSfile: screen.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: screen.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:22 $ */ - - #include "common.h" #include "key.h" -#define LINE_LENGTH 80 +#define LINE_LENGTH 80 -static wchar16_t *Guide; -static wchar16_t Nguide[LINE_LENGTH + 1]; -static wchar16_t Cguide[LINE_LENGTH + 1]; -wchar16_t Mguide[LINE_LENGTH + 1]; +static wchar16_t* Guide; +static wchar16_t Nguide[LINE_LENGTH + 1]; +static wchar16_t Cguide[LINE_LENGTH + 1]; +wchar16_t Mguide[LINE_LENGTH + 1]; - -vbackchar (n) -int n; +vbackchar(n) int n; { - int i; + int i; - for (i=0 ; i < n ; i++) - VBackspace (); - for (i=0 ; i < n ; i++) - Vput_space (); - for (i=0 ; i < n ; i++) - VBackspace (); - Flush (); + for(i = 0; i < n; i++) + VBackspace(); + for(i = 0; i < n; i++) + Vput_space(); + for(i = 0; i < n; i++) + VBackspace(); + Flush(); } +wrap_off() { + Conversion* cv; - -wrap_off () -{ - Conversion *cv; - - cv = GetConversion (); - cv->wrap = 0; + cv = GetConversion(); + cv->wrap = 0; cv->PushCurrentVcol = cv->CurrentVcol; } -wrap_on () -{ - Conversion *cv; +wrap_on() { + Conversion* cv; - cv = GetConversion (); - cv->wrap = 1; + cv = GetConversion(); + cv->wrap = 1; cv->CurrentVcol = cv->PushCurrentVcol; } +Vput_space() { + Conversion* cv; - -Vput_space () -{ - Conversion *cv; - - cv = GetConversion (); - put_space (1); - cv->Vindex[cv->Vlen ++] = cv->CurrentVcol ++; - if (cv->wrap && ((cv->CurrentVcol % cv->column) == 1)) { - put_space (1); - Backspace (); + cv = GetConversion(); + put_space(1); + cv->Vindex[cv->Vlen++] = cv->CurrentVcol++; + if(cv->wrap && ((cv->CurrentVcol % cv->column) == 1)) { + put_space(1); + Backspace(); } } +VBackspace() { + Conversion* cv; + int i; - -VBackspace () -{ - Conversion *cv; - int i; - - cv = GetConversion (); - if (cv->wrap && ((cv->CurrentVcol % cv->column) == 1)) { - Ccheck (); + cv = GetConversion(); + if(cv->wrap && ((cv->CurrentVcol % cv->column) == 1)) { + Ccheck(); i = cv->Vindex[cv->Vlen - 1] % cv->column; - if (cv->Vlen > 0 && i > 1) { - CursorSet ( + if(cv->Vlen > 0 && i > 1) { + CursorSet( cv->SavedRow + (cv->CurrentVcol / cv->column) - 1, - cv->Vindex[cv->Vlen - 1] % cv->column - ); - } - else - CursorSet ( - cv->SavedRow + (cv->CurrentVcol / cv->column) - 1, - cv->column - ); - } - else - Backspace (); - if (cv->Vlen > 0) + cv->Vindex[cv->Vlen - 1] % cv->column); + } else + CursorSet( + cv->SavedRow + (cv->CurrentVcol / cv->column) - 1, + cv->column); + } else + Backspace(); + if(cv->Vlen > 0) cv->CurrentVcol = cv->Vindex[--(cv->Vlen)]; else { - cv->Vlen = 0; + cv->Vlen = 0; cv->CurrentVcol = cv->Vindex[cv->Vlen]; } } - - -master_out (s, n) -wchar16_t *s; -int n; +master_out(s, n) + wchar16_t* s; +int n; { - master_write (s, n); - master_flush (); + master_write(s, n); + master_flush(); } -master_write (s, n) -wchar16_t *s; -int n; +master_write(s, n) + wchar16_t* s; +int n; { - SJ_write (s, n); + SJ_write(s, n); } - - -vprintU (s, mod) -wchar16_t *s; -char mod; +vprintU(s, mod) + wchar16_t* s; +char mod; { - Conversion *cv; + Conversion* cv; int i, col, oldcol, len; - unsigned short *p; + unsigned short* p; - cv = GetConversion (); - printU (s); + cv = GetConversion(); + printU(s); oldcol = cv->CurrentVcol % cv->column; - if (cv->wrap && (mod == 1) && (oldcol == 0)) - cv->CurrentVcol ++; - len = wcbyte (s); - p = &(cv->Vindex[cv->Vlen]); + if(cv->wrap && (mod == 1) && (oldcol == 0)) + cv->CurrentVcol++; + len = wcbyte(s); + p = &(cv->Vindex[cv->Vlen]); cv->Vlen += len; - for (i = 0 ; i < len ; i ++) - *(p ++) = cv->CurrentVcol ++; - if (cv->wrap) { + for(i = 0; i < len; i++) + *(p++) = cv->CurrentVcol++; + if(cv->wrap) { col = cv->CurrentVcol % cv->column; - if (col == 1) { - put_space (1); - Backspace (); + if(col == 1) { + put_space(1); + Backspace(); } - if ((mod == 1) && (oldcol + len > (unsigned int)cv->column) - && ((col & 1) == 0)) { - cv->CurrentVcol ++; + if((mod == 1) && (oldcol + len > (unsigned int)cv->column) && ((col & 1) == 0)) { + cv->CurrentVcol++; } } *p = cv->CurrentVcol; - if (cv->CurrentVcol > cv->MaxVcol) + if(cv->CurrentVcol > cv->MaxVcol) cv->MaxVcol = cv->CurrentVcol; - Flush (); + Flush(); } - - -vprintR (s, mod) -wchar16_t *s; -char mod; +vprintR(s, mod) + wchar16_t* s; +char mod; { - Conversion *cv; + Conversion* cv; int i, col, oldcol, len; - unsigned short *p; + unsigned short* p; - cv = GetConversion (); - printR (s); + cv = GetConversion(); + printR(s); oldcol = cv->CurrentVcol % cv->column; - if (cv->wrap && (mod == 1) && (oldcol == 0)) - cv->CurrentVcol ++; - len = wcbyte (s); - p = &(cv->Vindex[cv->Vlen]); + if(cv->wrap && (mod == 1) && (oldcol == 0)) + cv->CurrentVcol++; + len = wcbyte(s); + p = &(cv->Vindex[cv->Vlen]); cv->Vlen += len; - for (i = 0 ; i < len ; i ++) - *(p ++) = cv->CurrentVcol ++; - if (cv->wrap) { + for(i = 0; i < len; i++) + *(p++) = cv->CurrentVcol++; + if(cv->wrap) { col = cv->CurrentVcol % cv->column; - if (col == 1) { - put_space (1); - Backspace (); + if(col == 1) { + put_space(1); + Backspace(); } - if ((mod == 1) && (oldcol + len > (unsigned int)cv->column) - && ((col & 1) == 0)) { - cv->CurrentVcol ++; + if((mod == 1) && (oldcol + len > (unsigned int)cv->column) && ((col & 1) == 0)) { + cv->CurrentVcol++; } } *p = cv->CurrentVcol; - if (cv->CurrentVcol > cv->MaxVcol) + if(cv->CurrentVcol > cv->MaxVcol) cv->MaxVcol = cv->CurrentVcol; - Flush (); + Flush(); } - - -IprintU (s, index) -wchar16_t *s; -int index; +IprintU(s, index) + wchar16_t* s; +int index; { - Cgoto (index); - printU (s); - Flush (); + Cgoto(index); + printU(s); + Flush(); } - - -IprintR (s, index) -wchar16_t *s; -int index; +IprintR(s, index) + wchar16_t* s; +int index; { - Cgoto (index); - printR (s); - Flush (); + Cgoto(index); + printR(s); + Flush(); } - - -printU (s) -wchar16_t *s; +printU(s) + wchar16_t* s; { - under_in (); - SJ_print (s); - under_out (); + under_in(); + SJ_print(s); + under_out(); } - - -printR (s) -wchar16_t *s; +printR(s) + wchar16_t* s; { - reverse_in (); - SJ_print (s); - reverse_out (); + reverse_in(); + SJ_print(s); + reverse_out(); } +Csave() { + Conversion* cv; - -Csave () -{ - Conversion *cv; - - cv = GetConversion (); - CursorRead (&(cv->SavedRow), &(cv->SavedCol)); - cv->CurrentVcol = cv->SavedCol; - cv->Vlen = 0; + cv = GetConversion(); + CursorRead(&(cv->SavedRow), &(cv->SavedCol)); + cv->CurrentVcol = cv->SavedCol; + cv->Vlen = 0; cv->Vindex[cv->Vlen] = cv->MaxVcol = cv->CurrentVcol; } -SetVcol (index) -int index; +SetVcol(index) int index; { - Conversion *cv; + Conversion* cv; - cv = GetConversion (); - cv->Vlen = index; + cv = GetConversion(); + cv->Vlen = index; cv->CurrentVcol = cv->Vindex[cv->Vlen]; } -Cload () -{ - Conversion *cv; +Cload() { + Conversion* cv; - cv = GetConversion (); - CursorSet (cv->SavedRow, cv->SavedCol); + cv = GetConversion(); + CursorSet(cv->SavedRow, cv->SavedCol); } -Cclear (redraw) -int redraw; +Cclear(redraw) int redraw; { - Conversion *cv; - int spaces; - unsigned short row, col; + Conversion* cv; + int spaces; + unsigned short row, col; - if (redraw) { - cv = GetConversion (); - CursorRead (&row, &col); - spaces = (row - cv->SavedRow) * cv->column - + (col - cv->SavedCol) + 1; - Cload (); - put_space (spaces); + if(redraw) { + cv = GetConversion(); + CursorRead(&row, &col); + spaces = (row - cv->SavedRow) * cv->column + (col - cv->SavedCol) + 1; + Cload(); + put_space(spaces); } - Cload (); - Flush (); + Cload(); + Flush(); } -Cgoto (index) -int index; +Cgoto(index) int index; { - Conversion *cv; - int row, col; + Conversion* cv; + int row, col; - cv = GetConversion (); - SetVcol (index); + cv = GetConversion(); + SetVcol(index); row = cv->SavedRow + (int)(cv->CurrentVcol / cv->column); col = cv->CurrentVcol % cv->column; - CursorSet (row, col); + CursorSet(row, col); } -ClearToMax () -{ - Conversion *cv; - int space; +ClearToMax() { + Conversion* cv; + int space; - cv = GetConversion (); + cv = GetConversion(); space = cv->MaxVcol - cv->CurrentVcol; - put_space (space); + put_space(space); } -Ccheck () -{ - Conversion *cv; - int row, tmp, diff; +Ccheck() { + Conversion* cv; + int row, tmp, diff; - if (Cscroll ()) { - cv = GetConversion (); - tmp = (int)(cv->CurrentVcol / cv->column); + if(Cscroll()) { + cv = GetConversion(); + tmp = (int)(cv->CurrentVcol / cv->column); diff = cv->CurrentVcol - (tmp * cv->column); - if (diff == 0) - tmp --; + if(diff == 0) + tmp--; row = cv->SavedRow + tmp; - if (row >= (unsigned int)cv->line) + if(row >= (unsigned int)cv->line) cv->SavedRow -= (row - cv->line); } } -spaceR (s) -wchar16_t *s; +spaceR(s) + wchar16_t* s; { - wchar16_t *t; - wchar16_t tmp[40]; + wchar16_t* t; + wchar16_t tmp[40]; t = tmp; - while (*s != '\0') { - if (*s == ' ') { + while(*s != '\0') { + if(*s == ' ') { *t = '\0'; - printR (tmp); + printR(tmp); t = tmp; - put_space (1); - } - else - *(t ++) = *s; - s ++; + put_space(1); + } else + *(t++) = *s; + s++; } *t = '\0'; - printR (tmp); - Flush (); + printR(tmp); + Flush(); } +clear_guide_line() { + unsigned short row, col; - -clear_guide_line () -{ - unsigned short row, col; - - StartGuide (&row, &col); - Clear_EOL (); - EndGuide (row, col); - Flush (); + StartGuide(&row, &col); + Clear_EOL(); + EndGuide(row, col); + Flush(); } -print_guide_line () -{ - unsigned short row, col; +print_guide_line() { + unsigned short row, col; - StartGuide (&row, &col); - spaceR (Guide); - Clear_EOL (); - EndGuide (row, col); - Flush (); + StartGuide(&row, &col); + spaceR(Guide); + Clear_EOL(); + EndGuide(row, col); + Flush(); } -set_guide_line (mode) -int mode; +set_guide_line(mode) int mode; { - - - switch (mode) { + switch(mode) { case KEY_NORMAL: - wscpy (Nguide, WCSJrun); + wscpy(Nguide, WCSJrun); Guide = Nguide; break; case KEY_CONV: @@ -415,16 +363,15 @@ int mode; } } -disp_mode () -{ - Conversion *cv; - int c_code; - wchar16_t *Pmode, *Bmode; - cv = GetConversion (); - switch (cv->Imode) { +disp_mode() { + Conversion* cv; + int c_code; + wchar16_t * Pmode, *Bmode; + cv = GetConversion(); + switch(cv->Imode) { case MODE_CODE: c_code = GetCcode(); - switch (c_code) { + switch(c_code) { case CODE_SJIS: Pmode = WCGCshift; break; @@ -466,7 +413,7 @@ disp_mode () default: break; } - switch (cv->BuffMode) { + switch(cv->BuffMode) { case BUFF: Bmode = WCMode_buff; break; @@ -476,31 +423,31 @@ disp_mode () default: break; } - wscpy (Cguide, Bmode); - wscat (Cguide, Pmode); - wscpy (Mguide, Cguide); - if (Hlevel > 1) - wscat (Cguide, WCGmode); - print_guide_line (); + wscpy(Cguide, Bmode); + wscat(Cguide, Pmode); + wscpy(Mguide, Cguide); + if(Hlevel > 1) + wscat(Cguide, WCGmode); + print_guide_line(); } -TopGuide () +TopGuide() { + unsigned short row, col; + + StartGuide(&row, &col); +} + +guide_print(s1, s2) + wchar16_t* s1, + *s2; { - unsigned short row, col; + unsigned short row, col; - StartGuide (&row, &col); -} - -guide_print (s1, s2) -wchar16_t *s1, *s2; -{ - unsigned short row, col; - - StartGuide (&row, &col); - if (s1) - printR (s1); - SJ_print (s2); - Clear_EOL (); - EndGuide (row, col); - Flush (); + StartGuide(&row, &col); + if(s1) + printR(s1); + SJ_print(s2); + Clear_EOL(); + EndGuide(row, col); + Flush(); } diff --git a/selclrec.c b/selclrec.c index a5d7af9..41398af 100644 --- a/selclrec.c +++ b/selclrec.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,104 +28,81 @@ */ /* - * $SonyRCSfile: selclrec.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: selclrec.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:14 $ */ - - - - #include "sj_kcnv.h" +void free_clall(), free_jall(), mkjiritu(), mkbunsetu(); +void wakachi(); +void selclrec() { + int len; + CLREC* rec; -void free_clall(), free_jall(), mkjiritu(), mkbunsetu(); -void wakachi(); - - - -void selclrec() -{ - int len; - CLREC *rec; - - nextcllen = 0; - - len = selcl -> cllen; + len = selcl->cllen; rec = clt1st; - while (rec) { - if (len >= (unsigned int) rec -> cllen) break; - rec = rec -> clsort; + while(rec) { + if(len >= (unsigned int)rec->cllen) break; + rec = rec->clsort; } - - while (rec) { - if (len > (unsigned int) rec -> cllen) return; - if (rec -> jnode -> class == C_BUNSETU) break; - rec = rec -> clsort; + while(rec) { + if(len > (unsigned int)rec->cllen) return; + if(rec->jnode->class == C_BUNSETU) break; + rec = rec->clsort; } - if (!rec) return; + if(!rec) return; - - - len = ClYomi1Len(ClStudyDict + rec->jnode->jofsst); - - nextcllen = rec -> cllen - len; + nextcllen = rec->cllen - len; + + while(rec) { + + if(len == rec->cllen) { - - while (rec) { - - if (len == rec -> cllen) { - selcl = rec; break; } - - else if (len > (unsigned int) rec -> cllen) { + + else if(len > (unsigned int)rec->cllen) { rec = NULL; break; } - rec = rec -> clsort; + rec = rec->clsort; } - - if (rec == NULL) { - int klen; - unsigned char ch; + if(rec == NULL) { + int klen; + unsigned char ch; - free_clall(clt1st); free_jall(jrt1st); - - klen = cnvlen; - cnvlen = len; - ch = *(cnvstart + len); + klen = cnvlen; + cnvlen = len; + ch = *(cnvstart + len); *(cnvstart + len) = 0; - mkjiritu(DO_IKKATU); - mkbunsetu(); - if (!maxclptr) wakachi(); + if(!maxclptr) wakachi(); - jrt1st = maxjptr; selcl = clt1st = maxclptr; - - cnvlen = klen; + cnvlen = klen; *(cnvstart + len) = ch; } - - free_clall(clt2nd); clt2nd = NULL; - free_jall(jrt2nd); jrt2nd = NULL; + free_clall(clt2nd); + clt2nd = NULL; + free_jall(jrt2nd); + jrt2nd = NULL; } diff --git a/select.h b/select.h index 2d59e02..d8c4f93 100644 --- a/select.h +++ b/select.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: select.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: select.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:49 $ */ - - #include #include #include @@ -42,4 +40,4 @@ #include #endif -typedef fd_set SELECT_FD; +typedef fd_set SELECT_FD; diff --git a/selsuuji.c b/selsuuji.c index ca23c7b..fb0a6a1 100644 --- a/selsuuji.c +++ b/selsuuji.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,84 +32,72 @@ #include "const.h" #include "sj_suuji.h" -static unsigned short selsjAR[] = { - SelArb0, - SelArbCma | JFLAG_NK4 | JFLAG_NN0, - SelKanSjYm | JFLAG_NN0, - SelKanSjYm2 | SelNum1_23_10_1 | JFLAG_NN0, - SelKanSj0 | JFLAG_NK2, - SelNumTerm -}; +static unsigned short selsjAR[] = { + SelArb0, + SelArbCma | JFLAG_NK4 | JFLAG_NN0, + SelKanSjYm | JFLAG_NN0, + SelKanSjYm2 | SelNum1_23_10_1 | JFLAG_NN0, + SelKanSj0 | JFLAG_NK2, + SelNumTerm}; -static unsigned short selsjARCM[] = { - SelArbCma | JFLAG_NK4 | JFLAG_NN0, - SelArb0, - SelKanSjYm | JFLAG_NN0, - SelKanSjYm2 | SelNum1_23_10_1 | JFLAG_NN0, - SelKanSj0 | JFLAG_NK2, - SelNumTerm -}; +static unsigned short selsjARCM[] = { + SelArbCma | JFLAG_NK4 | JFLAG_NN0, + SelArb0, + SelKanSjYm | JFLAG_NN0, + SelKanSjYm2 | SelNum1_23_10_1 | JFLAG_NN0, + SelKanSj0 | JFLAG_NK2, + SelNumTerm}; -static unsigned short selsjKAZU[] = { - SelKanSjYm | JFLAG_NN0, - SelKanSjYm2 | SelNum1_23_10_1 | JFLAG_NN0, - SelKanSj0 | JFLAG_NK2, - SelArb0, - SelArbCma | JFLAG_NK4 | JFLAG_NN0, - SelNumTerm -}; +static unsigned short selsjKAZU[] = { + SelKanSjYm | JFLAG_NN0, + SelKanSjYm2 | SelNum1_23_10_1 | JFLAG_NN0, + SelKanSj0 | JFLAG_NK2, + SelArb0, + SelArbCma | JFLAG_NK4 | JFLAG_NN0, + SelNumTerm}; -static unsigned short selsjSUUJI[] = { - SelKanSj0, - SelArb0, - SelNumTerm -}; +static unsigned short selsjSUUJI[] = { + SelKanSj0, + SelArb0, + SelNumTerm}; -static unsigned short selsjNANSUU[] = { - SelKanSjYm, - SelNumTerm -}; +static unsigned short selsjNANSUU[] = { + SelKanSjYm, + SelNumTerm}; -static unsigned short selsjAR17[] = { - SelLongArb, - SelLongArbCma, - SelNumTerm -}; +static unsigned short selsjAR17[] = { + SelLongArb, + SelLongArbCma, + SelNumTerm}; -static unsigned short selsjAR17CM[] = { - SelLongArbCma, - SelLongArb, - SelNumTerm -}; +static unsigned short selsjAR17CM[] = { + SelLongArbCma, + SelLongArb, + SelNumTerm}; -static unsigned short selsjAR17SJ[] = { - SelLongArb, - SelLongSj, - SelNumTerm -}; +static unsigned short selsjAR17SJ[] = { + SelLongArb, + SelLongSj, + SelNumTerm}; -static unsigned short selsjKANKURA[] = { - SelKanSjKr, - SelArbKr, - SelNumTerm -}; +static unsigned short selsjKANKURA[] = { + SelKanSjKr, + SelArbKr, + SelNumTerm}; -static unsigned short selsjARAKURA[] = { - SelArbKr, - SelKanSjKr | JFLAG_NSN, - SelNumTerm -}; +static unsigned short selsjARAKURA[] = { + SelArbKr, + SelKanSjKr | JFLAG_NSN, + SelNumTerm}; - -unsigned short *selsjadrs[] = { - selsjAR, - selsjARCM, - selsjKAZU, - selsjSUUJI, - selsjNANSUU, - selsjKANKURA, - selsjARAKURA, - selsjAR17, - selsjAR17CM, - selsjAR17SJ -}; +unsigned short* selsjadrs[] = { + selsjAR, + selsjARCM, + selsjKAZU, + selsjSUUJI, + selsjNANSUU, + selsjKANKURA, + selsjARAKURA, + selsjAR17, + selsjAR17CM, + selsjAR17SJ}; diff --git a/server.h b/server.h index aea4da9..0528ea6 100644 --- a/server.h +++ b/server.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2004 Hiroo Ono - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,29 +32,29 @@ */ #ifndef _SERVER_H_ -#define _SERVER_H_ 1 +#define _SERVER_H_ 1 #include "Struct.h" /* comuni.c */ -void socket_init(void); -void open_socket(void); -void close_socket(void); -void communicate(void); -void put_flush(void); -void put_byte(int c); -void put_work(int c); -void put_int(int c); -unsigned char *put_string(unsigned char *p); -unsigned char *put_ndata(unsigned char *p, int n); -void get_buf(void); -int get_byte(void); -int get_word(void); +void socket_init(void); +void open_socket(void); +void close_socket(void); +void communicate(void); +void put_flush(void); +void put_byte(int c); +void put_work(int c); +void put_int(int c); +unsigned char* put_string(unsigned char* p); +unsigned char* put_ndata(unsigned char* p, int n); +void get_buf(void); +int get_byte(void); +int get_word(void); #ifndef NO_GET_INT int get_int(void); #endif -int get_nstring(unsigned char *p, int n); -unsigned char *get_ndata(unsigned char *p, int n); +int get_nstring(unsigned char* p, int n); +unsigned char* get_ndata(unsigned char* p, int n); /* error.c */ int open_debug(void); @@ -66,61 +66,61 @@ void warning_out(char *s, int p1, int p2, int p3, int p4, int p5); void logging_out(char *s, int p1, int p2, int p3, int p4, int p5); void debug_out(int lvl, char *s, int p1, int p2, int p3, int p4, int p5); #else /* correct solution is to make the functions take arbitrary parameters... */ -void error_out (); -void warning_out (); -void logging_out (); -void debug_out (); +void error_out(); +void warning_out(); +void logging_out(); +void debug_out(); #endif /* execute.c */ -int make_full_path(char *path); -WorkArea *alloc_workarea(void); -void free_workarea(WorkArea *p); -void exec_connect(void); -void exec_disconnect(void); -void exec_opendict(void); -void exec_closedict(void); -void close_dictlist(DICTL *dictl); -void exec_openstdy(void); -void exec_closestdy(void); -void exec_stdysize(void); -void exec_ph2knj(int mb_flag); -void exec_cl2knj(int mb_flag); -void exec_nextcl(int mb_flag); -void exec_prevcl(int mb_flag); -void exec_cl2knj_cnt(int mb_flag); -void exec_cl2knj_all(int mb_flag); -void exec_study(void); -void exec_clstudy(int mb_flag); -void exec_adddict(int mb_flag); -void exec_deldict(int mb_flag); -void exec_getdict(int mb_flag); -void exec_nextdict(int mb_flag); -void exec_prevdict(int mb_flag); -void exec_makedict(void); -void exec_makestdy(void); -void exec_access(void); -void exec_makedir(void); -void exec_who(void); -void exec_kill(void); -void exec_quit(void); -void exec_version(void); -void exec_dictpass(void); -void exec_dictcmnt(void); -void exec_stdypass(void); -void exec_stdycmnt(void); -void exec_stdypara(void); -void execute_cmd(void); +int make_full_path(char* path); +WorkArea* alloc_workarea(void); +void free_workarea(WorkArea* p); +void exec_connect(void); +void exec_disconnect(void); +void exec_opendict(void); +void exec_closedict(void); +void close_dictlist(DICTL* dictl); +void exec_openstdy(void); +void exec_closestdy(void); +void exec_stdysize(void); +void exec_ph2knj(int mb_flag); +void exec_cl2knj(int mb_flag); +void exec_nextcl(int mb_flag); +void exec_prevcl(int mb_flag); +void exec_cl2knj_cnt(int mb_flag); +void exec_cl2knj_all(int mb_flag); +void exec_study(void); +void exec_clstudy(int mb_flag); +void exec_adddict(int mb_flag); +void exec_deldict(int mb_flag); +void exec_getdict(int mb_flag); +void exec_nextdict(int mb_flag); +void exec_prevdict(int mb_flag); +void exec_makedict(void); +void exec_makestdy(void); +void exec_access(void); +void exec_makedir(void); +void exec_who(void); +void exec_kill(void); +void exec_quit(void); +void exec_version(void); +void exec_dictpass(void); +void exec_dictcmnt(void); +void exec_stdypass(void); +void exec_stdycmnt(void); +void exec_stdypara(void); +void execute_cmd(void); /* setup.c */ -void RcError(char *p); -void RcWarning(char *p); -int read_line(FILE *fp, char *buf, int len); +void RcError(char* p); +void RcWarning(char* p); +int read_line(FILE* fp, char* buf, int len); void read_runcmd(void); void set_default(void); -void parse_arg(int argc, char **argv); +void parse_arg(int argc, char** argv); void preload_dict(void); void preopen_dict(void); -int check_user(char *user, char *host); +int check_user(char* user, char* host); #endif /* _SERVER_H_ */ diff --git a/setconj.c b/setconj.c index 0a623e1..892a70a 100644 --- a/setconj.c +++ b/setconj.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,47 +28,45 @@ */ /* - * $SonyRCSfile: setconj.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: setconj.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:16 $ * * $Id$ */ - #include "sj_kcnv.h" #include "sj_right.h" #include "sj_hinsi.h" #include "sj_yomi.h" #include "kanakan.h" -static int -cnjstrcmp (unsigned char *yptr, unsigned char *cnjp, int *saml) -{ - int asklen; - int nkrlen; +static int +cnjstrcmp(unsigned char* yptr, unsigned char* cnjp, int* saml) { + int asklen; + int nkrlen; asklen = CnjAskLen(cnjp); - if (*saml < asklen) return CONT; + if(*saml < asklen) return CONT; - if (*saml > asklen) return OVER; + if(*saml > asklen) return OVER; nkrlen = CnjNkrLen(cnjp); yptr += asklen; - cnjp ++; + cnjp++; - while (nkrlen--) { - if (*yptr > *cnjp) + while(nkrlen--) { + if(*yptr > *cnjp) return CONT; - else if (*yptr < *cnjp) { - if (!*yptr) return PARTLY; + else if(*yptr < *cnjp) { + if(!*yptr) return PARTLY; return OVER; } - else{ + else { yptr++; cnjp++; (*saml)++; @@ -78,23 +76,22 @@ cnjstrcmp (unsigned char *yptr, unsigned char *cnjp, int *saml) return MATCH; } -static TypeCnct -cnvrow (JREC *rec, TypeCnct row) -{ - TypeGram hinsi; - int stt; +static TypeCnct +cnvrow(JREC* rec, TypeCnct row) { + TypeGram hinsi; + int stt; - hinsi = rec -> hinsi; + hinsi = rec->hinsi; - if ((stt = rec -> sttofs) == SETTOU_O) { + if((stt = rec->sttofs) == SETTOU_O) { - if (R_RENYOU1 <= row && row <= R_SA5RENYOU1) + if(R_RENYOU1 <= row && row <= R_SA5RENYOU1) row += 6; - else if (R_RENYOU3 <= row && row <= R_SA5RENYOU3) + else if(R_RENYOU3 <= row && row <= R_SA5RENYOU3) row += 3; - else if((hinsi>=KEIYOUSI_1 && hinsi<=KE_DOUSI_9)|| + else if((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) || (hinsi == MEISI_5) || (hinsi == MEISI_9)) ; @@ -102,52 +99,50 @@ cnvrow (JREC *rec, TypeCnct row) row = 0; } - else if (stt == SETTOU_GO) { + else if(stt == SETTOU_GO) { - if (hinsi == MEISI_7 && row == R_SMEISI1) + if(hinsi == MEISI_7 && row == R_SMEISI1) row++; } return row; } -int -setconj (TypeGram hinsi, JREC *jrec, CREC *crec) -{ - unsigned char *yptr; - int cmp; - TypeCnct right; - int saml; - int ofslen; - int count = 0; - unsigned char *cnj; +int setconj(TypeGram hinsi, JREC* jrec, CREC* crec) { + unsigned char* yptr; + int cmp; + TypeCnct right; + int saml; + int ofslen; + int count = 0; + unsigned char* cnj; - if ((cnj = Conjadr(hinsi)) != NULL) { + if((cnj = Conjadr(hinsi)) != NULL) { saml = ofslen = 0; - yptr = cnvstart + jrec -> jlen; + yptr = cnvstart + jrec->jlen; - if ((*cnj) & TYOUONFLG) { - while (*yptr == _TYOUON) { + if((*cnj) & TYOUONFLG) { + while(*yptr == _TYOUON) { yptr++; ofslen++; } } - for ( ; *cnj != CNJEND ; cnj += CnjRecLen(cnj)) { + for(; *cnj != CNJEND; cnj += CnjRecLen(cnj)) { cmp = cnjstrcmp(yptr, cnj, &saml); - if (cmp == OVER) break; + if(cmp == OVER) break; - if (cmp == PARTLY) break; + if(cmp == PARTLY) break; - if (cmp != MATCH) continue; + if(cmp != MATCH) continue; - if (isdpnd(*(yptr + saml))) continue; + if(isdpnd(*(yptr + saml))) continue; - if ((right = cnvrow(jrec, (TypeCnct)CnjRight(cnj))) != '\0') { - crec -> len = (unsigned char)(ofslen + saml); - crec -> right = right; + if((right = cnvrow(jrec, (TypeCnct)CnjRight(cnj))) != '\0') { + crec->len = (unsigned char)(ofslen + saml); + crec->right = right; count++; crec++; } @@ -156,4 +151,3 @@ setconj (TypeGram hinsi, JREC *jrec, CREC *crec) return count; } - diff --git a/setjrec.c b/setjrec.c index 3ca585a..20b795d 100644 --- a/setjrec.c +++ b/setjrec.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,148 +28,135 @@ */ /* - * $SonyRCSfile: setjrec.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: setjrec.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:17 $ * * $Id$ */ - #include "sj_euc.h" #include "sj_kcnv.h" #include "sj_hinsi.h" #include "kanakan.h" - -int -setj_atrb(unsigned char* p) -{ +int setj_atrb(unsigned char* p) { return 2; } +int setj_ofs(unsigned char* p) { + int contf = TRUE; -int -setj_ofs(unsigned char* p) -{ - int contf = TRUE; + p = dicbuf + ((*p & KanjiCodeMask) << 8) + *(p + 1); - - p = dicbuf + ((*p & KanjiCodeMask) << 8) + *(p + 1); - - do { - if (p[codesize(*p)] == KanjiStrEnd) contf = FALSE; + if(p[codesize(*p)] == KanjiStrEnd) contf = FALSE; switch(*p & KanjiModeMask) { - case ZenHiraAssyuku: - p += setj_norm1(p); break; - - case ZenKataAssyuku: - p += setj_norm1(p); break; - - case OffsetAssyuku: - p += setj_ofs(p); break; - - case AiAttribute: - p += setj_atrb(p); break; - - case LeadingHankaku: - p += setj_norm2(p); break; + case ZenHiraAssyuku: + p += setj_norm1(p); + break; - case KanjiAssyuku: - p += setj_knj(p); break; + case ZenKataAssyuku: + p += setj_norm1(p); + break; - case KanjiStrEnd: - contf = FALSE; break; + case OffsetAssyuku: + p += setj_ofs(p); + break; - default: + case AiAttribute: + p += setj_atrb(p); + break; + + case LeadingHankaku: + p += setj_norm2(p); + break; + + case KanjiAssyuku: + p += setj_knj(p); + break; + + case KanjiStrEnd: + contf = FALSE; + break; + + default: p += setj_norm2(p); } - } while (contf); + } while(contf); return 2; } +int setj_knj(unsigned char* p) { + int contf = TRUE; -int -setj_knj(unsigned char* p) -{ - int contf = TRUE; - - p = askknj[*p & KnjAssyukuMask]; - do { - if (p[codesize(*p)]== KanjiStrEnd) contf = FALSE; + if(p[codesize(*p)] == KanjiStrEnd) contf = FALSE; switch(*p & KanjiModeMask) { - case ZenHiraAssyuku: - p += setj_norm1(p); break; - - case ZenKataAssyuku: - p += setj_norm1(p); break; - - case OffsetAssyuku: - p += setj_ofs(p); break; - - case AiAttribute: - p += setj_atrb(p); break; + case ZenHiraAssyuku: + p += setj_norm1(p); + break; - case LeadingHankaku: - p += setj_norm2(p); break; - - case KanjiAssyuku: - p += setj_knj(p); break; + case ZenKataAssyuku: + p += setj_norm1(p); + break; - case KanjiStrEnd: - contf = FALSE; break; + case OffsetAssyuku: + p += setj_ofs(p); + break; - default: + case AiAttribute: + p += setj_atrb(p); + break; + + case LeadingHankaku: + p += setj_norm2(p); + break; + + case KanjiAssyuku: + p += setj_knj(p); + break; + + case KanjiStrEnd: + contf = FALSE; + break; + + default: p += setj_norm2(p); } - } while (contf); + } while(contf); return 1; } - -int -setj_norm1(unsigned char* p) -{ +int setj_norm1(unsigned char* p) { return 1; } - -int -setj_norm2(unsigned char* p) -{ +int setj_norm2(unsigned char* p) { return 2; } - -int -setj_norm3(unsigned char* p) -{ +int setj_norm3(unsigned char* p) { return 3; } - static int -chkhead(TypeGram gram) -{ - - if (!headcode) return TRUE; - - - if (headcode == SETTOU_DAI) { - - if (gram == SUUSI) return TRUE; +chkhead(TypeGram gram) { + + if(!headcode) return TRUE; + + if(headcode == SETTOU_DAI) { + + if(gram == SUUSI) return TRUE; } - else { gram--; - if ((Scncttbl(headcode-1, gram >> 3) << (gram & 0x07)) & 0x80) { + if((Scncttbl(headcode - 1, gram >> 3) << (gram & 0x07)) & 0x80) { return TRUE; } } @@ -177,167 +164,150 @@ chkhead(TypeGram gram) return FALSE; } +void setjrec(unsigned char* tagp, int mode) { + TypeGram gram; + unsigned char* ptr; + unsigned char* endp; + unsigned char* tmp; + JREC* rec; + int plen; + int nlen; + int len; -void -setjrec(unsigned char* tagp, int mode) -{ - TypeGram gram; - unsigned char *ptr; - unsigned char *endp; - unsigned char *tmp; - JREC *rec; - int plen; - int nlen; - int len; - - plen = getplen(tagp); nlen = getnlen(tagp); - len = plen + nlen; - - if (headcode) len += headlen; + if(headcode) len += headlen; - - ptr = tagp + DouonBlkSizeNumber + nlen; + ptr = tagp + DouonBlkSizeNumber + nlen; - endp = tagp + getsize(tagp); - - for ( ; ptr < endp ; ptr = tmp + 1) { + for(; ptr < endp; ptr = tmp + 1) { - - for (tmp = ptr + 1; *tmp != HinsiBlkTerm ; ) { + for(tmp = ptr + 1; *tmp != HinsiBlkTerm;) { switch(*tmp & KanjiModeMask) { - case ZenHiraAssyuku: - tmp += setj_norm1(tmp); break; - - case ZenKataAssyuku: - tmp += setj_norm1(tmp); break; - - case OffsetAssyuku: - tmp += setj_ofs(tmp); break; - - case AiAttribute: - tmp += setj_atrb(tmp); break; - - case LeadingHankaku: - tmp += setj_norm2(tmp); break; - - case KanjiAssyuku: - tmp += setj_knj(tmp); break; + case ZenHiraAssyuku: + tmp += setj_norm1(tmp); + break; - case KanjiStrEnd: - tmp++; break; + case ZenKataAssyuku: + tmp += setj_norm1(tmp); + break; - default: + case OffsetAssyuku: + tmp += setj_ofs(tmp); + break; + + case AiAttribute: + tmp += setj_atrb(tmp); + break; + + case LeadingHankaku: + tmp += setj_norm2(tmp); + break; + + case KanjiAssyuku: + tmp += setj_knj(tmp); + break; + + case KanjiStrEnd: + tmp++; + break; + + default: tmp += setj_norm2(tmp); } } - - if ((gram = *ptr) == IKKATU && !(mode & DO_IKKATU)) continue; + if((gram = *ptr) == IKKATU && !(mode & DO_IKKATU)) continue; - - if (!chkhead(gram)) continue; + if(!chkhead(gram)) continue; - - if (!(rec = argjrec(len, (JREC *)NULL))) continue; + if(!(rec = argjrec(len, (JREC*)NULL))) continue; - - rec -> jseg = prevseg; - rec -> jofsst = ptr - dicbuf; - rec -> jofsed = tmp - dicbuf; - rec -> class = C_DICT; - rec -> dicid = curdict->dicid; - rec -> hinsi = gram; - rec -> sttofs = headcode; + rec->jseg = prevseg; + rec->jofsst = ptr - dicbuf; + rec->jofsed = tmp - dicbuf; + rec->class = C_DICT; + rec->dicid = curdict->dicid; + rec->hinsi = gram; + rec->sttofs = headcode; } } +void setnumrec(unsigned char* tagp, JREC* rec, TypeGram gram) { + unsigned char* ptr; + unsigned char* endp; + unsigned char* tmp; + int plen, nlen, len; + JREC* jrec; -void -setnumrec(unsigned char* tagp, JREC* rec, TypeGram gram) -{ - unsigned char *ptr; - unsigned char *endp; - unsigned char *tmp; - int plen, nlen, len; - JREC *jrec; - - plen = getplen(tagp); nlen = getnlen(tagp); - len = plen + nlen; - - ptr = tagp + DouonBlkSizeNumber + nlen; + ptr = tagp + DouonBlkSizeNumber + nlen; - endp = tagp + getsize(tagp); - - for ( ; ptr < endp ; ptr = tmp + 1) { + for(; ptr < endp; ptr = tmp + 1) { - - for (tmp = ptr + 1; *tmp != HinsiBlkTerm ; ) { + for(tmp = ptr + 1; *tmp != HinsiBlkTerm;) { switch(*tmp & KanjiModeMask) { - case ZenHiraAssyuku: - tmp += setj_norm1(tmp); break; - - case ZenKataAssyuku: - tmp += setj_norm1(tmp); break; - - case OffsetAssyuku: - tmp += setj_ofs(tmp); break; - - case AiAttribute: - tmp += setj_atrb(tmp); break; - - case LeadingHankaku: - tmp += setj_norm2(tmp); break; - - case KanjiAssyuku: - tmp += setj_knj(tmp); break; + case ZenHiraAssyuku: + tmp += setj_norm1(tmp); + break; - case KanjiStrEnd: - tmp++; break; + case ZenKataAssyuku: + tmp += setj_norm1(tmp); + break; - default: + case OffsetAssyuku: + tmp += setj_ofs(tmp); + break; + + case AiAttribute: + tmp += setj_atrb(tmp); + break; + + case LeadingHankaku: + tmp += setj_norm2(tmp); + break; + + case KanjiAssyuku: + tmp += setj_knj(tmp); + break; + + case KanjiStrEnd: + tmp++; + break; + + default: tmp += setj_norm2(tmp); } } - - if (gram != *ptr) continue; + if(gram != *ptr) continue; - - if (!(jrec = argjrec((int)(rec -> jlen + len), rec))) continue; + if(!(jrec = argjrec((int)(rec->jlen + len), rec))) continue; - - jrec -> jseg = prevseg; - jrec -> jofsst = ptr - dicbuf; - jrec -> jofsed = tmp - dicbuf; - jrec -> dicid = curdict->dicid; + jrec->jseg = prevseg; + jrec->jofsst = ptr - dicbuf; + jrec->jofsed = tmp - dicbuf; + jrec->dicid = curdict->dicid; } } +void setcrec(unsigned char* tagp) { + JREC* rec; -void -setcrec(unsigned char* tagp) -{ - JREC *rec; + if(!(rec = argjrec((int)ClYomiLen(tagp), (JREC*)NULL))) return; - - if (!(rec = argjrec((int)ClYomiLen(tagp), (JREC *)NULL))) return; - - - rec -> jofsst = tagp - ClStudyDict; - rec -> class = C_BUNSETU; - rec -> hinsi = ClGramCode(tagp); + rec->jofsst = tagp - ClStudyDict; + rec->class = C_BUNSETU; + rec->hinsi = ClGramCode(tagp); } diff --git a/setkouho.c b/setkouho.c index d20c75e..fc96bbc 100644 --- a/setkouho.c +++ b/setkouho.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,268 +28,230 @@ */ /* - * $SonyRCSfile: setkouho.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: setkouho.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:20 $ * * $Id$ */ - #include "sj_euc.h" #include "sj_kcnv.h" #include "sj_hinsi.h" #include "kanakan.h" -static int hiraknj(unsigned char *p); +static int hiraknj(unsigned char* p); +void setkouho(CLREC* clrec, TypeDicOfs offs, int mode) { + JREC* jrec; + KHREC* kptr; + unsigned char* fptr; + int flg; + int i; -void -setkouho(CLREC* clrec, TypeDicOfs offs, int mode) -{ - JREC *jrec; - KHREC *kptr; - unsigned char *fptr; - int flg; - int i; + if(khcount >= MaxKouhoNumber) return; - - if (khcount >= MaxKouhoNumber) return; + jrec = clrec->jnode; - jrec = clrec -> jnode; - - kptr = &kouhotbl[khcount++]; - - if (mode && !offs) nkhcount++; + if(mode && !offs) nkhcount++; - kptr -> clrec = clrec; - kptr -> offs = offs; - kptr -> rank = 0; - kptr -> styno = 0; - kptr -> mode = (unsigned char)mode; + kptr->clrec = clrec; + kptr->offs = offs; + kptr->rank = 0; + kptr->styno = 0; + kptr->mode = (unsigned char)mode; - - if (jrec -> flags & JFLAG_KA) { - kptr -> ka_fg = 1; - kptr -> ka_kj = 1; - flg = 1; + if(jrec->flags & JFLAG_KA) { + kptr->ka_fg = 1; + kptr->ka_kj = 1; + flg = 1; } - - else if (clrec -> fzk_ka) { - kptr -> ka_fg = 1; - kptr -> ka_kj = 0; - flg = 2; + + else if(clrec->fzk_ka) { + kptr->ka_fg = 1; + kptr->ka_kj = 0; + flg = 2; } - + else { - kptr -> ka_fg = 0; - kptr -> ka_kj = 0; - flg = 0; + kptr->ka_fg = 0; + kptr->ka_kj = 0; + flg = 0; } - - kptr -> sttfg = kptr -> sttkj = 0; + kptr->sttfg = kptr->sttkj = 0; - - if (!(fptr = Settou_ptr(jrec -> sttofs))) return; + if(!(fptr = Settou_ptr(jrec->sttofs))) return; - - if (!SttHiraKnj(fptr)) return; + if(!SttHiraKnj(fptr)) return; - - kptr -> sttfg = 1; - kptr -> sttkj = 0; + kptr->sttfg = 1; + kptr->sttkj = 0; - i = hiraknj(dicbuf + offs); - if (offs > 1 && (i == 2 || i == 3)) return; + if(offs > 1 && (i == 2 || i == 3)) return; - + if(khcount >= MaxKouhoNumber) return; - - if (khcount >= MaxKouhoNumber) return; - - kptr++; khcount++; - - if (mode && !offs) nkhcount++; + if(mode && !offs) nkhcount++; - kptr -> clrec = clrec; - kptr -> offs = offs; - kptr -> rank = 0; - kptr -> styno = 0; - kptr -> mode = (unsigned char)mode; + kptr->clrec = clrec; + kptr->offs = offs; + kptr->rank = 0; + kptr->styno = 0; + kptr->mode = (unsigned char)mode; - kptr -> sttfg = 1; - kptr -> sttkj = 1; + kptr->sttfg = 1; + kptr->sttkj = 1; - - switch (flg) { - case 1: kptr -> ka_fg = kptr -> ka_kj = 1; break; - case 2: kptr -> ka_fg = 1; kptr -> ka_kj = 0; break; - default: kptr -> ka_fg = kptr -> ka_kj = 0; break; + switch(flg) { + case 1: + kptr->ka_fg = kptr->ka_kj = 1; + break; + case 2: + kptr->ka_fg = 1; + kptr->ka_kj = 0; + break; + default: + kptr->ka_fg = kptr->ka_kj = 0; + break; } } +void ph_setkouho(CLREC* clrec, TypeDicOfs offs, STDYIN* sptr) { + JREC* jrec; + unsigned char* p; -void -ph_setkouho(CLREC* clrec, TypeDicOfs offs, STDYIN* sptr) -{ - JREC *jrec; - unsigned char *p; - - - if (sptr) { - stdytop = sptr; - kouhotbl[0].styno = sptr -> styno; - kouhotbl[0].sttkj = sptr -> sttkj; + if(sptr) { + stdytop = sptr; + kouhotbl[0].styno = sptr->styno; + kouhotbl[0].sttkj = sptr->sttkj; } - + else { - kouhotbl[0].styno = -1; - kouhotbl[0].sttkj = 0; + kouhotbl[0].styno = -1; + kouhotbl[0].sttkj = 0; } - - kouhotbl[0].clrec = clrec; - kouhotbl[0].offs = offs; - kouhotbl[0].rank = 0; + kouhotbl[0].clrec = clrec; + kouhotbl[0].offs = offs; + kouhotbl[0].rank = 0; - - kouhotbl[0].mode = sel_sjmode(jrec = clrec -> jnode); + kouhotbl[0].mode = sel_sjmode(jrec = clrec->jnode); - - kouhotbl[0].sttfg = (unsigned char) - ((p = Settou_ptr(jrec->sttofs)) ? (SttHiraKnj(p)?1:0) : 0); + kouhotbl[0].sttfg = (unsigned char)((p = Settou_ptr(jrec->sttofs)) ? (SttHiraKnj(p) ? 1 : 0) : 0); - - if (jrec -> flags & JFLAG_KA) { + if(jrec->flags & JFLAG_KA) { kouhotbl[0].ka_fg = - kouhotbl[0].ka_kj = 1; + kouhotbl[0].ka_kj = 1; } - - else if (clrec -> fzk_ka) { + + else if(clrec->fzk_ka) { kouhotbl[0].ka_fg = 1; kouhotbl[0].ka_kj = 0; } - + else { kouhotbl[0].ka_fg = - kouhotbl[0].ka_kj = 0; + kouhotbl[0].ka_kj = 0; } - khcount = 1; + khcount = 1; } - static int -hiraknj(unsigned char *p) -{ - char flg = TRUE; - int i; - int result; +hiraknj(unsigned char* p) { + char flg = TRUE; + int i; + int result; do { - if (p[codesize(*p)] == KanjiStrEnd) flg = FALSE; + if(p[codesize(*p)] == KanjiStrEnd) flg = FALSE; switch(*p & KanjiModeMask) { - case ZenHiraAssyuku: - result = hiraknj_hask(p, &i); break; - - case ZenKataAssyuku: - result = hiraknj_kask(p, &i); break; - - case OffsetAssyuku: - result = hiraknj_ofs(p, &i); break; - - case AiAttribute: - result = hiraknj_atrb(p, &i); break; - - case LeadingHankaku: - result = hiraknj_norm(p, &i); break; + case ZenHiraAssyuku: + result = hiraknj_hask(p, &i); + break; - case KanjiAssyuku: - result = hiraknj_knj(p, &i); break; + case ZenKataAssyuku: + result = hiraknj_kask(p, &i); + break; - default: + case OffsetAssyuku: + result = hiraknj_ofs(p, &i); + break; + + case AiAttribute: + result = hiraknj_atrb(p, &i); + break; + + case LeadingHankaku: + result = hiraknj_norm(p, &i); + break; + + case KanjiAssyuku: + result = hiraknj_knj(p, &i); + break; + + default: result = hiraknj_hira(p, &i); } - if (result) return result; + if(result) return result; - p += i; - } while (flg); + p += i; + } while(flg); return 0; } - -int -hiraknj_atrb(unsigned char* p, int* len) -{ +int hiraknj_atrb(unsigned char* p, int* len) { *len = 2; return 0; } - -int -hiraknj_ofs(unsigned char* p, int* len) -{ +int hiraknj_ofs(unsigned char* p, int* len) { *len = 2; - return hiraknj(dicbuf + ((*p & KanjiCodeMask) << 8) + *(p + 1)); + return hiraknj(dicbuf + ((*p & KanjiCodeMask) << 8) + *(p + 1)); } - -int -hiraknj_knj(unsigned char* p, int* len) -{ +int hiraknj_knj(unsigned char* p, int* len) { *len = 1; return hiraknj(askknj[*p & KnjAssyukuMask]); } - -int -hiraknj_hask(unsigned char* p, int* len) -{ +int hiraknj_hask(unsigned char* p, int* len) { *len = 1; return 2; } - -int -hiraknj_kask(unsigned char* p, int* len) -{ +int hiraknj_kask(unsigned char* p, int* len) { *len = 1; return 3; } - -int -hiraknj_norm(unsigned char* p, int* len) -{ +int hiraknj_norm(unsigned char* p, int* len) { *len = codesize(*p); return 1; } - -int -hiraknj_hira(unsigned char* p, int* len) -{ - unsigned char ch; +int hiraknj_hira(unsigned char* p, int* len) { + unsigned char ch; *len = codesize(*p); - ch = *(p + 1); + ch = *(p + 1); - switch (*p) { + switch(*p) { case 0x24: - if (ch >= 0x21 && ch <= 0x73) return 2; + if(ch >= 0x21 && ch <= 0x73) return 2; return 1; case 0x25: - if (ch >= 0x21 && ch <= 0x76) return 3; + if(ch >= 0x21 && ch <= 0x76) return 3; return 1; default: diff --git a/setubi.c b/setubi.c index 598fcd3..ca16dda 100644 --- a/setubi.c +++ b/setubi.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,57 +28,51 @@ */ /* - * $SonyRCSfile: setubi.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: setubi.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:22 $ * * $Id$ */ - #include #include "sj_kcnv.h" #include "sj_hinsi.h" #include "kanakan.h" unsigned char* -getstb(TypeGram hinsi) -{ - if (hinsi < MEISI_1 || hinsi > TIMEI) return NULL; +getstb(TypeGram hinsi) { + if(hinsi < MEISI_1 || hinsi > TIMEI) return NULL; return Stbadr(hinsi); } - -void -setubi(JREC *rec, unsigned char *stbtbl) -{ - unsigned char *stb; - unsigned char *yptr; - unsigned char *sptr; - int slen; - JREC *new; - int cmp; +void setubi(JREC* rec, unsigned char* stbtbl) { + unsigned char* stb; + unsigned char* yptr; + unsigned char* sptr; + int slen; + JREC* new; + int cmp; stb = stbtbl--; - yptr = cnvstart + rec -> jlen; + yptr = cnvstart + rec->jlen; - for ( ; *stb ; stb = sptr + slen + StbKnjLen(stb)) { + for(; *stb; stb = sptr + slen + StbKnjLen(stb)) { slen = StbYomiLen(stb); sptr = StbYomiTop(stb); cmp = strncmp(yptr, sptr, slen); - if (cmp == OVER || cmp == PARTLY) break; + if(cmp == OVER || cmp == PARTLY) break; - if ((cmp != MATCH) || isdpnd(*(yptr + slen))) continue; + if((cmp != MATCH) || isdpnd(*(yptr + slen))) continue; - if (!(new = argjrec((int)(rec -> jlen + slen), rec))) continue; + if(!(new = argjrec((int)(rec->jlen + slen), rec))) continue; - new -> stbofs = (unsigned char)(stb - stbtbl); - new -> flags |= StbBakeru(stb) ? JFLAG_KA : 0; + new->stbofs = (unsigned char)(stb - stbtbl); + new->flags |= StbBakeru(stb) ? JFLAG_KA : 0; } } - diff --git a/setup.c b/setup.c index f449715..7804387 100644 --- a/setup.c +++ b/setup.c @@ -1,7 +1,7 @@ /* * Copyright (c) 1991-1994 Sony Corporation * Copyright (c) 1996 Hidekazu Kuroki - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -9,10 +9,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -20,7 +20,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -29,16 +29,13 @@ */ /* - * $SonyRCSfile: setup.c,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: setup.c,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1994/12/09 11:27:07 $ * * $Id$ */ - - - #include "sj_sysvdef.h" #include #include @@ -60,417 +57,400 @@ #define NO_GET_INT #include "server.h" -typedef struct strlist { - unsigned char *str1; - unsigned char *str2; - struct strlist *link; +typedef struct strlist { + unsigned char* str1; + unsigned char* str2; + struct strlist* link; } StrList; -char program_name [PathNameLen]; -char runcmd_file [PathNameLen]; +char program_name[PathNameLen]; +char runcmd_file[PathNameLen]; -char *debug_file = NULL; -int debug_level = -1; -int fork_flag = -1; +char* debug_file = NULL; +int debug_level = -1; +int fork_flag = -1; -int max_client = -1; -char *dict_dir = NULL; -StrList *read_dict = NULL; -StrList *open_dict = NULL; -char *error_file = NULL; -char *log_file = NULL; -char *port_name = NULL; +int max_client = -1; +char* dict_dir = NULL; +StrList* read_dict = NULL; +StrList* open_dict = NULL; +char* error_file = NULL; +char* log_file = NULL; +char* port_name = NULL; #ifdef TLI -char *port_number = NULL; +char* port_number = NULL; #else -int port_number = -1; +int port_number = -1; #endif -char *socket_name = NULL; -#ifdef LOCK_FILE -char *lock_file = NULL; +char* socket_name = NULL; +#ifdef LOCK_FILE +char* lock_file = NULL; #endif -int dir_mode = -1; -int file_mode = S_IRUSR|S_IWUSR; -StrList *allow_user = NULL; +int dir_mode = -1; +int file_mode = S_IRUSR | S_IWUSR; +StrList* allow_user = NULL; #ifdef TLI -char *proto_name = NULL; +char* proto_name = NULL; #endif -static int line_number; +static int line_number; - -#ifdef OLD -#else /* !OLD */ -void -RcError(char* p) -{ +#ifdef OLD +#else /* !OLD */ +void RcError(char* p) { fprintf(stderr, "%s: \"%s\", line %d: %s\r\n", program_name, runcmd_file, line_number, p); fflush(stderr); exit(1); } -void -RcWarning(char* p) -{ +void RcWarning(char* p) { fprintf(stderr, "%s: warning: \"%s\", line %d: %s\r\n", program_name, runcmd_file, line_number, p); fflush(stderr); } #endif /* !OLD */ - static int -cmpstr(unsigned char* src, unsigned char* dst) -{ - int flg; - int c; +cmpstr(unsigned char* src, unsigned char* dst) { + int flg; + int c; flg = (isupper(*src)) ? -1 : 0; - while (*src) { + while(*src) { c = flg ? *dst : (isupper(*dst) ? tolower(*dst) : *dst); - if (*src != c) return -1; + if(*src != c) return -1; src += 1; dst += 1; } - if (*dst) return -1; + if(*dst) return -1; return 0; } - - -static unsigned char *get_str(p, pv_dst) -unsigned char *p; -void *pv_dst; +static unsigned char* get_str(p, pv_dst) +unsigned char* p; +void* pv_dst; { - char **dst; + char** dst; dst = pv_dst; - if (!*dst) { - *dst = malloc(strlen((char *)p) + 1); - if (!*dst) RcError("no more memory"); - strcpy(*dst, (char *)p); + if(!*dst) { + *dst = malloc(strlen((char*)p) + 1); + if(!*dst) RcError("no more memory"); + strcpy(*dst, (char*)p); } - while (*p++) ; + while(*p++); return p; } -static unsigned char *get_int(p, pv_dst) -unsigned char *p; -void *pv_dst; +static unsigned char* get_int(p, pv_dst) +unsigned char* p; +void* pv_dst; { - char *fmt; - int *dst; + char* fmt; + int* dst; dst = pv_dst; fmt = (*p == '0') ? "%o" : "%d"; - if (sscanf((char *)p, fmt, dst) != 1) RcError("bad integer"); - while (*p++) ; + if(sscanf((char*)p, fmt, dst) != 1) RcError("bad integer"); + while(*p++); return p; } -static unsigned char *get_flag(p, pv_dst) -unsigned char *p; -void *pv_dst; +static unsigned char* get_flag(p, pv_dst) +unsigned char* p; +void* pv_dst; { - int *dst; + int* dst; dst = pv_dst; - if (sscanf((char *)p, "%d", dst) == 1) + if(sscanf((char*)p, "%d", dst) == 1) ; - else if (!cmpstr("on", p)) + else if(!cmpstr("on", p)) *dst = -1; - else if (!cmpstr("off", p)) + else if(!cmpstr("off", p)) *dst = 0; else RcError("bad flag"); - while (*p++) ; + while(*p++); return p; } - static unsigned char* -get_list(unsigned char* p, StrList** dst) -{ - StrList *s1, *s2; +get_list(unsigned char* p, StrList** dst) { + StrList *s1, *s2; - if (*p) { - s1 = (StrList *)malloc(sizeof(StrList)); - if (!s1) RcError("no more memory"); - s1 -> link = NULL; + if(*p) { + s1 = (StrList*)malloc(sizeof(StrList)); + if(!s1) RcError("no more memory"); + s1->link = NULL; - s1 -> str1 = (unsigned char *)malloc(strlen((char *)p) + 1); - if (!(s1 -> str1)) RcError("no more memory"); - strcpy((char *)s1 -> str1, (char *)p); - while (*p++) ; + s1->str1 = (unsigned char*)malloc(strlen((char*)p) + 1); + if(!(s1->str1)) RcError("no more memory"); + strcpy((char*)s1->str1, (char*)p); + while(*p++); - if (*p) { - s1 -> str2 = (unsigned char *)malloc(strlen((char *)p) + 1); - if (!(s1 -> str2)) RcError("no more memory"); - strcpy((char *)s1 -> str2, (char *)p); - while (*p++) ; - } - else - s1 -> str2 = NULL; + if(*p) { + s1->str2 = (unsigned char*)malloc(strlen((char*)p) + 1); + if(!(s1->str2)) RcError("no more memory"); + strcpy((char*)s1->str2, (char*)p); + while(*p++); + } else + s1->str2 = NULL; - if (*dst) { - for (s2 = *dst ; s2 -> link ; s2 = s2 -> link) - ; - s2 -> link = s1; - } - else + if(*dst) { + for(s2 = *dst; s2->link; s2 = s2->link); + s2->link = s1; + } else *dst = s1; } return p; } - - -struct optlist { - char *optname; - unsigned char *(*optfunc)(); - void *optarg; +struct optlist { + char* optname; + unsigned char* (*optfunc)(); + void* optarg; } option[] = { -/* - * Add option flag. - * Because They are lacked in here. See document. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - {"DebugOut", get_str, &debug_file}, - {"debugout", get_str, &debug_file}, - {"DebugLevel", get_int, &debug_level}, - {"debuglevel", get_int, &debug_level}, - {"ForkFlag", get_flag, &fork_flag}, - {"forkflag", get_flag, &fork_flag}, + /* + * Add option flag. + * Because They are lacked in here. See document. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + {"DebugOut", get_str, &debug_file}, + {"debugout", get_str, &debug_file}, + {"DebugLevel", get_int, &debug_level}, + {"debuglevel", get_int, &debug_level}, + {"ForkFlag", get_flag, &fork_flag}, + {"forkflag", get_flag, &fork_flag}, - {"PortName", get_str, &port_name}, - {"portname", get_str, &port_name}, + {"PortName", get_str, &port_name}, + {"portname", get_str, &port_name}, #ifdef TLI - {"PortNumber", get_str, &port_number}, - {"portnumber", get_str, &port_number}, - {"ProtoName", get_str, &proto_name}, - {"protoname", get_str, &proto_name}, + {"PortNumber", get_str, &port_number}, + {"portnumber", get_str, &port_number}, + {"ProtoName", get_str, &proto_name}, + {"protoname", get_str, &proto_name}, #else - {"PortNumber", get_int, &port_number}, - {"portnumber", get_int, &port_number}, + {"PortNumber", get_int, &port_number}, + {"portnumber", get_int, &port_number}, #endif - {"SocketName", get_str, &socket_name}, - {"socketname", get_str, &socket_name}, -#ifdef LOCK_FILE - {"LockFile", get_str, &lock_file}, - {"lockfile", get_str, &lock_file}, + {"SocketName", get_str, &socket_name}, + {"socketname", get_str, &socket_name}, +#ifdef LOCK_FILE + {"LockFile", get_str, &lock_file}, + {"lockfile", get_str, &lock_file}, #endif - {"MaxClient", get_int, &max_client}, - {"maxclient", get_int, &max_client}, - {"DictDir", get_str, &dict_dir}, - {"dictdir", get_str, &dict_dir}, - {"ReadDict", get_list, &read_dict}, - {"readdict", get_list, &read_dict}, - {"OpenDict", get_list, &open_dict}, - {"opendict", get_list, &open_dict}, - {"ErrorOut", get_str, &error_file}, - {"errorout", get_str, &error_file}, - {"LogOut", get_str, &log_file}, - {"logout", get_str, &log_file}, - {"DirMode", get_int, &dir_mode}, - {"dirmode", get_int, &dir_mode}, - {"FileMode", get_int, &file_mode}, - {"filemode", get_int, &file_mode}, - {"AllowUser", get_list, &allow_user}, - {"allowuser", get_list, &allow_user}, - {0, 0, 0} -}; + {"MaxClient", get_int, &max_client}, + {"maxclient", get_int, &max_client}, + {"DictDir", get_str, &dict_dir}, + {"dictdir", get_str, &dict_dir}, + {"ReadDict", get_list, &read_dict}, + {"readdict", get_list, &read_dict}, + {"OpenDict", get_list, &open_dict}, + {"opendict", get_list, &open_dict}, + {"ErrorOut", get_str, &error_file}, + {"errorout", get_str, &error_file}, + {"LogOut", get_str, &log_file}, + {"logout", get_str, &log_file}, + {"DirMode", get_int, &dir_mode}, + {"dirmode", get_int, &dir_mode}, + {"FileMode", get_int, &file_mode}, + {"filemode", get_int, &file_mode}, + {"AllowUser", get_list, &allow_user}, + {"allowuser", get_list, &allow_user}, + {0, 0, 0}}; - - -static int skip_blank(fp) -FILE *fp; +static int skip_blank(fp) +FILE* fp; { - int c; + int c; c = getc(fp); - while (c == ' ' || c == '\t') c = getc(fp); + while(c == ' ' || c == '\t') c = getc(fp); return c; } -static int skip_line(fp) -FILE *fp; +static int skip_line(fp) +FILE* fp; { - int c; + int c; c = getc(fp); - while (c != '\n' && c != EOF) c = getc(fp); + while(c != '\n' && c != EOF) c = getc(fp); return c; } -static readln(fp, p, len) -FILE *fp; -char *p; -int len; +static readln(fp, p, len) + FILE* fp; +char* p; +int len; { - int c; - int quote = EOF; - int flg = 0; + int c; + int quote = EOF; + int flg = 0; c = skip_blank(fp); - while (c != '\n' && c != EOF) { - if (c == '\\') { - if ((c = getc(fp)) == EOF) break; - if (c == '\n') { - line_number++; c = getc(fp); continue; + while(c != '\n' && c != EOF) { + if(c == '\\') { + if((c = getc(fp)) == EOF) break; + if(c == '\n') { + line_number++; + c = getc(fp); + continue; } - switch (c) { - case 'n': c = '\n'; break; - case 't': c = '\t'; break; - case 'r': c = '\r'; break; - default: break; + switch(c) { + case 'n': + c = '\n'; + break; + case 't': + c = '\t'; + break; + case 'r': + c = '\r'; + break; + default: + break; } - } - else if (c == '^') { + } else if(c == '^') { c = getc(fp); - if (c < '@' || '_' < c) { - ungetc(c, fp); c = '^'; - } - else + if(c < '@' || '_' < c) { + ungetc(c, fp); + c = '^'; + } else c -= '@'; - } - else if (c == quote) { - quote = EOF; c = getc(fp); continue; - } - else if (quote != EOF) + } else if(c == quote) { + quote = EOF; + c = getc(fp); + continue; + } else if(quote != EOF) ; - else if (c == '\'' || c == '"') { - quote = c; c = getc(fp); continue; - } - else if (c == '#') { - len -= 1; *p++ = 0; flg = 0; - c = skip_line(fp); continue; - } - else if (c == ' ' || c == '\t') { - len -= 1; *p++ = 0; flg = 0; - c = skip_blank(fp); continue; + else if(c == '\'' || c == '"') { + quote = c; + c = getc(fp); + continue; + } else if(c == '#') { + len -= 1; + *p++ = 0; + flg = 0; + c = skip_line(fp); + continue; + } else if(c == ' ' || c == '\t') { + len -= 1; + *p++ = 0; + flg = 0; + c = skip_blank(fp); + continue; } - if (len > 2) { len -= 1; *p++ = c; flg = -1; } + if(len > 2) { + len -= 1; + *p++ = c; + flg = -1; + } c = getc(fp); } line_number++; - if (flg) *p++ = 0; + if(flg) *p++ = 0; *p++ = 0; return c; } -int -read_line(FILE* fp, char* buf, int len) -{ - int flg; +int read_line(FILE* fp, char* buf, int len) { + int flg; do { flg = readln(fp, buf, len); - if (*buf) return 0; - } while (flg != EOF); + if(*buf) return 0; + } while(flg != EOF); return EOF; } - - -void -read_runcmd(void) -{ - FILE *fp; +void read_runcmd(void) { + FILE* fp; unsigned char buf[BUFSIZ]; - struct optlist *opt; - unsigned char *p; + struct optlist* opt; + unsigned char* p; - if (!(fp = fopen(runcmd_file, "r"))) { + if(!(fp = fopen(runcmd_file, "r"))) { warning_out("Can't open run-command file \"%s\"", runcmd_file); return; } line_number = 0; - while (read_line(fp, buf, sizeof(buf)) != EOF) { - for (opt = option ; (p = (unsigned char *)opt -> optname) != NULL ; opt++) - if (!cmpstr(p, buf)) break; - if (p) { - p = buf; while (*p++) ; + while(read_line(fp, buf, sizeof(buf)) != EOF) { + for(opt = option; (p = (unsigned char*)opt->optname) != NULL; opt++) + if(!cmpstr(p, buf)) break; + if(p) { + p = buf; + while(*p++); p = (*opt->optfunc)(p, opt->optarg); - } - else + } else RcError("undefined option"); - if (*p) RcError("too many argment"); + if(*p) RcError("too many argment"); } fclose(fp); } - static void -set_defstr(char** d, char* s) -{ - if (*d == NULL && s) { +set_defstr(char** d, char* s) { + if(*d == NULL && s) { *d = malloc(strlen(s) + 1); - if (!*d) error_out("failed at memory allocation"); + if(!*d) error_out("failed at memory allocation"); strcpy(*d, s); } } - static void -set_defint(int* d, int s) -{ - if (*d < 0) *d = s; +set_defint(int* d, int s) { + if(*d < 0) *d = s; } - -void -set_default(void) -{ - set_defstr(&debug_file, DebugOutFile); - set_defstr(&error_file, ErrorOutFile); - set_defstr(&dict_dir, DictRootDir); - set_defstr(&log_file, LogOutFile); - set_defstr(&port_name, PortName); - set_defstr(&socket_name, SocketName); -#ifdef LOCK_FILE - set_defstr(&lock_file, LockFile); +void set_default(void) { + set_defstr(&debug_file, DebugOutFile); + set_defstr(&error_file, ErrorOutFile); + set_defstr(&dict_dir, DictRootDir); + set_defstr(&log_file, LogOutFile); + set_defstr(&port_name, PortName); + set_defstr(&socket_name, SocketName); +#ifdef LOCK_FILE + set_defstr(&lock_file, LockFile); #endif #ifdef TLI - set_defstr(&proto_name, ProtoName); + set_defstr(&proto_name, ProtoName); #endif - set_defint(&debug_level, DebugLevel); - set_defint(&fork_flag, ForkFlag); - set_defint(&max_client, MaxClientNum); + set_defint(&debug_level, DebugLevel); + set_defint(&fork_flag, ForkFlag); + set_defint(&max_client, MaxClientNum); #ifdef TLI - set_defstr(&port_number, PortNumber); + set_defstr(&port_number, PortNumber); #else - set_defint(&port_number, PortNumber); + set_defint(&port_number, PortNumber); #endif - set_defint(&dir_mode, DirectryMode); - set_defint(&file_mode, DictFileMode); + set_defint(&dir_mode, DirectryMode); + set_defint(&file_mode, DictFileMode); } +void parse_arg(int argc, char** argv) { + int c; + int errflg = 0; + char* p; + size_t ret; -void -parse_arg(int argc, char** argv) -{ - int c; - int errflg = 0; - char *p; - size_t ret; - - extern char *optarg; - extern int optind; + extern char* optarg; + extern int optind; p = (p = strrchr(argv[0], '/')) ? p + 1 : argv[0]; - strlcpy(program_name, p, sizeof(program_name)); - strlcpy(runcmd_file, RunCmdFile, sizeof(runcmd_file)); + strlcpy(program_name, p, sizeof(program_name)); + strlcpy(runcmd_file, RunCmdFile, sizeof(runcmd_file)); - while ((c = getopt(argc, argv, "f:")) != EOF) { - switch (c) { + while((c = getopt(argc, argv, "f:")) != EOF) { + switch(c) { case 'f': ret = strlcpy(runcmd_file, optarg, sizeof(runcmd_file)); - if (ret > sizeof(runcmd_file)) + if(ret > sizeof(runcmd_file)) errflg++; break; @@ -481,32 +461,29 @@ parse_arg(int argc, char** argv) } } - if (errflg || optind < argc) { + if(errflg || optind < argc) { fprintf(stderr, "Usage: %s [-f RunCmdFile]\n", program_name); exit(1); } } +void preload_dict(void) { + StrList* p; + char filename[PathNameLen]; -void -preload_dict(void) -{ - StrList *p; - char filename[PathNameLen]; - - work_base = (Global *)malloc(sizeof(Global)); - if (!work_base) { + work_base = (Global*)malloc(sizeof(Global)); + if(!work_base) { warning_out("can't load default dictionary(not enough memory)"); return; } - for (p = read_dict ; p ; p = p -> link) { - strncpy(filename, (char *)p -> str1, sizeof(filename)); + for(p = read_dict; p; p = p->link) { + strncpy(filename, (char*)p->str1, sizeof(filename)); filename[sizeof(filename) - 1] = '\0'; - if (make_full_path(filename)) - warning_out("too long filename \"%s\"", p -> str1); + if(make_full_path(filename)) + warning_out("too long filename \"%s\"", p->str1); - else if (opendict(filename, p -> str2)) + else if(opendict(filename, p->str2)) logging_out("load dictionary \"%s\"", filename); else @@ -516,77 +493,70 @@ preload_dict(void) free(work_base); } -void -preopen_dict(void) -{ - StrList *p; - char filename[PathNameLen]; - DICT *dict; - DICTL *dictl; +void preopen_dict(void) { + StrList* p; + char filename[PathNameLen]; + DICT* dict; + DICTL* dictl; - work_base = global_work_base = (Global *)malloc(sizeof(Global)); - if (!work_base) { + work_base = global_work_base = (Global*)malloc(sizeof(Global)); + if(!work_base) { warning_out("can't open default dictionary(not enough memory)"); return; } memset(work_base, 0, sizeof(Global)); - for (p = open_dict ; p ; p = p -> link) { - strncpy(filename, p -> str1, sizeof(filename)); + for(p = open_dict; p; p = p->link) { + strncpy(filename, p->str1, sizeof(filename)); filename[sizeof(filename) - 1] = '\0'; - if (make_full_path(filename)) - warning_out("too long filename \"%s\"", p -> str1); + if(make_full_path(filename)) + warning_out("too long filename \"%s\"", p->str1); - else if ((dict = (DICT *)opendict(filename, p -> str2)) != NULL) { + else if((dict = (DICT*)opendict(filename, p->str2)) != NULL) { logging_out("open dictionary \"%s\"", filename); - if ((dictl = (DICTL *)malloc(sizeof *dictl)) == NULL) { - closedict((DictFile *)dict); - warning_out("can't open dictionary \"%s\"", filename); + if((dictl = (DICTL*)malloc(sizeof *dictl)) == NULL) { + closedict((DictFile*)dict); + warning_out("can't open dictionary \"%s\"", filename); continue; } - dictl -> dict = dict; - dictl -> next = dictlist; - dictlist = dictl; + dictl->dict = dict; + dictl->next = dictlist; + dictlist = dictl; } else warning_out("can't open dictionary \"%s\"", filename); } } - static int -str_match(char* s, char* d) -{ - while (*d) { - if (*s == '*') { - while (*s == '*') s++; - if (!*s) return TRUE; - while (*d) { - if (str_match(s, d)) return TRUE; +str_match(char* s, char* d) { + while(*d) { + if(*s == '*') { + while(*s == '*') s++; + if(!*s) return TRUE; + while(*d) { + if(str_match(s, d)) return TRUE; d++; } return FALSE; } - if (*s != '?' && *s != *d) break; + if(*s != '?' && *s != *d) break; s++; d++; } return (!*s) ? TRUE : FALSE; } +int check_user(char* user, char* host) { + StrList* p; -int -check_user(char* user, char* host) -{ - StrList *p; + if(!allow_user) return TRUE; - if (!allow_user) return TRUE; + for(p = allow_user; p; p = p->link) { + if(!str_match(p->str1, user)) continue; - for (p = allow_user ; p ; p = p -> link) { - if (!str_match(p -> str1, user)) continue; - - if (p -> str2) - if (!str_match(p -> str2, host)) continue; + if(p->str2) + if(!str_match(p->str2, host)) continue; return TRUE; } diff --git a/sj2.h b/sj2.h index aee158a..637d7eb 100644 --- a/sj2.h +++ b/sj2.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -51,7 +51,6 @@ #undef HUPCL #endif - #include #ifdef SVR4 #include @@ -65,104 +64,88 @@ #if defined(BSD4_3) || defined(SVR4) #define BSD43 -#endif +#endif #ifdef __sony_news -#ifdef KM_EUC +#ifdef KM_EUC #ifndef EUC #define EUC -#endif -#endif +#endif +#endif #else #ifndef EUC #define EUC #endif #endif +#ifdef NOTDEF +#define WBUFF 512 +#endif +#define BUFFLENGTH 128 +#define LONGLENGTH 256 +#define SHORTLENGTH 32 +#define DOUONLEN 32 +#define DOUON_N 257 /* 256 + 1 (Zenkaku Kana) */ +#define SHORTBUFFSIZE 16 +#define RSIZE 256 +#define TCBUFSIZE 1024 +#define AREASIZE 256 + +#define MAXLINE 256 +#define MAXWORD 256 +#define WORDN 32 + +#define KB_KANA 0 +#define KB_ROMA 1 + +#define MAXSERVER 16 + +#define MODE_ZEN 0x10 +#define MODE_CONV 0x04 +#define MODE_ALPHA 0x02 +#define MODE_KATA 0x01 +#define MODE_CODE 0x08 + MODE_ZEN +#define CODE_SJIS 0 +#define CODE_JIS 1 +#define CODE_JIS2 2 +#define CODE_EUC 3 +#define CODE_EUC2 4 +#define CODE_KUTEN 5 +#define CODE_KUTEN2 6 +#define OMODE_ZEN 0x80 +#define OMODE_MASK 0x1f + +#define MODE_HALPHA MODE_ALPHA +#define MODE_ZALPHA MODE_ZEN + MODE_ALPHA +#define MODE_HKATA MODE_CONV +#define MODE_ZHIRA MODE_ZEN + MODE_CONV +#define MODE_ZKATA MODE_ZHIRA + MODE_KATA #ifdef NOTDEF -#define WBUFF 512 +#define OTHER 0 +#define NEWS 1 +#define ONEWS 2 +#define JTERM 3 +#define OJTERM 4 +#define NWP511 5 +#define NWP517 6 #endif -#define BUFFLENGTH 128 -#define LONGLENGTH 256 -#define SHORTLENGTH 32 -#define DOUONLEN 32 -#define DOUON_N 257 /* 256 + 1 (Zenkaku Kana) */ -#define SHORTBUFFSIZE 16 -#define RSIZE 256 -#define TCBUFSIZE 1024 -#define AREASIZE 256 +#define OTHER_KB 0 +#define NEWS_KB 1 -#define MAXLINE 256 -#define MAXWORD 256 -#define WORDN 32 +#define MINCOL 72 -#define KB_KANA 0 -#define KB_ROMA 1 - - -#define MAXSERVER 16 - - - - -#define MODE_ZEN 0x10 -#define MODE_CONV 0x04 -#define MODE_ALPHA 0x02 -#define MODE_KATA 0x01 -#define MODE_CODE 0x08 + MODE_ZEN -#define CODE_SJIS 0 -#define CODE_JIS 1 -#define CODE_JIS2 2 -#define CODE_EUC 3 -#define CODE_EUC2 4 -#define CODE_KUTEN 5 -#define CODE_KUTEN2 6 -#define OMODE_ZEN 0x80 -#define OMODE_MASK 0x1f - -#define MODE_HALPHA MODE_ALPHA -#define MODE_ZALPHA MODE_ZEN + MODE_ALPHA -#define MODE_HKATA MODE_CONV -#define MODE_ZHIRA MODE_ZEN + MODE_CONV -#define MODE_ZKATA MODE_ZHIRA + MODE_KATA - - - -#ifdef NOTDEF -#define OTHER 0 -#define NEWS 1 -#define ONEWS 2 -#define JTERM 3 -#define OJTERM 4 -#define NWP511 5 -#define NWP517 6 -#endif - -#define OTHER_KB 0 -#define NEWS_KB 1 - -#define MINCOL 72 - - - -#define STDIN 0 -#define STDOUT 1 - - - -#define BS '\010' -#define ESC '\033' -#define DEL '\177' - - - -#define UNBUFF 0 -#define BUFF 1 +#define STDIN 0 +#define STDOUT 1 +#define BS '\010' +#define ESC '\033' +#define DEL '\177' +#define UNBUFF 0 +#define BUFF 1 /* * Remove warning. @@ -172,23 +155,21 @@ #if (TRUE != 0) || (TRUE != -1) #undef TRUE #undef FALSE -#define TRUE 0 -#define FALSE -1 +#define TRUE 0 +#define FALSE -1 #endif #else -#define TRUE 0 -#define FALSE -1 +#define TRUE 0 +#define FALSE -1 #endif - -struct wordent { - wchar16_t word_str[MAXWORD]; - }; - - -struct valtbl { - wchar16_t *keyword; - int ivalue; +struct wordent { + wchar16_t word_str[MAXWORD]; }; -#define aprintf printf +struct valtbl { + wchar16_t* keyword; + int ivalue; +}; + +#define aprintf printf diff --git a/sj2code.c b/sj2code.c index 1423c03..72bd86c 100644 --- a/sj2code.c +++ b/sj2code.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,105 +28,98 @@ */ /* - * $SonyRCSfile: sj2code.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: sj2code.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1995/07/21 05:22:51 $ */ - - - #include "sj_euc.h" #include "sj_kcnv.h" #include "sj_yomi.h" -int sj2cd_chr(euc, yomi) -unsigned char *euc; -unsigned char *yomi; +int sj2cd_chr(euc, yomi) +unsigned char* euc; +unsigned char* yomi; { - unsigned char chr; + unsigned char chr; - if ((chr = *euc++) == EUC_a1) { + if((chr = *euc++) == EUC_a1) { chr = *euc; - if (chr < EUC_START) + if(chr < EUC_START) *yomi = Y_ZENKAKU; - else if (chr <= EUC_END) + else if(chr <= EUC_END) *yomi = Kigou[chr - EUC_START]; else *yomi = Y_ZENKAKU; - } else if (chr == EUC_a2) { + } else if(chr == EUC_a2) { chr = *euc; - if (chr < EUC_START) + if(chr < EUC_START) *yomi = Y_ZENKAKU; - else if (chr <= EUC_END_KIGOU) + else if(chr <= EUC_END_KIGOU) *yomi = Kigou[chr - EUC_START + 94]; else *yomi = Y_ZENKAKU; - } else if (chr == EUC_a3) { + } else if(chr == EUC_a3) { chr = *euc; - if (chr < EUC_0) - *yomi = Y_ZENKAKU; - else if (chr <= EUC_END_0) - *yomi = chr - EUC_0 + N_0; - else if (chr < EUC_A) - *yomi = Y_ZENKAKU; - else if (chr <= EUC_END_A) - *yomi = chr - EUC_A + A_A; - else if (chr < EUC_a) - *yomi = Y_ZENKAKU; - else if (chr <= EUC_END_a) - *yomi = chr - EUC_a + A_a; - else - *yomi = Y_ZENKAKU; - } else if (chr == EUC_a4) { - chr = *euc; - if (chr < EUC_START) + if(chr < EUC_0) *yomi = Y_ZENKAKU; - else if (chr <= EUC_END_HIRA) - *yomi = chr - EUC_START + _XA; + else if(chr <= EUC_END_0) + *yomi = chr - EUC_0 + N_0; + else if(chr < EUC_A) + *yomi = Y_ZENKAKU; + else if(chr <= EUC_END_A) + *yomi = chr - EUC_A + A_A; + else if(chr < EUC_a) + *yomi = Y_ZENKAKU; + else if(chr <= EUC_END_a) + *yomi = chr - EUC_a + A_a; else *yomi = Y_ZENKAKU; - } else if (chr == EUC_a5) { + } else if(chr == EUC_a4) { chr = *euc; - if (chr == EUC_VU) + if(chr < EUC_START) + *yomi = Y_ZENKAKU; + else if(chr <= EUC_END_HIRA) + *yomi = chr - EUC_START + _XA; + else + *yomi = Y_ZENKAKU; + } else if(chr == EUC_a5) { + chr = *euc; + if(chr == EUC_VU) *yomi = _VU; - else if (chr == EUC_XKA) + else if(chr == EUC_XKA) *yomi = _XKA; - else if (chr == EUC_XKE) + else if(chr == EUC_XKE) *yomi = _XKE; else *yomi = Y_ZENKAKU; - } - else { - - if (!(chr & 0x80)) { + } else { + + if(!(chr & 0x80)) { *yomi = Y_HANKAKU; return 1; - } else if (chr == SS2) { + } else if(chr == SS2) { *yomi = Y_HANKAKU; - } else if (chr == SS3) { + } else if(chr == SS3) { *yomi = Y_ZENKAKU; return 3; - } else - *yomi = Y_ZENKAKU; + } else + *yomi = Y_ZENKAKU; } return 2; } - - -int sj2cd_str(euc, yomi, len) -unsigned char *euc; -unsigned char *yomi; -int len; +int sj2cd_str(euc, yomi, len) +unsigned char* euc; +unsigned char* yomi; +int len; { - - if (!len--) return FALSE; - - while (*euc && len--) euc += sj2cd_chr(euc, yomi++); + if(!len--) return FALSE; + + while(*euc && len--) euc += sj2cd_chr(euc, yomi++); *yomi = 0; return *euc ? FALSE : TRUE; diff --git a/sj3.c b/sj3.c index 662c9e9..bfbb234 100644 --- a/sj3.c +++ b/sj3.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,19 +28,17 @@ */ /* - * $SonyRCSfile: sj3.c,v $ - * $SonyRevision: 1.7 $ + * $SonyRCSfile: sj3.c,v $ + * $SonyRevision: 1.7 $ * $SonyDate: 1997/01/23 11:26:30 $ */ - - #include "sj_sysvdef.h" #include "wchar16.h" #include #include #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__) -#define USE_OLD_TTY +#define USE_OLD_TTY #if defined(__NetBSD__) #define LACKOF_SETLOCALE #endif @@ -64,421 +62,379 @@ #define _PATH_UTMP "/etc/utmp" #endif - #ifdef SVR4 -#define killpg(pid, sig) kill(-(pid),(sig)) +#define killpg(pid, sig) kill(-(pid), (sig)) #define signal sigset #endif #ifndef linux -#define DEFAULTSHELL "/bin/csh" +#define DEFAULTSHELL "/bin/csh" #else -#define DEFAULTSHELL "/bin/sh" +#define DEFAULTSHELL "/bin/sh" #endif -#if defined(linux) && defined (__GLIBC__) && (__GLIBC__ >= 2) +#if defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2) #include #endif -int Lflag = 0; -int shell_flag = 0; +int Lflag = 0; +int shell_flag = 0; - - -char progname[LONGLENGTH]; -char shellname[LONGLENGTH]; -char home[LONGLENGTH]; -char user_name[SHORTLENGTH]; -char term_name[SHORTLENGTH]; -char shellprog[LONGLENGTH]; -char tty_name[SHORTLENGTH]; +char progname[LONGLENGTH]; +char shellname[LONGLENGTH]; +char home[LONGLENGTH]; +char user_name[SHORTLENGTH]; +char term_name[SHORTLENGTH]; +char shellprog[LONGLENGTH]; +char tty_name[SHORTLENGTH]; #ifdef SVR4 -char *slave_name; +char* slave_name; #else -char slave_name[SHORTLENGTH]; +char slave_name[SHORTLENGTH]; #endif -char *shellargs[SHORTLENGTH]; +char* shellargs[SHORTLENGTH]; #ifdef SVR4 -char *mptname = "/dev/ptmx"; -char *ptsname(int); +char* mptname = "/dev/ptmx"; +char* ptsname(int); #else -static char line[SHORTLENGTH]; +static char line[SHORTLENGTH]; #endif -char *cur_serv; - -char my_hname[MAXHOSTNAMELEN]; -char **serv_list; - - - -extern int vflag; -extern char **environ; -extern int status_line; - +char* cur_serv; +char my_hname[MAXHOSTNAMELEN]; +char** serv_list; +extern int vflag; +extern char** environ; +extern int status_line; #ifdef SYSV_TERMIOS -struct winsize Ttysize; +struct winsize Ttysize; #define ts_lines ws_row #define ts_cols ws_col #else -int Ttyslot; -struct ttysize Ttysize; +int Ttyslot; +struct ttysize Ttysize; #endif -int master; -int slave; +int master; +int slave; #ifdef SYSV_TERMIOS -struct termios b; +struct termios b; #else -struct sgttyb b; -struct tchars tc, tc1; -struct ltchars lc, lc1; -int lb; -int l; +struct sgttyb b; +struct tchars tc, tc1; +struct ltchars lc, lc1; +int lb; +int l; #endif #ifdef __sony_news -int jmode, jmode2; -struct jtchars jtc; +int jmode, jmode2; +struct jtchars jtc; #endif -int erase_char; -wchar16_t erase_str[2]; +int erase_char; +wchar16_t erase_str[2]; #ifdef SIGTYPE_VOID -void (*sigpipe)(); +void (*sigpipe)(); #else -int (*sigpipe)(); +int (*sigpipe)(); #endif -int Pid_shell; +int Pid_shell; +int current_locale; -int current_locale; - -int -main (int argc, char** argv) -{ - init (argv); - get_ttymode (); - init_messages (); - parsearg (argc, argv); - InitConversion (); - checkterm (); - getsjrc (); - print_version (); - getsjrk(erase_char); - sjinit (); - forkshell (); - inputprocess (); - done (); +int main(int argc, char** argv) { + init(argv); + get_ttymode(); + init_messages(); + parsearg(argc, argv); + InitConversion(); + checkterm(); + getsjrc(); + print_version(); + getsjrk(erase_char); + sjinit(); + forkshell(); + inputprocess(); + done(); } -void -makecore (void) -{ - chdir ("/tmp"); - setgid (getgid ()); - setuid (getuid ()); - abort (); +void makecore(void) { + chdir("/tmp"); + setgid(getgid()); + setuid(getuid()); + abort(); } +void init(char** argv) { + char* cp; -void -init (char** argv) -{ - char *cp; - - (void) signal (SIGTERM, (void (*)())done); - (void) signal (SIGWINCH, SIG_IGN); - (void) signal (SIGQUIT, (void (*)())makecore); - (void) signal (SIGBUS, (void (*)())makecore); - (void) signal (SIGSEGV, (void (*)())makecore); - (void) signal (SIGFPE, (void (*)())makecore); + (void)signal(SIGTERM, (void (*)())done); + (void)signal(SIGWINCH, SIG_IGN); + (void)signal(SIGQUIT, (void (*)())makecore); + (void)signal(SIGBUS, (void (*)())makecore); + (void)signal(SIGSEGV, (void (*)())makecore); + (void)signal(SIGFPE, (void (*)())makecore); /* * Remove warning. * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 */ #ifdef SIGTYPE_VOID - sigpipe = (void(*)()) signal (SIGPIPE, SIG_IGN); + sigpipe = (void (*)())signal(SIGPIPE, SIG_IGN); #else - sigpipe = (int(*)()) signal (SIGPIPE, SIG_IGN); + sigpipe = (int (*)())signal(SIGPIPE, SIG_IGN); #endif - if (argv [0][0] == '-') - Lflag ++; - if ((cp = strrchr (argv [0], '/')) == NULL) - cp = argv [0]; + if(argv[0][0] == '-') + Lflag++; + if((cp = strrchr(argv[0], '/')) == NULL) + cp = argv[0]; else - cp ++; - strcpy (progname, cp); + cp++; + strcpy(progname, cp); init_env(); } - -void -init_env(void) -{ - char *uname, *hp, *tname; - int i; - struct passwd *pwd, *getpwnam(), *getpwuid(); - char *getlogin(), *getenv(); +void init_env(void) { + char * uname, *hp, *tname; + int i; + struct passwd *pwd, *getpwnam(), *getpwuid(); + char * getlogin(), *getenv(); user_name[0] = '\0'; - home[0] = '\0'; + home[0] = '\0'; shellprog[0] = '\0'; - gethostname(my_hname, MAXHOSTNAMELEN); - if ((serv_list = (char **)malloc(MAXSERVER * sizeof(char *))) == NULL){ - fprintf (stderr, "init_env: can't alloc memory\n\r"); - done3(); - } - for (i = 0; i < MAXSERVER; i++) - serv_list[i] = NULL; - cur_serv = NULL; + gethostname(my_hname, MAXHOSTNAMELEN); + if((serv_list = (char**)malloc(MAXSERVER * sizeof(char*))) == NULL) { + fprintf(stderr, "init_env: can't alloc memory\n\r"); + done3(); + } + for(i = 0; i < MAXSERVER; i++) + serv_list[i] = NULL; + cur_serv = NULL; - uname = getlogin (); - hp = getenv("HOME"); + uname = getlogin(); + hp = getenv("HOME"); - setpwent (); - if( uname == NULL || *uname == '\0' ) + setpwent(); + if(uname == NULL || *uname == '\0') pwd = getpwuid(getuid()); else pwd = getpwnam(uname); - if (pwd != NULL) { - strcpy(user_name, pwd -> pw_name); - if (hp == NULL) + if(pwd != NULL) { + strcpy(user_name, pwd->pw_name); + if(hp == NULL) hp = pwd->pw_dir; endpwent(); } - if (hp != NULL) + if(hp != NULL) strcpy(home, hp); - if ((tname = getenv("TERM")) == NULL) { - aprintf ("Can't getenv TERM\n\r"); + if((tname = getenv("TERM")) == NULL) { + aprintf("Can't getenv TERM\n\r"); perror("getenv"); exit(1); } strcpy(term_name, tname); } - -void -parsearg (int argc, char** argv) -{ - int ap; - char c; - int sp; - char **shella; +void parsearg(int argc, char** argv) { + int ap; + char c; + int sp; + char** shella; shella = shellargs; - ap = 1; - -- argc; - while (argc > 0) { - if (*argv[ap] == '-') { + ap = 1; + --argc; + while(argc > 0) { + if(*argv[ap] == '-') { c = argv[ap][1]; - switch (c) { + switch(c) { case 'L': - Lflag ++; + Lflag++; break; case 'E': - aprintf ("euc mode\n\r"); - set_eucmode (); + aprintf("euc mode\n\r"); + set_eucmode(); break; case 'V': vflag = 0; break; case 'v': - aprintf ("verbose\n\r"); - vflag ++; + aprintf("verbose\n\r"); + vflag++; break; case 'f': - if (argv[ap + 1] == (char *) NULL) - usage (); - strcpy (shellprog, argv[ap+1]); - shell_flag ++; + if(argv[ap + 1] == (char*)NULL) + usage(); + strcpy(shellprog, argv[ap + 1]); + shell_flag++; break; case 'e': - if (argv[ap + 1] == (char *) NULL) - usage (); - strcpy (shellprog, argv[++ap]); - sp = 0; - while (argv[ap] != (char *) NULL) + if(argv[ap + 1] == (char*)NULL) + usage(); + strcpy(shellprog, argv[++ap]); + sp = 0; + while(argv[ap] != (char*)NULL) shella[sp++] = argv[ap++]; - shella[sp] = (char *) NULL; + shella[sp] = (char*)NULL; break; #ifdef OKB case 'o': - oasys ++; + oasys++; break; #endif case 'H': - if (argv[ap + 1] == (char *) NULL) + if(argv[ap + 1] == (char*)NULL) usage(); - - - sp = 0; - while (argc > 1 && *argv[ap + 1] != '-') { - if (sp >= MAXSERVER) - break; - serv_list[sp++] = argv[ap + 1]; - ap++; - argc--; - } - cur_serv = serv_list[0]; - + + sp = 0; + while(argc > 1 && *argv[ap + 1] != '-') { + if(sp >= MAXSERVER) + break; + serv_list[sp++] = argv[ap + 1]; + ap++; + argc--; + } + cur_serv = serv_list[0]; break; case 'h': default: - usage (); + usage(); break; } } - argc --; - ap ++; + argc--; + ap++; } - if (cur_serv == NULL || *cur_serv == '\0') - setsjserv(getenv("SJ3SERV")); + if(cur_serv == NULL || *cur_serv == '\0') + setsjserv(getenv("SJ3SERV")); } - -void -usage(void) -{ - aprintf ("Usage: %s [-option ...]\n\r", progname); - aprintf ("\t-option\n\r"); - aprintf ("\t\t-h \thelp\n\r"); - aprintf ("\t\t-L \tlogin shell\n\r"); - aprintf ("\t\t-f shellname \texec shell name\n\r"); - aprintf ("\t\t-e command... \texec command arguments\n\r"); +void usage(void) { + aprintf("Usage: %s [-option ...]\n\r", progname); + aprintf("\t-option\n\r"); + aprintf("\t\t-h \thelp\n\r"); + aprintf("\t\t-L \tlogin shell\n\r"); + aprintf("\t\t-f shellname \texec shell name\n\r"); + aprintf("\t\t-e command... \texec command arguments\n\r"); #ifdef OKB - aprintf ("\t\t-o \toyayubi shift keyboard\n\r"); -#endif - aprintf ("\t\t-H hostname... \tname list of server hosts\n\r"); - if (vflag > 2) { - aprintf ("\t\t-v \tverbose mode\n\r"); - aprintf ("\t\t-E \tEUC mode\n\r"); + aprintf("\t\t-o \toyayubi shift keyboard\n\r"); +#endif + aprintf("\t\t-H hostname... \tname list of server hosts\n\r"); + if(vflag > 2) { + aprintf("\t\t-v \tverbose mode\n\r"); + aprintf("\t\t-E \tEUC mode\n\r"); } - exit (1); + exit(1); } +void sjinit(void) { + getfixtty(); + setshellname(); -void -sjinit (void) -{ - getfixtty (); - setshellname (); - - if (cur_serv == NULL) - cur_serv = serv_list[0] = my_hname; - SJ2_henkan_init (); - start_guideline (); + if(cur_serv == NULL) + cur_serv = serv_list[0] = my_hname; + SJ2_henkan_init(); + start_guideline(); } +void setshellname(void) { + char* s; + char* namep; -void -setshellname (void) -{ - char *s; - char *namep; - - if (shellprog[0] == '\0') { - s = getenv ("SHELL"); - if ((s == NULL) || (*s == '\0') || Lflag) - strcpy (shellprog, DEFAULTSHELL); + if(shellprog[0] == '\0') { + s = getenv("SHELL"); + if((s == NULL) || (*s == '\0') || Lflag) + strcpy(shellprog, DEFAULTSHELL); else - strcpy (shellprog, s); + strcpy(shellprog, s); } - if (Lflag) - strcpy (shellname, "-"); + if(Lflag) + strcpy(shellname, "-"); #ifndef SVR4 else - strcpy (shellname, "J"); -#endif - if ((namep = strrchr (shellprog, '/')) == NULL) + strcpy(shellname, "J"); +#endif + if((namep = strrchr(shellprog, '/')) == NULL) namep = shellprog; else - namep ++; - strcat (shellname, namep); - strcat (shellname, "["); - strcat (shellname, user_name); - strcat (shellname, " on "); - strcat (shellname, progname); - strcat (shellname, "]"); + namep++; + strcat(shellname, namep); + strcat(shellname, "["); + strcat(shellname, user_name); + strcat(shellname, " on "); + strcat(shellname, progname); + strcat(shellname, "]"); } - -void -getfixtty (void) -{ - getmaster (); - fixtty (); - setdev (); +void getfixtty(void) { + getmaster(); + fixtty(); + setdev(); } - -void -get_ttymode (void) -{ +void get_ttymode(void) { #ifdef SYSV_TERMIOS - ioctl (0, TCGETS, (char *)&b); + ioctl(0, TCGETS, (char*)&b); erase_char = b.c_cc[VERASE]; set_bs(erase_char); erase_str[0] = erase_char; erase_str[1] = '\0'; -#else - ioctl (0, TIOCGETP, (char *)&b); +#else + ioctl(0, TIOCGETP, (char*)&b); erase_char = b.sg_erase; set_bs(erase_char); erase_str[0] = erase_char; erase_str[1] = '\0'; - ioctl (0, TIOCGETC, (char *)&tc); - ioctl (0, TIOCGETC, (char *)&tc1); - ioctl (0, TIOCGETD, (char *)&l); - ioctl (0, TIOCGLTC, (char *)&lc); - ioctl (0, TIOCGLTC, (char *)&lc1); - ioctl (0, TIOCLGET, (char *)&lb); -#endif + ioctl(0, TIOCGETC, (char*)&tc); + ioctl(0, TIOCGETC, (char*)&tc1); + ioctl(0, TIOCGETD, (char*)&l); + ioctl(0, TIOCGLTC, (char*)&lc); + ioctl(0, TIOCGLTC, (char*)&lc1); + ioctl(0, TIOCLGET, (char*)&lb); +#endif #ifdef __sony_news - ioctl (0, TIOCKGET, (char *)&jmode); - jmode2 = set_jmode (jmode); - ioctl (0, TIOCKGETC, (char *)&jtc); + ioctl(0, TIOCKGET, (char*)&jmode); + jmode2 = set_jmode(jmode); + ioctl(0, TIOCKGETC, (char*)&jtc); #else - (void) set_jmode(); + (void)set_jmode(); #endif } - -void -getmaster (void) -{ +void getmaster(void) { #ifdef SVR4 - struct stat stb; + struct stat stb; - if ((master = open(mptname, O_RDWR)) < 0) { - aprintf ("Out of pty's\n\r"); - done3 (); + if((master = open(mptname, O_RDWR)) < 0) { + aprintf("Out of pty's\n\r"); + done3(); } - ioctl(master, I_PUSH, "pckt"); -#else + ioctl(master, I_PUSH, "pckt"); +#else /* * 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/10 */ #if defined(__FreeBSD__) || defined(__DragonFly__) - struct stat stb; - int h, i, j, k1, k2; -#else /* !__FreeBSD__ */ - char c; - struct stat stb; - int i, j, k1, k2; + struct stat stb; + int h, i, j, k1, k2; +#else /* !__FreeBSD__ */ + char c; + struct stat stb; + int i, j, k1, k2; #endif /* __FreeBSD__ */ strcpy(line, "/dev/ptyXX"); k1 = strlen("/dev/pty"); - k2 = strlen ("/dev/ptyp"); + k2 = strlen("/dev/ptyp"); /* * Change pseudo-devices. @@ -486,92 +442,89 @@ getmaster (void) * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 */ #if defined(__FreeBSD__) || defined(__DragonFly__) - for (h = 0; h < 8; h++) { + for(h = 0; h < 8; h++) { line[k1] = "pqrsPQRS"[h]; line[k2] = '0'; - if (stat (line, &stb) < 0) + if(stat(line, &stb) < 0) break; - for (i = 0; i < 32; i++) { + for(i = 0; i < 32; i++) { line[k2] = "0123456789abcdefghijklmnopqrstuv"[i]; -#else /* !__FreeBSD__ */ - for (c = 'p'; c <= 'z'; c ++) { +#else /* !__FreeBSD__ */ + for(c = 'p'; c <= 'z'; c++) { line[k1] = c; line[k2] = '0'; - if (stat (line, &stb) < 0) + if(stat(line, &stb) < 0) break; - for (i = 0; i < 16; i++) { + for(i = 0; i < 16; i++) { line[k2] = "0123456789abcdef"[i]; #endif /* __FreeBSD__ */ - master = open (line, 2); - if (master >= 0) { + master = open(line, 2); + if(master >= 0) { j = 1; - ioctl (master, TIOCPKT, &j); + ioctl(master, TIOCPKT, &j); return; } } } - aprintf ("Out of pty's\n\r"); - done3 (); -#endif + aprintf("Out of pty's\n\r"); + done3(); +#endif } - void #ifdef __sony_news -set_jmode (int mode) +set_jmode(int mode) #else -set_jmode (void) +set_jmode(void) #endif { #ifdef __sony_news - int term_mode; + int term_mode; term_mode = mode & KM_KANJI; - if (term_mode == KM_JIS) { - aprintf ("error: tty jis terminal mode\n\r"); - fflush (stdout); - exit (1); + if(term_mode == KM_JIS) { + aprintf("error: tty jis terminal mode\n\r"); + fflush(stdout); + exit(1); } - if (term_mode == KM_ASCII) { - aprintf ("error: tty ascii terminal mode\n\r"); - fflush (stdout); - exit (1); - } - else if (term_mode == KM_EUC) { - set_eucmode (); + if(term_mode == KM_ASCII) { + aprintf("error: tty ascii terminal mode\n\r"); + fflush(stdout); + exit(1); + } else if(term_mode == KM_EUC) { + set_eucmode(); mode &= ~KM_SYSSJIS; mode |= KM_SYSEUC; - (void) setlocale(LC_CTYPE, "ja_JP.EUC"); + (void)setlocale(LC_CTYPE, "ja_JP.EUC"); current_locale = LC_CTYPE_EUC; - } - else if (term_mode == KM_SJIS) { + } else if(term_mode == KM_SJIS) { mode &= ~KM_SYSEUC; mode |= KM_SYSSJIS; - (void) setlocale(LC_CTYPE, "ja_JP.SJIS"); + (void)setlocale(LC_CTYPE, "ja_JP.SJIS"); current_locale = LC_CTYPE_SHIFTJIS; - } else { - aprintf ("error: unknown tty terminal code\n\r"); - fflush (stdout); - exit (1); + } else { + aprintf("error: unknown tty terminal code\n\r"); + fflush(stdout); + exit(1); } return (mode); -#else - char *loc; +#else + char* loc; #ifdef LACKOF_SETLOCALE loc = getenv("LANG"); #else loc = setlocale(LC_CTYPE, ""); #endif - if (!loc) { + if(!loc) { aprintf("error: bad locale\n"); fflush(stdout); exit(1); } - if (strcmp(loc, "ja_JP.SJIS") == 0) { + if(strcmp(loc, "ja_JP.SJIS") == 0) { current_locale = LC_CTYPE_SHIFTJIS; - } else if (strncmp(loc, "ja", 2) == 0 || - strncmp(loc, "Ja", 2) == 0) { + } else if(strncmp(loc, "ja", 2) == 0 || + strncmp(loc, "Ja", 2) == 0) { current_locale = LC_CTYPE_EUC; set_eucmode(); } else { @@ -582,18 +535,15 @@ set_jmode (void) #endif /* __sony_news */ } - -void -fixtty (void) -{ +void fixtty(void) { #ifdef SYSV_TERMIOS struct termios sbuf; sbuf = b; - sbuf.c_iflag &= ~(INLCR|IGNCR|ICRNL|IUCLC|IXON); - sbuf.c_oflag &= ~(ONLCR|OPOST); - sbuf.c_lflag &= ~(ICANON|ECHO); - sbuf.c_cc[VMIN] = 1; + sbuf.c_iflag &= ~(INLCR | IGNCR | ICRNL | IUCLC | IXON); + sbuf.c_oflag &= ~(ONLCR | OPOST); + sbuf.c_lflag &= ~(ICANON | ECHO); + sbuf.c_cc[VMIN] = 1; sbuf.c_cc[VTIME] = 0; sbuf.c_cc[VINTR] = 0; sbuf.c_cc[VQUIT] = 0; @@ -603,185 +553,170 @@ fixtty (void) #endif /* VDSUSP */ sbuf.c_cc[VREPRINT] = 0; sbuf.c_cc[VDISCARD] = 0; - sbuf.c_cc[VWERASE] = 0; - sbuf.c_cc[VLNEXT] = 0; - (void) ioctl(0, TCSETSW, (char *)&sbuf); -#else + sbuf.c_cc[VWERASE] = 0; + sbuf.c_cc[VLNEXT] = 0; + (void)ioctl(0, TCSETSW, (char*)&sbuf); +#else struct sgttyb sbuf; sbuf = b; - sbuf.sg_flags &= ~(EVENP|ODDP|ECHO|CRMOD|RAW|TBDELAY); + sbuf.sg_flags &= ~(EVENP | ODDP | ECHO | CRMOD | RAW | TBDELAY); sbuf.sg_flags |= CBREAK; sbuf.sg_flags |= TANDEM; - ioctl (0, TIOCSETN, (char *)&sbuf); - - + ioctl(0, TIOCSETN, (char*)&sbuf); tc1.t_intrc = -1; tc1.t_quitc = -1; - tc1.t_eofc = -1; - ioctl (0, TIOCSETC, (char *)&tc1); + tc1.t_eofc = -1; + ioctl(0, TIOCSETC, (char*)&tc1); - lc1.t_suspc = -1; + lc1.t_suspc = -1; lc1.t_dsuspc = -1; lc1.t_rprntc = -1; lc1.t_flushc = -1; lc1.t_werasc = -1; lc1.t_lnextc = -1; - ioctl (0, TIOCSLTC, (char *)&lc1); -#endif + ioctl(0, TIOCSLTC, (char*)&lc1); +#endif #ifdef __sony_news - ioctl (0, TIOCKSET, (char *)&jmode2); -#endif + ioctl(0, TIOCKSET, (char*)&jmode2); +#endif } -#ifdef BSD43 +#ifdef BSD43 #include #endif - -void -setdev (void) -{ - char *cp; -#ifdef BSD43 - struct group *ttygrp; +void setdev(void) { + char* cp; +#ifdef BSD43 + struct group* ttygrp; #endif - Conversion *cv; + Conversion* cv; cv = current_conversion; - if ((cp = ttyname (2)) != NULL) - strcpy (tty_name, cp); + if((cp = ttyname(2)) != NULL) + strcpy(tty_name, cp); else *tty_name = '\0'; #ifndef SVR4 - strcpy (slave_name, line); - slave_name[strlen ("/dev/")] = 't'; -#endif -#ifdef BSD43 - if ((ttygrp = getgrnam ("tty")) != NULL) + strcpy(slave_name, line); + slave_name[strlen("/dev/")] = 't'; +#endif +#ifdef BSD43 + if((ttygrp = getgrnam("tty")) != NULL) chown(slave_name, getuid(), ttygrp->gr_gid); else chown(slave_name, getuid(), getgid()); chmod(slave_name, 0620); -#else +#else chown(slave_name, getuid(), getgid()); chmod(slave_name, 0622); #endif #ifndef SYSV_TERMIOS - Ttyslot = nmttyslot (slave_name); -#endif - + Ttyslot = nmttyslot(slave_name); +#endif #ifdef SYSV_TERMIOS - if (ioctl(0, TIOCGWINSZ, &Ttysize) == 0) + if(ioctl(0, TIOCGWINSZ, &Ttysize) == 0) #else - if (ioctl(0, TIOCGSIZE, &Ttysize) == 0) + if(ioctl(0, TIOCGSIZE, &Ttysize) == 0) #endif { - if (!status_line) + if(!status_line) --Ttysize.ts_lines; - if (Ttysize.ts_lines < 1) { - aprintf ("not enough lines\n\r"); - done3 (); + if(Ttysize.ts_lines < 1) { + aprintf("not enough lines\n\r"); + done3(); } - if (Ttysize.ts_cols < 1) { - aprintf ("not enough columns\n\r"); - done3 (); + if(Ttysize.ts_cols < 1) { + aprintf("not enough columns\n\r"); + done3(); } - cv->line = Ttysize.ts_lines; + cv->line = Ttysize.ts_lines; cv->column = Ttysize.ts_cols; - SetRegion (); + SetRegion(); } else { - if (cv->line < 1) cv->line = 24; - if (cv->column < 1) cv->column = 80; + if(cv->line < 1) cv->line = 24; + if(cv->column < 1) cv->column = 80; Ttysize.ts_lines = cv->line; - Ttysize.ts_cols = cv->column; - if (ioctl(0, TIOCSWINSZ, &Ttysize) < 0) { - aprintf("Warnning: Can't get tty size, use rows(%d) and columns(%d).\n\r", - cv->line, cv->column); + Ttysize.ts_cols = cv->column; + if(ioctl(0, TIOCSWINSZ, &Ttysize) < 0) { + aprintf("Warnning: Can't get tty size, use rows(%d) and columns(%d).\n\r", + cv->line, cv->column); } - if (!status_line) { + if(!status_line) { Ttysize.ts_lines--; cv->line--; } - SetRegion (); - } - if (cv->column < MINCOL) { - if (Hlevel > 1) - Hlevel = 1; + SetRegion(); } - else if (HHlevel > 1) { + if(cv->column < MINCOL) { + if(Hlevel > 1) + Hlevel = 1; + } else if(HHlevel > 1) { Hlevel = 2; } - if (vflag > 1) { - aprintf ("line %d\n\r", cv->line); - aprintf ("column %d\n\r", cv->column); + if(vflag > 1) { + aprintf("line %d\n\r", cv->line); + aprintf("column %d\n\r", cv->column); } #ifndef SVR4 -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - (void) signal (SIGCHLD, (void (*)())exitprocess); -#endif -} - - -static char shellbuf[128]; - -void -forkshell (void) -{ -#ifdef SVR4 - struct sigaction action; - sigset_t sset; -#endif - Pid_shell = fork (); - if (Pid_shell < 0) { - perror ("fork"); - done (); - } - if (Pid_shell == 0) { - shellprocess (); - } - - if (vflag > 1) { - aprintf ("sj3 pid = %d\n\r", getpid ()); - aprintf ("shell pid = %d\n\r", Pid_shell); - } - - (void) signal (SIGHUP, (void (*)())fail); - (void) signal (SIGINT, (void (*)())fail); - (void) signal (SIGTERM, (void (*)())fail); - (void) signal (SIGWINCH, (void (*)())onwinch); -#ifdef SVR4 - (void) sigemptyset(&sset); - (void) sigaddset(&sset, SIGCHLD); - action.sa_handler = (void (*)()) exitprocess; - action.sa_mask = sset; - action.sa_flags = SA_RESTART; - (void) sigaction(SIGCHLD, &action, NULL); + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + (void)signal(SIGCHLD, (void (*)())exitprocess); #endif } +static char shellbuf[128]; -void -sj3_setenv (char* ename, char* eval, char* buf) -{ - char *cp, *dp; - char **ep = environ; +void forkshell(void) { +#ifdef SVR4 + struct sigaction action; + sigset_t sset; +#endif + Pid_shell = fork(); + if(Pid_shell < 0) { + perror("fork"); + done(); + } + if(Pid_shell == 0) { + shellprocess(); + } - + if(vflag > 1) { + aprintf("sj3 pid = %d\n\r", getpid()); + aprintf("shell pid = %d\n\r", Pid_shell); + } - while ((dp = *ep++) != NULL) { - for (cp = ename; *cp == *dp && *cp; cp++, dp++) + (void)signal(SIGHUP, (void (*)())fail); + (void)signal(SIGINT, (void (*)())fail); + (void)signal(SIGTERM, (void (*)())fail); + (void)signal(SIGWINCH, (void (*)())onwinch); +#ifdef SVR4 + (void)sigemptyset(&sset); + (void)sigaddset(&sset, SIGCHLD); + action.sa_handler = (void (*)())exitprocess; + action.sa_mask = sset; + action.sa_flags = SA_RESTART; + (void)sigaction(SIGCHLD, &action, NULL); +#endif +} + +void sj3_setenv(char* ename, char* eval, char* buf) { + char * cp, *dp; + char** ep = environ; + + while((dp = *ep++) != NULL) { + for(cp = ename; *cp == *dp && *cp; cp++, dp++) continue; - if (*cp == 0 && (*dp == '=' || *dp == 0)) { + if(*cp == 0 && (*dp == '=' || *dp == 0)) { strcat(buf, eval); *--ep = buf; return; @@ -789,11 +724,8 @@ sj3_setenv (char* ename, char* eval, char* buf) } } - -void -shellprocess (void) -{ - int t, f; +void shellprocess(void) { + int t, f; #ifdef SYSV_TERMIOS #ifdef SYSV_UTMP struct utmp Utmp; @@ -801,329 +733,302 @@ shellprocess (void) struct utmpx Utmp; #endif - setsid(); - getslave (); + getslave(); - memset ((char *) &Utmp, '\0', sizeof (Utmp)); - (void) strncpy(Utmp.ut_user, user_name, sizeof(Utmp.ut_user)); - (void) strncpy(Utmp.ut_line, &slave_name[sizeof("/dev/")-1], - sizeof(Utmp.ut_line)); + memset((char*)&Utmp, '\0', sizeof(Utmp)); + (void)strncpy(Utmp.ut_user, user_name, sizeof(Utmp.ut_user)); + (void)strncpy(Utmp.ut_line, &slave_name[sizeof("/dev/") - 1], + sizeof(Utmp.ut_line)); Utmp.ut_type = USER_PROCESS; #ifdef SYSV_UTMP Utmp.ut_pid = (pid_t)getpid(); strncpy(Utmp.ut_id, &Utmp.ut_line[2], 4); Utmp.ut_id[0] = 't'; - Utmp.ut_time = time(0); + Utmp.ut_time = time(0); setutent(); getutid(&Utmp); pututline(&Utmp); endutent(); #else - Utmp.ut_pid = (o_pid_t)getpid(); - Utmp.ut_id[0] = 's'; - Utmp.ut_id[1] = 'j'; - Utmp.ut_id[2] = SC_WILDC; - Utmp.ut_id[3] = SC_WILDC; + Utmp.ut_pid = (o_pid_t)getpid(); + Utmp.ut_id[0] = 's'; + Utmp.ut_id[1] = 'j'; + Utmp.ut_id[2] = SC_WILDC; + Utmp.ut_id[3] = SC_WILDC; Utmp.ut_exit.e_termination = 0; - Utmp.ut_exit.e_exit = 0; - (void) time (&Utmp.ut_tv.tv_sec); - if (makeutx(&Utmp) == NULL) - aprintf ("%s:\tmakeutx failed\r\n", progname); + Utmp.ut_exit.e_exit = 0; + (void)time(&Utmp.ut_tv.tv_sec); + if(makeutx(&Utmp) == NULL) + aprintf("%s:\tmakeutx failed\r\n", progname); #endif /* SYSV_UTMP */ -#else /* SYSV_TERMIOS */ - struct utmp Utmp; - char *p; +#else /* SYSV_TERMIOS */ + struct utmp Utmp; + char* p; /* * Remove warning. * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 */ #define SCPYN(a, b) strncpy(a, b, sizeof(a)) - if ((p = ttyname (0)) == NULL) + if((p = ttyname(0)) == NULL) SCPYN(Utmp.ut_host, progname); else { SCPYN(Utmp.ut_host, progname); - strcat (Utmp.ut_host, " on "); - p = strrchr (p, '/') + 1; - strcat (Utmp.ut_host, p); + strcat(Utmp.ut_host, " on "); + p = strrchr(p, '/') + 1; + strcat(Utmp.ut_host, p); } SCPYN(Utmp.ut_name, user_name); - SCPYN(Utmp.ut_line, strrchr (slave_name, '/') + 1); - time (&Utmp.ut_time); + SCPYN(Utmp.ut_line, strrchr(slave_name, '/') + 1); + time(&Utmp.ut_time); #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__) - if (setsid() < 0) + if(setsid() < 0) perror("setsid()"); #else - t = open ("/dev/tty", 2); - if (t >= 0) { - ioctl (t, TIOCNOTTY, (char *)0); - (void) close(t); + t = open("/dev/tty", 2); + if(t >= 0) { + ioctl(t, TIOCNOTTY, (char*)0); + (void)close(t); } -#endif +#endif - getslave (); + getslave(); #endif /* SYSV_TERMIOS */ - (void) close (master); - dup2 (slave, 0); - dup2 (slave, 1); - dup2 (slave, 2); - (void) close (slave); + (void)close(master); + dup2(slave, 0); + dup2(slave, 1); + dup2(slave, 2); + (void)close(slave); #ifndef SYSV_TERMIOS - if (Ttyslot > 0 && (f = open (_PATH_UTMP, 1)) >= 0) { - lseek (f, (long) (Ttyslot * sizeof (Utmp)), 0); - write (f, (char *)&Utmp, sizeof (Utmp)); - close (f); + if(Ttyslot > 0 && (f = open(_PATH_UTMP, 1)) >= 0) { + lseek(f, (long)(Ttyslot * sizeof(Utmp)), 0); + write(f, (char*)&Utmp, sizeof(Utmp)); + close(f); } #endif /* SYSV_TERMIOS */ - setgid (getgid ()); - setuid (getuid ()); + setgid(getgid()); + setuid(getuid()); - if (shellargs[0] == (char *) NULL) { + if(shellargs[0] == (char*)NULL) { shellargs[0] = shellname; - shellargs[1] = (char *) 0; + shellargs[1] = (char*)0; } -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - (void) signal (SIGPIPE, (void (*)())sigpipe); - if ( *shellprog == '/' ) { - if (shell_flag) { - strcpy (shellbuf, "SHELL="); + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + (void)signal(SIGPIPE, (void (*)())sigpipe); + if(*shellprog == '/') { + if(shell_flag) { + strcpy(shellbuf, "SHELL="); sj3_setenv("SHELL", shellprog, shellbuf); } - (void) execve (shellprog, shellargs, environ); - } - else - execcmd (shellprog, shellargs); + (void)execve(shellprog, shellargs, environ); + } else + execcmd(shellprog, shellargs); - perror (shellprog); - exit (1); + perror(shellprog); + exit(1); } - -void -getslave (void) -{ +void getslave(void) { #ifdef SVR4 - grantpt(master); - unlockpt(master); - slave_name = ptsname(master); - slave = open(slave_name, O_RDWR); - if (slave < 0) { + grantpt(master); + unlockpt(master); + slave_name = ptsname(master); + slave = open(slave_name, O_RDWR); + if(slave < 0) { perror(slave_name); done2(); } - ioctl(slave, I_PUSH, "ptem"); - ioctl(slave, I_PUSH, "ldterm"); - ioctl(slave, I_PUSH, "ttcompat"); + ioctl(slave, I_PUSH, "ptem"); + ioctl(slave, I_PUSH, "ldterm"); + ioctl(slave, I_PUSH, "ttcompat"); - (void) ioctl(slave, TCSETSF, (char *)&b); - (void) ioctl(slave, TIOCSWINSZ, (char *)&Ttysize); + (void)ioctl(slave, TCSETSF, (char*)&b); + (void)ioctl(slave, TIOCSWINSZ, (char*)&Ttysize); #ifdef __sony_news - (void) ioctl(slave, TIOCKSET, (char *)&jmode); - (void) ioctl(slave, TIOCKSETC, (char *)&jtc); + (void)ioctl(slave, TIOCKSET, (char*)&jmode); + (void)ioctl(slave, TIOCKSETC, (char*)&jtc); #endif #else - line[strlen ("/dev/")] = 't'; - slave = open (line, 2); - if (slave < 0) { - perror (line); - done2 (); + line[strlen("/dev/")] = 't'; + slave = open(line, 2); + if(slave < 0) { + perror(line); + done2(); } #ifndef SYSV_TERMIOS #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__) ioctl(slave, TIOCSCTTY, NULL); #endif - ioctl (slave, TIOCSETP, (char *)&b); - ioctl (slave, TIOCSETC, (char *)&tc); - ioctl (slave, TIOCSLTC, (char *)&lc); - ioctl (slave, TIOCLSET, (char *)&lb); - ioctl (slave, TIOCSETD, (char *)&l); + ioctl(slave, TIOCSETP, (char*)&b); + ioctl(slave, TIOCSETC, (char*)&tc); + ioctl(slave, TIOCSLTC, (char*)&lc); + ioctl(slave, TIOCLSET, (char*)&lb); + ioctl(slave, TIOCSETD, (char*)&l); #ifdef __sony_news - ioctl (slave, TIOCKSET, (char *)&jmode); - ioctl (slave, TIOCKSETC, (char *)&jtc); + ioctl(slave, TIOCKSET, (char*)&jmode); + ioctl(slave, TIOCKSETC, (char*)&jtc); #endif - ioctl (slave, TIOCSSIZE, &Ttysize); -#else /* SYSV_TERMIOS */ - (void) ioctl(slave, TCSETSF, (char *)&b); - (void) ioctl(slave, TIOCSWINSZ, (char *)&Ttysize); + ioctl(slave, TIOCSSIZE, &Ttysize); +#else /* SYSV_TERMIOS */ + (void)ioctl(slave, TCSETSF, (char*)&b); + (void)ioctl(slave, TIOCSWINSZ, (char*)&Ttysize); #endif /* SYSV_TERMIOS */ #endif /* SVR4 */ } +void execcmd(char* cmd, char** ap) { + int c; + char* getenv(); + char *path, *cp, fullcmd[BUFSIZ]; -void -execcmd (char* cmd, char** ap) -{ - int c; - char *getenv (); - char *path, *cp, fullcmd[BUFSIZ]; + path = getenv("PATH"); + cp = fullcmd; - path = getenv ("PATH"); - cp = fullcmd; - - while ((c = *path++) != 0) { - if (c == ':') { + while((c = *path++) != 0) { + if(c == ':') { *cp++ = '/'; - *cp = '\0'; - cp = fullcmd; - (void) strcat (cp, cmd); - if (shell_flag) { - strcpy (shellbuf, "SHELL="); - sj3_setenv ("SHELL", cp, shellbuf); + *cp = '\0'; + cp = fullcmd; + (void)strcat(cp, cmd); + if(shell_flag) { + strcpy(shellbuf, "SHELL="); + sj3_setenv("SHELL", cp, shellbuf); } - (void) execve (cp, ap, environ); + (void)execve(cp, ap, environ); cp = fullcmd; } else *cp++ = c; } *cp++ = '/'; - *cp = '\0'; - cp = fullcmd; - (void) strcat (cp, cmd); - if (shell_flag) { - strcpy (shellbuf, "SHELL="); - sj3_setenv ("SHELL", cp, shellbuf); + *cp = '\0'; + cp = fullcmd; + (void)strcat(cp, cmd); + if(shell_flag) { + strcpy(shellbuf, "SHELL="); + sj3_setenv("SHELL", cp, shellbuf); } - (void) execve (cp, ap, environ); + (void)execve(cp, ap, environ); } - -void -fail (void) -{ - (void) kill (0, SIGTERM); - done (); +void fail(void) { + (void)kill(0, SIGTERM); + done(); } +void done(void) { + (void)signal(SIGWINCH, SIG_IGN); -void -done (void) -{ - (void) signal (SIGWINCH, SIG_IGN); - - clear_guide_line (); - end_guideline (); - done2 (); + clear_guide_line(); + end_guideline(); + done2(); } - -void -done2 (void) -{ - chown (slave_name, 0, 0); - chmod (slave_name, 0666); +void done2(void) { + chown(slave_name, 0, 0); + chmod(slave_name, 0666); #ifdef SYSV_TERMIOS - ioctl (0, TCSETSW, (char *)&b); -#else /* SYSV_TERMIOS */ - ioctl (0, TIOCSETP, (char *)&b); - ioctl (0, TIOCSETC, (char *)&tc); - ioctl (0, TIOCSLTC, (char *)&lc); + ioctl(0, TCSETSW, (char*)&b); +#else /* SYSV_TERMIOS */ + ioctl(0, TIOCSETP, (char*)&b); + ioctl(0, TIOCSETC, (char*)&tc); + ioctl(0, TIOCSLTC, (char*)&lc); #endif /* SYSV_TERMIOS */ #ifdef __sony_news - ioctl (0, TIOCKSET, (char *)&jmode); -#endif - if (!status_line) { + ioctl(0, TIOCKSET, (char*)&jmode); +#endif + if(!status_line) { ++Ttysize.ts_lines; SetRegion(); } - clearutmpentry (); - SJ2_henkan_end (); - EndConversion (); - done3 (); + clearutmpentry(); + SJ2_henkan_end(); + EndConversion(); + done3(); } - -void -done3 (void) -{ - aprintf ("\r\nexit %s.\r\n", progname); - exit (0); +void done3(void) { + aprintf("\r\nexit %s.\r\n", progname); + exit(0); } - -void -exitprocess (void) -{ +void exitprocess(void) { #ifdef SVR4 - siginfo_t info; + siginfo_t info; - (void) waitid (P_ALL, 0, &info, - WNOHANG | WUNTRACED | WEXITED | WTRAPPED | WCONTINUED); - if ((info.si_code == CLD_CONTINUED) ||(info.si_code == CLD_TRAPPED)) - return; - if (info.si_code == CLD_STOPPED) + (void)waitid(P_ALL, 0, &info, + WNOHANG | WUNTRACED | WEXITED | WTRAPPED | WCONTINUED); + if((info.si_code == CLD_CONTINUED) || (info.si_code == CLD_TRAPPED)) + return; + if(info.si_code == CLD_STOPPED) #else - int pid, status; + int pid, status; -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - pid = wait3 (&status, (WNOHANG|WUNTRACED), 0); - if (WIFSTOPPED (status)) + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + pid = wait3(&status, (WNOHANG | WUNTRACED), 0); + if(WIFSTOPPED(status)) #endif suspend(); - else - done (); + else + done(); } - -void -suspend (void) -{ +void suspend(void) { #ifdef SIGTYPE_VOID - void (*old_sigtstp) (); + void (*old_sigtstp)(); #else - int (*old_sigtstp) (); + int (*old_sigtstp)(); #endif - SELECT_FD ifds; - int nc; - struct timeval t; + SELECT_FD ifds; + int nc; + struct timeval t; - clear_guide_line (); + clear_guide_line(); do { -cont: - t.tv_sec = 0; - t.tv_usec = UsecWeight (1); - FD_ZERO (&ifds); - FD_SET (master, &ifds); - if (select (master + 1, &ifds, 0, 0, &t) > 0) { - if (FD_ISSET (master, &ifds)) - output_master (); - } - else if (errno == EINTR) { + cont: + t.tv_sec = 0; + t.tv_usec = UsecWeight(1); + FD_ZERO(&ifds); + FD_SET(master, &ifds); + if(select(master + 1, &ifds, 0, 0, &t) > 0) { + if(FD_ISSET(master, &ifds)) + output_master(); + } else if(errno == EINTR) { errno = 0; goto cont; } - if (ioctl (master, TIOCOUTQ, &nc) < 0) + if(ioctl(master, TIOCOUTQ, &nc) < 0) #ifdef SVR4 - break; + break; #else - fail (); + fail(); #endif - } while (nc > 0); + } while(nc > 0); #ifdef SYSV_TERMIOS - ioctl (0, TCSETSW, (char *)&b); -#else /* SYSV_TERMIOS */ - ioctl (0, TIOCSETP, (char *)&b); - ioctl (0, TIOCSETC, (char *)&tc); - ioctl (0, TIOCSLTC, (char *)&lc); + ioctl(0, TCSETSW, (char*)&b); +#else /* SYSV_TERMIOS */ + ioctl(0, TIOCSETP, (char*)&b); + ioctl(0, TIOCSETC, (char*)&tc); + ioctl(0, TIOCSLTC, (char*)&lc); #endif /* SYSV_TERMIOS */ #ifdef __sony_news - ioctl (0, TIOCKSET, (char *)&jmode); -#endif + ioctl(0, TIOCKSET, (char*)&jmode); +#endif - if (!status_line) { + if(!status_line) { ++Ttysize.ts_lines; SetRegion(); } @@ -1133,218 +1038,192 @@ cont: * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 */ #ifdef SIGTYPE_VOID - old_sigtstp = (void(*)()) signal (SIGTSTP, SIG_DFL); + old_sigtstp = (void (*)())signal(SIGTSTP, SIG_DFL); #else - old_sigtstp = (int(*)()) signal (SIGTSTP, SIG_DFL); + old_sigtstp = (int (*)())signal(SIGTSTP, SIG_DFL); #endif - kill (0, SIGTSTP); + kill(0, SIGTSTP); - + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + (void)signal(SIGTSTP, (void (*)())old_sigtstp); + killpg(Pid_shell, SIGCONT); + fixtty(); -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - (void) signal (SIGTSTP, (void (*)())old_sigtstp); - killpg (Pid_shell, SIGCONT); - fixtty (); - - if (!status_line) { + if(!status_line) { --Ttysize.ts_lines; SetRegion(); } - print_guide_line (); + print_guide_line(); } #ifdef SVR4 -void -clearutmpentry(void) -{ - struct utmpx *up; +void clearutmpentry(void) { + struct utmpx* up; #ifdef SVR4 - struct sigaction action; - sigset_t sset; + struct sigaction action; + sigset_t sset; - sigemptyset(&sset); - sigaddset(&sset, SIGCHLD); - action.sa_handler = SIG_IGN; - action.sa_mask = sset; - action.sa_flags = SA_RESTART; - (void) sigaction(SIGCHLD, &action, NULL); + sigemptyset(&sset); + sigaddset(&sset, SIGCHLD); + action.sa_handler = SIG_IGN; + action.sa_mask = sset; + action.sa_flags = SA_RESTART; + (void)sigaction(SIGCHLD, &action, NULL); #else - signal(SIGCHLD, SIG_IGN); + signal(SIGCHLD, SIG_IGN); #endif setutxent(); - while ( (up = getutxent()) ) { - if (up->ut_pid != (o_pid_t)Pid_shell) + while((up = getutxent())) { + if(up->ut_pid != (o_pid_t)Pid_shell) continue; - up->ut_type = DEAD_PROCESS; + up->ut_type = DEAD_PROCESS; up->ut_exit.e_termination = 0; - up->ut_exit.e_exit = 0; - (void) time (&up->ut_tv.tv_sec); - if (modutx(up) == NULL) + up->ut_exit.e_exit = 0; + (void)time(&up->ut_tv.tv_sec); + if(modutx(up) == NULL) aprintf("%s:\tmodutx failed\r\n", progname); break; } endutxent(); #ifdef SVR4 - action.sa_handler = (void (*)()) exitprocess; - action.sa_mask = sset; - action.sa_flags = SA_RESTART; - (void) sigaction(SIGCHLD, &action, NULL); + action.sa_handler = (void (*)())exitprocess; + action.sa_mask = sset; + action.sa_flags = SA_RESTART; + (void)sigaction(SIGCHLD, &action, NULL); #else - signal (SIGCHLD, (void (*)())exitprocess); + signal(SIGCHLD, (void (*)())exitprocess); #endif } #else /* SVR4 */ #ifdef SYSV_UTMP -void -clearutmpentry (void) -{ - struct utmp Utmp; +void clearutmpentry(void) { + struct utmp Utmp; - memset ((char *) &Utmp, '\0', sizeof (Utmp)); - (void) strncpy(Utmp.ut_user, user_name, sizeof(Utmp.ut_user)); - (void) strncpy(Utmp.ut_line, &slave_name[sizeof("/dev/")-1], - sizeof(Utmp.ut_line)); + memset((char*)&Utmp, '\0', sizeof(Utmp)); + (void)strncpy(Utmp.ut_user, user_name, sizeof(Utmp.ut_user)); + (void)strncpy(Utmp.ut_line, &slave_name[sizeof("/dev/") - 1], + sizeof(Utmp.ut_line)); Utmp.ut_type = DEAD_PROCESS; - Utmp.ut_pid = (pid_t)getpid(); + Utmp.ut_pid = (pid_t)getpid(); strncpy(Utmp.ut_id, &Utmp.ut_line[2], 4); Utmp.ut_id[0] = 't'; - Utmp.ut_time = time(0); + Utmp.ut_time = time(0); setutent(); getutid(&Utmp); pututline(&Utmp); endutent(); } -#else /* SYSV_UTMP */ -void -clearutmpentry (void) -{ - int f; - struct utmp Utmp; +#else /* SYSV_UTMP */ +void clearutmpentry(void) { + int f; + struct utmp Utmp; Utmp.ut_line[0] = '\0'; Utmp.ut_name[0] = '\0'; Utmp.ut_host[0] = '\0'; - Utmp.ut_time = 0; + Utmp.ut_time = 0; - if (Ttyslot > 0 && (f = open (_PATH_UTMP, 1)) >= 0) { - lseek (f, (long) (Ttyslot * sizeof (Utmp)), 0); - write (f, (char *)&Utmp, sizeof (Utmp)); - close (f); + if(Ttyslot > 0 && (f = open(_PATH_UTMP, 1)) >= 0) { + lseek(f, (long)(Ttyslot * sizeof(Utmp)), 0); + write(f, (char*)&Utmp, sizeof(Utmp)); + close(f); } } #endif /* SYSV_UTMP */ #endif /* SVR4 */ - -void -onwinch (void) -{ - int ttypgrp; - Conversion *cv; +void onwinch(void) { + int ttypgrp; + Conversion* cv; cv = current_conversion; - (void) signal (SIGWINCH, SIG_IGN); + (void)signal(SIGWINCH, SIG_IGN); #ifdef SYSV_TERMIOS - if (ioctl (0, TIOCGWINSZ, &Ttysize) == 0) -#else /* SYSV_TERMIOS */ - if (ioctl (0, TIOCGSIZE, &Ttysize) == 0) + if(ioctl(0, TIOCGWINSZ, &Ttysize) == 0) +#else /* SYSV_TERMIOS */ + if(ioctl(0, TIOCGSIZE, &Ttysize) == 0) #endif /* SYSV_TERMIOS */ { - if (!status_line) { - clear_guide_line (); + if(!status_line) { + clear_guide_line(); --Ttysize.ts_lines; } - cv->line = Ttysize.ts_lines; + cv->line = Ttysize.ts_lines; cv->column = Ttysize.ts_cols; - if (cv->column < MINCOL) { - if (Hlevel > 1) + if(cv->column < MINCOL) { + if(Hlevel > 1) Hlevel = 1; - } - else if (HHlevel > 1) { + } else if(HHlevel > 1) { Hlevel = 2; } SetRegion(); - if (!status_line) { - print_guide_line (); + if(!status_line) { + print_guide_line(); } - + killpg(Pid_shell, SIGWINCH); - killpg (Pid_shell, SIGWINCH); - - if (ioctl (master, TIOCGPGRP, &ttypgrp) == 0) - killpg (ttypgrp, SIGWINCH); + if(ioctl(master, TIOCGPGRP, &ttypgrp) == 0) + killpg(ttypgrp, SIGWINCH); } - (void) signal (SIGWINCH, (void (*)())onwinch); + (void)signal(SIGWINCH, (void (*)())onwinch); } +void SetRegion(void) { + set_tty_size(); -void -SetRegion (void) -{ - set_tty_size (); - - if (!status_line) - RegionSet (1, Ttysize.ts_lines); + if(!status_line) + RegionSet(1, Ttysize.ts_lines); } +void set_tty_size(void) { -void -set_tty_size (void) -{ - #ifdef SYSV_TERMIOS - ioctl (master, TIOCSWINSZ, &Ttysize); -#else /* SYSV_TERMIOS */ - ioctl (master, TIOCSSIZE, &Ttysize); + ioctl(master, TIOCSWINSZ, &Ttysize); +#else /* SYSV_TERMIOS */ + ioctl(master, TIOCSSIZE, &Ttysize); #endif /* SYSV_TERMIOS */ } +void setsjserv(char* hname) { + char* p; + int i; + char* sbuf; -void -setsjserv(char* hname) -{ - char *p; - int i; - char *sbuf; - - if (hname == NULL || *hname == '\0') - return; - if ((sbuf = (char *)malloc(strlen(hname))) == NULL) { - fprintf(stderr, "setsjserv: can't alloc memory\n\r"); - done3(); - } - strcpy(sbuf, hname); - p = sbuf; - for (i = 0; i < MAXSERVER; i++) { - serv_list[i] = p; - while(*p != '\0' && *p != ' ' && *p != '\t') - p++; - if (*p == '\0') - break; - *p++ = '\0'; - } - cur_serv = serv_list[0]; + if(hname == NULL || *hname == '\0') + return; + if((sbuf = (char*)malloc(strlen(hname))) == NULL) { + fprintf(stderr, "setsjserv: can't alloc memory\n\r"); + done3(); + } + strcpy(sbuf, hname); + p = sbuf; + for(i = 0; i < MAXSERVER; i++) { + serv_list[i] = p; + while(*p != '\0' && *p != ' ' && *p != '\t') + p++; + if(*p == '\0') + break; + *p++ = '\0'; + } + cur_serv = serv_list[0]; } - -char * -chmyhname(char* hname) -{ - if (hname != NULL) { - if (strcmp(my_hname, hname) == 0 || - strcmp("localhost", hname) == 0) - hname = NULL; - } - return(hname); +char* chmyhname(char* hname) { + if(hname != NULL) { + if(strcmp(my_hname, hname) == 0 || + strcmp("localhost", hname) == 0) + hname = NULL; + } + return (hname); } diff --git a/sj3.h b/sj3.h index 83610db..1491719 100644 --- a/sj3.h +++ b/sj3.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2004 Hiroo Ono - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,27 +32,27 @@ */ #ifndef _SJ3_H_ -#define _SJ3_H_ 1 +#define _SJ3_H_ 1 /* funckey.c */ -void mk_cvtkey(char *term); -char *getkey2(char *istr, char *ostr); -void clear_ukeys(void); -void set_func(struct wordent word[]); -wchar16_t eval_keys(wchar16_t *s, wchar16_t *p); -void clear_key(void); -void clear_commkeys(void); -int eval_key(wchar16_t *s); -void clear_etckeys(void); -int set_etckeys(struct wordent word[]); -wchar16_t parse_command(wchar16_t *s, int *count); +void mk_cvtkey(char* term); +char* getkey2(char* istr, char* ostr); +void clear_ukeys(void); +void set_func(struct wordent word[]); +wchar16_t eval_keys(wchar16_t* s, wchar16_t* p); +void clear_key(void); +void clear_commkeys(void); +int eval_key(wchar16_t* s); +void clear_etckeys(void); +int set_etckeys(struct wordent word[]); +wchar16_t parse_command(wchar16_t* s, int* count); /* sj3.c */ -int main(int argc, char **argv); +int main(int argc, char** argv); void makecore(void); -void init(char **argv); +void init(char** argv); void init_env(void); -void parsearg(int argc, char **argv); +void parsearg(int argc, char** argv); void usage(void); void sjinit(void); void setshellname(void); @@ -64,25 +64,24 @@ void set_jmode(int mode); #else void set_jmode(void); #endif -void fixtty(void); -void setdev(void); -void forkshell(void); -void sj3_setenv(char *ename, char *eval, char *buf); -void shellprocess(void); -void getslave(void); -void execcmd(char *cmd, char **ap); -void fail(void); -void done(void); -void done2(void); -void done3(void); -void exitprocess(void); -void suspend(void); -void clearutmpentry(void); -void onwinch(void); -void SetRegion(void); -void set_tty_size(void); -void setsjserv(char *hname); -char *chmyhname(char *hname); +void fixtty(void); +void setdev(void); +void forkshell(void); +void sj3_setenv(char* ename, char* eval, char* buf); +void shellprocess(void); +void getslave(void); +void execcmd(char* cmd, char** ap); +void fail(void); +void done(void); +void done2(void); +void done3(void); +void exitprocess(void); +void suspend(void); +void clearutmpentry(void); +void onwinch(void); +void SetRegion(void); +void set_tty_size(void); +void setsjserv(char* hname); +char* chmyhname(char* hname); #endif /* _SJ3_H_ */ - diff --git a/sj3_rkcv.c b/sj3_rkcv.c index 8074d62..4dc8069 100644 --- a/sj3_rkcv.c +++ b/sj3_rkcv.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,8 +28,8 @@ */ /* - * $SonyRCSfile: sj3_rkcv.c,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: sj3_rkcv.c,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1995/02/10 06:02:25 $ */ @@ -49,471 +49,456 @@ #define wslen sj3_wslen16 #define mbstowcs sj3_mbstowcs16 #define wcstombs sj3_wcstombs16 -#endif +#endif extern int current_locale; #define sj_iskata(c) (c >= 0xa5a1 && c <= 0xa5f6) #define sj_ishira(c) (c >= 0xa4a1 && c <= 0xa4f3) -static wchar16_t intmp[MAXLLEN]; -static wchar16_t outtmp[MAXLLEN]; -static unsigned char mtmp[MAXLLEN]; +static wchar16_t intmp[MAXLLEN]; +static wchar16_t outtmp[MAXLLEN]; +static unsigned char mtmp[MAXLLEN]; static unsigned short HKtable[ZKATAn] = { - KANA_XA, KANA_A, - KANA_XA + 1, KANA_A + 1, - KANA_XA + 2, KANA_A + 2, - KANA_XA + 3, KANA_A + 3, - KANA_XA + 4, KANA_A + 4, + KANA_XA, KANA_A, + KANA_XA + 1, KANA_A + 1, + KANA_XA + 2, KANA_A + 2, + KANA_XA + 3, KANA_A + 3, + KANA_XA + 4, KANA_A + 4, - KANA_KA, KANA_GA, - KANA_KA + 1, KANA_GA + (1<<8), - KANA_KA + 2, KANA_GA + (2<<8), - KANA_KA + 3, KANA_GA + (3<<8), - KANA_KA + 4, KANA_GA + (4<<8), + KANA_KA, KANA_GA, + KANA_KA + 1, KANA_GA + (1 << 8), + KANA_KA + 2, KANA_GA + (2 << 8), + KANA_KA + 3, KANA_GA + (3 << 8), + KANA_KA + 4, KANA_GA + (4 << 8), - KANA_SA, KANA_ZA, - KANA_SA + 1, KANA_ZA + (1<<8), - KANA_SA + 2, KANA_ZA + (2<<8), - KANA_SA + 3, KANA_ZA + (3<<8), - KANA_SA + 4, KANA_ZA + (4<<8), + KANA_SA, KANA_ZA, + KANA_SA + 1, KANA_ZA + (1 << 8), + KANA_SA + 2, KANA_ZA + (2 << 8), + KANA_SA + 3, KANA_ZA + (3 << 8), + KANA_SA + 4, KANA_ZA + (4 << 8), - KANA_TA, KANA_DA, - KANA_TA + 1, KANA_DA + (1<<8), - KANA_XTSU, KANA_TA + 2, KANA_DA + (2<<8), - KANA_TA + 3, KANA_DA + (3<<8), - KANA_TA + 4, KANA_DA + (4<<8), - - KANA_NA, - KANA_NA + 1, - KANA_NA + 2, - KANA_NA + 3, - KANA_NA + 4, + KANA_TA, KANA_DA, + KANA_TA + 1, KANA_DA + (1 << 8), + KANA_XTSU, KANA_TA + 2, KANA_DA + (2 << 8), + KANA_TA + 3, KANA_DA + (3 << 8), + KANA_TA + 4, KANA_DA + (4 << 8), - KANA_HA, KANA_BA, KANA_PA, - KANA_HA + 1, KANA_BA + (1<<8), KANA_PA + (1<<8), - KANA_HA + 2, KANA_BA + (2<<8), KANA_PA + (2<<8), - KANA_HA + 3, KANA_BA + (3<<8), KANA_PA + (3<<8), - KANA_HA + 4, KANA_BA + (4<<8), KANA_PA + (4<<8), + KANA_NA, + KANA_NA + 1, + KANA_NA + 2, + KANA_NA + 3, + KANA_NA + 4, - KANA_MA, - KANA_MA + 1, - KANA_MA + 2, - KANA_MA + 3, - KANA_MA + 4, + KANA_HA, KANA_BA, KANA_PA, + KANA_HA + 1, KANA_BA + (1 << 8), KANA_PA + (1 << 8), + KANA_HA + 2, KANA_BA + (2 << 8), KANA_PA + (2 << 8), + KANA_HA + 3, KANA_BA + (3 << 8), KANA_PA + (3 << 8), + KANA_HA + 4, KANA_BA + (4 << 8), KANA_PA + (4 << 8), - KANA_XYA, KANA_YA, - KANA_XYA + 1, KANA_YA + 1, - KANA_XYA + 2, KANA_YA + 2, + KANA_MA, + KANA_MA + 1, + KANA_MA + 2, + KANA_MA + 3, + KANA_MA + 4, - KANA_RA, - KANA_RA + 1, - KANA_RA + 2, - KANA_RA + 3, - KANA_RA + 4, + KANA_XYA, KANA_YA, + KANA_XYA + 1, KANA_YA + 1, + KANA_XYA + 2, KANA_YA + 2, - KANA_WA, KANA_WA, - KANA_A + 1, - KANA_A + 3, - KANA_WO, - KANA_WA + 1, + KANA_RA, + KANA_RA + 1, + KANA_RA + 2, + KANA_RA + 3, + KANA_RA + 4, - ((KANA_A+2)<<8) + KANA_DTEN, - KANA_KA, - KANA_KA + 3 -}; + KANA_WA, KANA_WA, + KANA_A + 1, + KANA_A + 3, + KANA_WO, + KANA_WA + 1, + + ((KANA_A + 2) << 8) + KANA_DTEN, + KANA_KA, + KANA_KA + 3}; static struct ztohkktbl { unsigned short zen; unsigned short han; } HKKtbl[8] = { - {ZEN_KTEN, KANA_KTEN}, - {ZEN_FKAKKO, KANA_FKAKKO}, - {ZEN_EKAKKO, KANA_EKAKKO}, - {ZEN_TTEN, KANA_TTEN}, - {ZEN_CTEN, KANA_CTEN}, - {ZEN_CHOUON, KANA_CHOUON}, - {ZEN_DTEN, KANA_DTEN}, - {ZEN_HDTEN, KANA_HDTEN} -}; - + {ZEN_KTEN, KANA_KTEN}, + {ZEN_FKAKKO, KANA_FKAKKO}, + {ZEN_EKAKKO, KANA_EKAKKO}, + {ZEN_TTEN, KANA_TTEN}, + {ZEN_CTEN, KANA_CTEN}, + {ZEN_CHOUON, KANA_CHOUON}, + {ZEN_DTEN, KANA_DTEN}, + {ZEN_HDTEN, KANA_HDTEN}}; static struct hzkigoutbl { - wchar16_t han; + wchar16_t han; unsigned short zen; } HZKtbl[6] = { - {',', ZEN_TTEN}, - {'.', ZEN_KTEN}, - {'-', ZEN_CHOUON}, - {'@', ZEN_CTEN}, - {'[', ZEN_FKAKKO}, - {']', ZEN_EKAKKO} -}; + {',', ZEN_TTEN}, + {'.', ZEN_KTEN}, + {'-', ZEN_CHOUON}, + {'@', ZEN_CTEN}, + {'[', ZEN_FKAKKO}, + {']', ZEN_EKAKKO}}; static unsigned short HZtbl[95] = { - 0xa1a1, 0xa1aa, 0xa1c9, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0xa1c7, - 0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0xa1dd, 0xa1a5, 0xa1bf, - 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, - 0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9, - 0xa1f7, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7, - 0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf, - 0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7, - 0xa3d8, 0xa3d9, 0xa3da, 0xa1ce, 0xa1ef, 0xa1cf, 0xa1b0, 0xa1b2, - 0xa1c6, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7, - 0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef, - 0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7, - 0xa3f8, 0xa3f9, 0xa3fa, 0xa1d0, 0xa1c3, 0xa1d1, 0xa1b1 -}; + 0xa1a1, 0xa1aa, 0xa1c9, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0xa1c7, + 0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0xa1dd, 0xa1a5, 0xa1bf, + 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, + 0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9, + 0xa1f7, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7, + 0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf, + 0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7, + 0xa3d8, 0xa3d9, 0xa3da, 0xa1ce, 0xa1ef, 0xa1cf, 0xa1b0, 0xa1b2, + 0xa1c6, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7, + 0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef, + 0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7, + 0xa3f8, 0xa3f9, 0xa3fa, 0xa1d0, 0xa1c3, 0xa1d1, 0xa1b1}; #ifdef ADDHK -setl_hktozh() -{ - int i; +setl_hktozh() { + int i; unsigned short c, zen1; - wchar16_t rstr[2]; - wchar16_t kstr[2]; - RkTablW16 *rktp, *mktable(); + wchar16_t rstr[2]; + wchar16_t kstr[2]; + RkTablW16 * rktp, *mktable(); - zen1 = (ZHIRA1 << 8); + zen1 = (ZHIRA1 << 8); rstr[1] = '\0'; kstr[1] = 0; for(i = 0; i < ZKATAn - 3; i++) { c = HKtable[i]; - if (!(c & RKZEN)) { + if(!(c & RKZEN)) { rstr[0] = c; - if ((rktp = mktable(rstr, 1)) == NULL) + if((rktp = mktable(rstr, 1)) == NULL) break; - if (rktp->k_yomi != NULL) + if(rktp->k_yomi != NULL) continue; kstr[0] = zen1 + (ZHIRAF2 + i); - if (kstradd(&(rktp->k_yomi), kstr, 2) == -1) + if(kstradd(&(rktp->k_yomi), kstr, 2) == -1) break; } } - for (i = 0; i < 8; i++) { + for(i = 0; i < 8; i++) { rstr[0] = HKKtbl[i].han; - if ((rktp = mktable(rstr, 1)) == NULL) + if((rktp = mktable(rstr, 1)) == NULL) break; - if (rktp->k_yomi != NULL) + if(rktp->k_yomi != NULL) continue; kstr[0] = HKKtbl[i].zen; - if (kstradd(&(rktp->k_yomi), kstr, 2) == -1) + if(kstradd(&(rktp->k_yomi), kstr, 2) == -1) break; } } #endif - -mkkigou() -{ - int i; - wchar16_t rstr[2]; - wchar16_t kstr[2]; +mkkigou() { + int i; + wchar16_t rstr[2]; + wchar16_t kstr[2]; RkTablW16 *rktp, *mktable(); rstr[1] = '\0'; kstr[1] = 0; - for (i = 0; i < 6; i++) { + for(i = 0; i < 6; i++) { rstr[0] = HZKtbl[i].han; - if ((rktp = mktable(rstr, 1)) == NULL) + if((rktp = mktable(rstr, 1)) == NULL) break; - if (rktp->k_yomi != NULL) + if(rktp->k_yomi != NULL) continue; kstr[0] = HZKtbl[i].zen; - if (kstradd(&(rktp->k_yomi), kstr, 2) == -1) + if(kstradd(&(rktp->k_yomi), kstr, 2) == -1) break; } } - -sj_addten(prefix, c) -unsigned short prefix, c; + +sj_addten(prefix, c) unsigned short prefix, c; { unsigned short c1, cc; cc = 0; - if ((c == ZEN_DTEN || c == ZEN_HDTEN) && - (sj_ishira(prefix) || sj_iskata(prefix))) { + if((c == ZEN_DTEN || c == ZEN_HDTEN) && + (sj_ishira(prefix) || sj_iskata(prefix))) { c1 = sj_zen2han(prefix); - if ((c1 >= KANA_KA && c1 < KANA_NA) || - (c1 >= KANA_HA && c1 < KANA_MA)) { - if (c == ZEN_DTEN) + if((c1 >= KANA_KA && c1 < KANA_NA) || + (c1 >= KANA_HA && c1 < KANA_MA)) { + if(c == ZEN_DTEN) cc = prefix + 1; - else if (c == ZEN_HDTEN && c1 >= KANA_HA) + else if(c == ZEN_HDTEN && c1 >= KANA_HA) cc = prefix + 2; - } else if (c1 == KANA_A+2 && sj_iskata(prefix)&& c == ZEN_DTEN) + } else if(c1 == KANA_A + 2 && sj_iskata(prefix) && c == ZEN_DTEN) cc = ZEN_VU; } - return(cc); + return (cc); } -sj_han2zen(c) -unsigned short c; +sj_han2zen(c) unsigned short c; { - int i; + int i; unsigned short cc; - if (WcIsHANKAKU(c) && iskana2(c)) { - for (i = 0; i < ZKATAn; i++) { - if (c == HKtable[i]) { - if (i >= ZKATAn - 3) { + if(WcIsHANKAKU(c) && iskana2(c)) { + for(i = 0; i < ZKATAn; i++) { + if(c == HKtable[i]) { + if(i >= ZKATAn - 3) { cc = (ZKATA1 << 8) + (ZKATAF2 + i + 1); - } - else { + } else { cc = (ZHIRA1 << 8) + (ZHIRAF2 + i); - if (c == KANA_WA) + if(c == KANA_WA) cc++; } break; } } - if (i >= ZKATAn) { - for (i = 0; i < 8; i++) { - if (c == HKKtbl[i].han) { + if(i >= ZKATAn) { + for(i = 0; i < 8; i++) { + if(c == HKKtbl[i].han) { cc = HKKtbl[i].zen; break; } } - if (i >= 8) + if(i >= 8) cc = ZEN_SPACE; } } else { - if (c >= 0x20 && c <= 0x7e) + if(c >= 0x20 && c <= 0x7e) cc = HZtbl[c - 0x20]; else cc = c; } - return(cc); + return (cc); } +int sj3_hantozen_w16(wchar16_t*, wchar16_t*); -int sj3_hantozen_w16(wchar16_t *, wchar16_t *); - -sj3_hantozen(out, in) -unsigned char *out, *in; +sj3_hantozen(out, in) unsigned char* out, *in; { - wchar16_t *winstr, *woutstr; - unsigned char *mstr; - int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; + wchar16_t * winstr, *woutstr; + unsigned char* mstr; + int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; inlen = strlen(in) + 1; - if (current_locale == LC_CTYPE_EUC) { - if (inlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(inlen); + if(current_locale == LC_CTYPE_EUC) { + if(inlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(inlen); mmflag = 1; } else { mstr = mtmp; } - if (sjistoeuc(mstr, inlen, in, inlen) < 0) { - if (mmflag) free(mstr); + if(sjistoeuc(mstr, inlen, in, inlen) < 0) { + if(mmflag) free(mstr); return -1; } } else { mstr = in; } - if ((inlen * sizeof(wchar16_t)) > sizeof(intmp)) { - winstr = (wchar16_t *) malloc(inlen * sizeof(wchar16_t)); - if (!winstr) { - if (mmflag) free(mstr); + if((inlen * sizeof(wchar16_t)) > sizeof(intmp)) { + winstr = (wchar16_t*)malloc(inlen * sizeof(wchar16_t)); + if(!winstr) { + if(mmflag) free(mstr); return -1; } imflag = 1; } else { - winstr = (wchar16_t *) intmp; + winstr = (wchar16_t*)intmp; } - if (mbstowcs(winstr, (char *)mstr, inlen) == -1) { - if (mmflag) free(mstr); - if (imflag) free(winstr); + if(mbstowcs(winstr, (char*)mstr, inlen) == -1) { + if(mmflag) free(mstr); + if(imflag) free(winstr); return -1; } outlen = inlen; - if ((outlen * sizeof(wchar16_t)) > sizeof(outtmp)) { - woutstr = (wchar16_t *) malloc(outlen * sizeof(wchar16_t)); - if (!woutstr) { - if (mmflag) free(mstr); - if (imflag) free(winstr); + if((outlen * sizeof(wchar16_t)) > sizeof(outtmp)) { + woutstr = (wchar16_t*)malloc(outlen * sizeof(wchar16_t)); + if(!woutstr) { + if(mmflag) free(mstr); + if(imflag) free(winstr); return -1; } - omflag = 1; + omflag = 1; } else { - woutstr = (wchar16_t *) outtmp; + woutstr = (wchar16_t*)outtmp; } ret = sj3_hantozen_w16(woutstr, winstr); - if (mmflag) { + if(mmflag) { free(mstr); mmflag = 0; } - if (ret == 0 || ret == -1) { - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(ret == 0 || ret == -1) { + if(imflag) free(winstr); + if(omflag) free(woutstr); return ret; } outlen = ret * 3; - if (outlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(outlen); - if (!mstr) { - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(outlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(outlen); + if(!mstr) { + if(imflag) free(winstr); + if(omflag) free(woutstr); return -1; } mmflag = 1; } else { mstr = mtmp; } - if (wcstombs((char *)mstr, woutstr, outlen) == -1) { - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + if(wcstombs((char*)mstr, woutstr, outlen) == -1) { + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); return -1; } - if (current_locale == LC_CTYPE_EUC) { + if(current_locale == LC_CTYPE_EUC) { inlen = euctosjis(out, outlen, mstr, outlen); } else { - (void) memcpy(out, mstr, strlen(mstr) + 1); + (void)memcpy(out, mstr, strlen(mstr) + 1); } - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); - if (inlen > 0) { + if(inlen > 0) { return ret; } else { return inlen; } } -sj3_hantozen_euc(out, in) -unsigned char *out, *in; +sj3_hantozen_euc(out, in) unsigned char* out, *in; { - wchar16_t *winstr, *woutstr; - unsigned char *mstr; - int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; + wchar16_t * winstr, *woutstr; + unsigned char* mstr; + int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; inlen = strlen(in) + 1; - if (current_locale == LC_CTYPE_EUC) { + if(current_locale == LC_CTYPE_EUC) { mstr = in; } else { - if (inlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(inlen); + if(inlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(inlen); mmflag = 1; } else { mstr = mtmp; } - if (euctosjis(mstr, inlen, in, inlen) < 0) { - if (mmflag) free(mstr); + if(euctosjis(mstr, inlen, in, inlen) < 0) { + if(mmflag) free(mstr); return -1; } } - if ((inlen * sizeof(wchar16_t)) > sizeof(intmp)) { - winstr = (wchar16_t *) malloc(inlen * sizeof(wchar16_t)); - if (!winstr) { - if (mmflag) free(mstr); + if((inlen * sizeof(wchar16_t)) > sizeof(intmp)) { + winstr = (wchar16_t*)malloc(inlen * sizeof(wchar16_t)); + if(!winstr) { + if(mmflag) free(mstr); return -1; } imflag = 1; } else { - winstr = (wchar16_t *) intmp; + winstr = (wchar16_t*)intmp; } - if (mbstowcs(winstr, (char *)mstr, inlen) == -1) { - if (mmflag) free(mstr); - if (imflag) free(winstr); + if(mbstowcs(winstr, (char*)mstr, inlen) == -1) { + if(mmflag) free(mstr); + if(imflag) free(winstr); return -1; } outlen = inlen; - if ((outlen * sizeof(wchar16_t)) > sizeof(outtmp)) { - woutstr = (wchar16_t *) malloc(outlen * sizeof(wchar16_t)); - if (!woutstr) { - if (mmflag) free(mstr); - if (imflag) free(winstr); + if((outlen * sizeof(wchar16_t)) > sizeof(outtmp)) { + woutstr = (wchar16_t*)malloc(outlen * sizeof(wchar16_t)); + if(!woutstr) { + if(mmflag) free(mstr); + if(imflag) free(winstr); return -1; } - omflag = 1; + omflag = 1; } else { - woutstr = (wchar16_t *) outtmp; + woutstr = (wchar16_t*)outtmp; } ret = sj3_hantozen_w16(woutstr, winstr); - if (mmflag) { + if(mmflag) { free(mstr); mmflag = 0; } - if (ret == 0 || ret == -1) { - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(ret == 0 || ret == -1) { + if(imflag) free(winstr); + if(omflag) free(woutstr); return ret; } outlen = ret * 3; - if (outlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(outlen); - if (!mstr) { - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(outlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(outlen); + if(!mstr) { + if(imflag) free(winstr); + if(omflag) free(woutstr); return -1; } mmflag = 1; } else { mstr = mtmp; } - if (wcstombs((char *)mstr, woutstr, outlen) == -1) { - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + if(wcstombs((char*)mstr, woutstr, outlen) == -1) { + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); return -1; } - if (current_locale == LC_CTYPE_EUC) { - (void) memcpy(out, mstr, strlen(mstr) + 1); + if(current_locale == LC_CTYPE_EUC) { + (void)memcpy(out, mstr, strlen(mstr) + 1); } else { inlen = sjistoeuc(out, outlen, mstr, outlen); } - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); - if (inlen > 0) { + if(inlen > 0) { return ret; } else { return inlen; } } -sj3_hantozen_mb(s1, s2) -unsigned char *s1, *s2; +sj3_hantozen_mb(s1, s2) unsigned char* s1, *s2; { - if (current_locale == LC_CTYPE_EUC) - return sj3_hantozen_euc(s1, s2); + if(current_locale == LC_CTYPE_EUC) + return sj3_hantozen_euc(s1, s2); else - return sj3_hantozen(s1, s2); + return sj3_hantozen(s1, s2); } -int sj3_hantozen_w16(s1, s2) +int sj3_hantozen_w16(s1, s2) wchar16_t *s1, *s2; { return sj_hantozen(s1, s2, wslen(s2)); } - sj_hantozen(s1, s2, len) -wchar16_t *s1, *s2; + wchar16_t* s1, + *s2; int len; { unsigned short c1, cc, prefix; - wchar16_t c; - int i; - int rlen; + wchar16_t c; + int i; + int rlen; prefix = 0; - rlen = 0; - for (i = 0; i < len && *s2 != '\0'; i++) { - c = *s2++; + rlen = 0; + for(i = 0; i < len && *s2 != '\0'; i++) { + c = *s2++; cc = sj_han2zen(c); - if (cc & RKZEN) { - if (prefix != 0 && (c1 = sj_addten(prefix, cc)) != 0) { + if(cc & RKZEN) { + if(prefix != 0 && (c1 = sj_addten(prefix, cc)) != 0) { s1 -= 1; rlen -= 1; - cc = c1; + cc = c1; prefix = 0; - } else + } else prefix = cc; *s1++ = cc; - rlen ++; + rlen++; } else { *s1++ = cc; rlen++; @@ -521,108 +506,106 @@ int len; } } *s1 = '\0'; - return(rlen); + return (rlen); } -sj_zen2han(c) -unsigned short c; +sj_zen2han(c) unsigned short c; { - int i; + int i; unsigned short cc; - - i = ZKATAn; + + i = ZKATAn; cc = c & MASK; - if (sj_ishira(c)) + if(sj_ishira(c)) i = cc - ZHIRAF2; - else if (sj_iskata(c)) { + else if(sj_iskata(c)) { i = cc - ZKATAF2; } - if (i < ZKATAn) + if(i < ZKATAn) cc = HKtable[i]; else { - for (i = 0; i < 8; i++) { - if (c == HKKtbl[i].zen) { + for(i = 0; i < 8; i++) { + if(c == HKKtbl[i].zen) { cc = HKKtbl[i].han; break; } } - if (i >= 8) { + if(i >= 8) { cc = c; - for (i = 0; i < 95; i++) { - if (c == HZtbl[i]) { + for(i = 0; i < 95; i++) { + if(c == HZtbl[i]) { cc = i + 0x20; break; } } } } - return(cc); + return (cc); } -int sj3_zentohan_w16(wchar16_t *, wchar16_t *); +int sj3_zentohan_w16(wchar16_t*, wchar16_t*); -sj3_zentohan(out, in) -unsigned char *out, *in; +sj3_zentohan(out, in) unsigned char* out, *in; { - wchar16_t *winstr, *woutstr; - unsigned char *mstr; - int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; + wchar16_t * winstr, *woutstr; + unsigned char* mstr; + int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; inlen = strlen(in) + 1; - if (inlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(inlen); - if (!mstr) { + if(inlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(inlen); + if(!mstr) { return -1; } mmflag = 1; } else { mstr = mtmp; } - if (current_locale == LC_CTYPE_EUC) { - (void) euctosjis(mstr, inlen, in, inlen); + if(current_locale == LC_CTYPE_EUC) { + (void)euctosjis(mstr, inlen, in, inlen); } else { - (void) memcpy(mstr, in, inlen); + (void)memcpy(mstr, in, inlen); } - if (inlen > sizeof(intmp)) { - winstr = (wchar16_t *) malloc(((inlen / 2) + 1) * sizeof(wchar16_t)); - if (!winstr) { - if (mmflag) free(mstr); + if(inlen > sizeof(intmp)) { + winstr = (wchar16_t*)malloc(((inlen / 2) + 1) * sizeof(wchar16_t)); + if(!winstr) { + if(mmflag) free(mstr); return -1; } imflag = 1; } else { - winstr = (wchar16_t *) intmp; + winstr = (wchar16_t*)intmp; } - if (mbstowcs(winstr, (char *)mstr, inlen) == -1) { - if (mmflag) free(mstr); - if (imflag) free(winstr); + if(mbstowcs(winstr, (char*)mstr, inlen) == -1) { + if(mmflag) free(mstr); + if(imflag) free(winstr); return -1; } - if (mmflag) { + if(mmflag) { free(mstr); mmflag = 0; } outlen = ((inlen - 1) / 2) + 1; - if (outlen * sizeof(wchar16_t) > sizeof(outtmp)) { - woutstr = (wchar16_t *) malloc(outlen * sizeof(wchar16_t)); - if (!woutstr) { - if (imflag) free(winstr); + if(outlen * sizeof(wchar16_t) > sizeof(outtmp)) { + woutstr = (wchar16_t*)malloc(outlen * sizeof(wchar16_t)); + if(!woutstr) { + if(imflag) free(winstr); return -1; } - omflag = 1; + omflag = 1; } else { - woutstr = (wchar16_t *) outtmp; + woutstr = (wchar16_t*)outtmp; } ret = sj3_zentohan_w16(woutstr, winstr); - if (ret == 0 || ret == -1) { - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(ret == 0 || ret == -1) { + if(imflag) free(winstr); + if(omflag) free(woutstr); return ret; } outlen = ret * 3; - if (current_locale == LC_CTYPE_EUC) { - if (outlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(outlen); + if(current_locale == LC_CTYPE_EUC) { + if(outlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(outlen); mmflag = 1; } else { mstr = mtmp; @@ -630,213 +613,214 @@ unsigned char *out, *in; } else { mstr = out; } - if (wcstombs((char *)mstr, woutstr, outlen) == -1) { - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(wcstombs((char*)mstr, woutstr, outlen) == -1) { + if(imflag) free(winstr); + if(omflag) free(woutstr); return -1; } - if (current_locale == LC_CTYPE_EUC) { - if (euctosjis(out, outlen, mstr, outlen) < 0) { - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + if(current_locale == LC_CTYPE_EUC) { + if(euctosjis(out, outlen, mstr, outlen) < 0) { + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); return -1; } } - - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); return ret; } -sj3_zentohan_euc(out, in) -unsigned char *out, *in; +sj3_zentohan_euc(out, in) unsigned char* out, *in; { - wchar16_t *winstr, *woutstr; - unsigned char *mstr; - int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; + wchar16_t * winstr, *woutstr; + unsigned char* mstr; + int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; inlen = strlen(in) + 1; - if (inlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(inlen); - if (!mstr) { + if(inlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(inlen); + if(!mstr) { return -1; } mmflag = 1; } else { mstr = mtmp; } - if (current_locale == LC_CTYPE_EUC) { - (void) euctosjis(mstr, inlen, in, inlen); + if(current_locale == LC_CTYPE_EUC) { + (void)euctosjis(mstr, inlen, in, inlen); } else { - (void) memcpy(mstr, in, inlen); + (void)memcpy(mstr, in, inlen); } - if (inlen > sizeof(intmp)) { - winstr = (wchar16_t *) malloc(((inlen / 2) + 1) * sizeof(wchar16_t)); - if (!winstr) { - if (mmflag) free(mstr); + if(inlen > sizeof(intmp)) { + winstr = (wchar16_t*)malloc(((inlen / 2) + 1) * sizeof(wchar16_t)); + if(!winstr) { + if(mmflag) free(mstr); return -1; } imflag = 1; } else { - winstr = (wchar16_t *) intmp; + winstr = (wchar16_t*)intmp; } - if (mbstowcs(winstr, (char *)mstr, inlen) == -1) { - if (mmflag) free(mstr); - if (imflag) free(winstr); + if(mbstowcs(winstr, (char*)mstr, inlen) == -1) { + if(mmflag) free(mstr); + if(imflag) free(winstr); return -1; } - if (mmflag) { + if(mmflag) { free(mstr); mmflag = 0; } outlen = ((inlen - 1) / 2) + 1; - if (outlen * sizeof(wchar16_t) > sizeof(outtmp)) { - woutstr = (wchar16_t *) malloc(outlen * sizeof(wchar16_t)); - if (!woutstr) { - if (mmflag) free(mstr); - if (imflag) free(winstr); + if(outlen * sizeof(wchar16_t) > sizeof(outtmp)) { + woutstr = (wchar16_t*)malloc(outlen * sizeof(wchar16_t)); + if(!woutstr) { + if(mmflag) free(mstr); + if(imflag) free(winstr); return -1; } - omflag = 1; + omflag = 1; } else { - woutstr = (wchar16_t *) outtmp; + woutstr = (wchar16_t*)outtmp; } ret = sj3_zentohan_w16(woutstr, winstr); - if (ret == 0 || ret == -1) { - if (mmflag) free(mstr); - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(ret == 0 || ret == -1) { + if(mmflag) free(mstr); + if(imflag) free(winstr); + if(omflag) free(woutstr); return ret; } outlen = ret * 3; - if (current_locale == LC_CTYPE_EUC) { + if(current_locale == LC_CTYPE_EUC) { mstr = out; } else { - if (outlen > sizeof(mtmp)) { - mstr = (unsigned char *) malloc(outlen); + if(outlen > sizeof(mtmp)) { + mstr = (unsigned char*)malloc(outlen); mmflag = 1; } else { mstr = mtmp; } } - if (wcstombs((char *)mstr, woutstr, outlen) == -1) { - if (imflag) free(winstr); - if (omflag) free(woutstr); + if(wcstombs((char*)mstr, woutstr, outlen) == -1) { + if(imflag) free(winstr); + if(omflag) free(woutstr); return -1; } - if (current_locale == LC_CTYPE_SHIFTJIS) { - if (sjistoeuc(out, outlen, mstr, outlen) < 0) { - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + if(current_locale == LC_CTYPE_SHIFTJIS) { + if(sjistoeuc(out, outlen, mstr, outlen) < 0) { + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); return -1; } } - if (imflag) free(winstr); - if (omflag) free(woutstr); - if (mmflag) free(mstr); + if(imflag) free(winstr); + if(omflag) free(woutstr); + if(mmflag) free(mstr); return ret; } -sj3_zentohan_mb(s1, s2) -unsigned char *s1, *s2; +sj3_zentohan_mb(s1, s2) unsigned char* s1, *s2; { - if (current_locale == LC_CTYPE_EUC) - return sj3_zentohan_euc(s1, s2); - else - return sj3_zentohan(s1, s2); + if(current_locale == LC_CTYPE_EUC) + return sj3_zentohan_euc(s1, s2); + else + return sj3_zentohan(s1, s2); } -int sj3_zentohan_w16 (s1, s2) +int sj3_zentohan_w16(s1, s2) wchar16_t *s1, *s2; { return sj_zentohan(s1, s2, wslen(s2)); } sj_zentohan(s1, s2, len) -wchar16_t *s1, *s2; + wchar16_t* s1, + *s2; int len; { unsigned short cc; - wchar16_t c; - int i, rlen; + wchar16_t c; + int i, rlen; rlen = 0; - for (i = 0; i < len && *s2 != (wchar16_t) '\0'; i++) { + for(i = 0; i < len && *s2 != (wchar16_t)'\0'; i++) { c = *s2++; - if (WcIsZENKAKU(c)) { + if(WcIsZENKAKU(c)) { cc = sj_zen2han(c); - if ((cc >> 8) && (cc != c)) { + if((cc >> 8) && (cc != c)) { *s1++ = (cc >> 8); rlen++; *s1++ = cc & 0xff; - rlen++; + rlen++; continue; } - } else + } else cc = c; - if (cc & RKZEN) { + if(cc & RKZEN) { *s1++ = (cc >> 8); rlen++; } *s1++ = (wchar16_t)cc; rlen++; } - *s1 = (wchar16_t) '\0'; - return(rlen); + *s1 = (wchar16_t)'\0'; + return (rlen); } sj_tokata(c) -wchar16_t c; + wchar16_t c; { - if (sj_ishira(c)) { + if(sj_ishira(c)) { c += 0x0100; } - return(c); + return (c); } sj_tohira(c) -wchar16_t c; + wchar16_t c; { - if (sj_iskata(c) && (short) c <= (short) 0xa5f3) { + if(sj_iskata(c) && (short)c <= (short)0xa5f3) { c -= 0x0100; } - return(c); + return (c); } sj_htok(s1, s2) -wchar16_t *s1, *s2; + wchar16_t* s1, + *s2; { wchar16_t cc; wchar16_t c; - while ((c = *s2++) != (wchar16_t) '\0') { - if (WcIsX0208(c)) { - cc = sj_tokata(c); + while((c = *s2++) != (wchar16_t)'\0') { + if(WcIsX0208(c)) { + cc = sj_tokata(c); *s1++ = cc; } else *s1++ = c; } - *s1 = (wchar16_t) '\0'; + *s1 = (wchar16_t)'\0'; } sj_ktoh(s1, s2) -wchar16_t *s1, *s2; + wchar16_t* s1, + *s2; { wchar16_t cc; wchar16_t c; - while ((c = *s2++) != (wchar16_t) '\0') { - if (WcIsX0208(c)) { - cc = sj_tohira(c); + while((c = *s2++) != (wchar16_t)'\0') { + if(WcIsX0208(c)) { + cc = sj_tohira(c); *s1++ = cc; } else *s1++ = c; } - *s1 = (wchar16_t) '\0'; + *s1 = (wchar16_t)'\0'; } diff --git a/sj3cmd.h b/sj3cmd.h index ed80664..fd0343a 100644 --- a/sj3cmd.h +++ b/sj3cmd.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,80 +28,72 @@ */ /* - * $SonyRCSfile: sj3cmd.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj3cmd.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:57 $ */ +#define SJ3SERV_VERSION_NO 2 +#define SJ3_CONNECT 1 +#define SJ3_DISCONNECT 2 +#define SJ3_OPENDICT 11 +#define SJ3_CLOSEDICT 12 +#define SJ3_OPENSTDY 21 +#define SJ3_CLOSESTDY 22 +#define SJ3_STDYSIZE 23 +#define SJ3_LOCK 31 +#define SJ3_UNLOCK 32 +#define SJ3_PH2KNJ 41 -#define SJ3SERV_VERSION_NO 2 +#define SJ3_CL2KNJ 51 +#define SJ3_NEXTCL 52 +#define SJ3_PREVCL 53 +#define SJ3_CL2KNJ_ALL 54 +#define SJ3_CL2KNJ_CNT 55 +#define SJ3_STUDY 61 +#define SJ3_CLSTUDY 62 +#define SJ3_ADDDICT 71 +#define SJ3_DELDICT 72 -#define SJ3_CONNECT 1 -#define SJ3_DISCONNECT 2 +#define SJ3_MAKEDICT 81 +#define SJ3_MAKESTDY 82 +#define SJ3_MAKEDIR 83 +#define SJ3_ACCESS 84 -#define SJ3_OPENDICT 11 -#define SJ3_CLOSEDICT 12 +#define SJ3_GETDICT 91 +#define SJ3_NEXTDICT 92 +#define SJ3_PREVDICT 93 -#define SJ3_OPENSTDY 21 -#define SJ3_CLOSESTDY 22 -#define SJ3_STDYSIZE 23 +#define SJ3_WHO 100 +#define SJ3_QUIT 101 +#define SJ3_KILL 102 +#define SJ3_VERSION 103 +#define SJ3_DICTPASS 104 +#define SJ3_DICTCMNT 105 +#define SJ3_STDYPASS 106 +#define SJ3_STDYCMNT 107 -#define SJ3_LOCK 31 -#define SJ3_UNLOCK 32 +#define SJ3_SETCVER 110 +#define SJ3_PH2KNJ_EUC 111 -#define SJ3_PH2KNJ 41 +#define SJ3_CL2KNJ_EUC 112 +#define SJ3_NEXTCL_EUC 113 +#define SJ3_PREVCL_EUC 114 +#define SJ3_CL2KNJ_ALL_EUC 115 +#define SJ3_CL2KNJ_CNT_EUC 116 -#define SJ3_CL2KNJ 51 -#define SJ3_NEXTCL 52 -#define SJ3_PREVCL 53 -#define SJ3_CL2KNJ_ALL 54 -#define SJ3_CL2KNJ_CNT 55 +#define SJ3_CLSTUDY_EUC 117 -#define SJ3_STUDY 61 -#define SJ3_CLSTUDY 62 +#define SJ3_ADDDICT_EUC 118 +#define SJ3_DELDICT_EUC 119 -#define SJ3_ADDDICT 71 -#define SJ3_DELDICT 72 - -#define SJ3_MAKEDICT 81 -#define SJ3_MAKESTDY 82 -#define SJ3_MAKEDIR 83 -#define SJ3_ACCESS 84 - -#define SJ3_GETDICT 91 -#define SJ3_NEXTDICT 92 -#define SJ3_PREVDICT 93 - -#define SJ3_WHO 100 -#define SJ3_QUIT 101 -#define SJ3_KILL 102 -#define SJ3_VERSION 103 -#define SJ3_DICTPASS 104 -#define SJ3_DICTCMNT 105 -#define SJ3_STDYPASS 106 -#define SJ3_STDYCMNT 107 - -#define SJ3_SETCVER 110 -#define SJ3_PH2KNJ_EUC 111 - -#define SJ3_CL2KNJ_EUC 112 -#define SJ3_NEXTCL_EUC 113 -#define SJ3_PREVCL_EUC 114 -#define SJ3_CL2KNJ_ALL_EUC 115 -#define SJ3_CL2KNJ_CNT_EUC 116 - -#define SJ3_CLSTUDY_EUC 117 - -#define SJ3_ADDDICT_EUC 118 -#define SJ3_DELDICT_EUC 119 - -#define SJ3_GETDICT_EUC 120 -#define SJ3_NEXTDICT_EUC 121 -#define SJ3_PREVDICT_EUC 122 +#define SJ3_GETDICT_EUC 120 +#define SJ3_NEXTDICT_EUC 121 +#define SJ3_PREVDICT_EUC 122 diff --git a/sj3dic.c b/sj3dic.c index ec96c15..9f27eab 100644 --- a/sj3dic.c +++ b/sj3dic.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: sj3dic.c,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: sj3dic.c,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1996/02/15 02:22:58 $ * * $Id$ */ - #include "sj_sysvdef.h" #include #include @@ -49,7 +48,6 @@ #include "sj3lib.h" #include "sj3dic.h" - static void _open_error(int err); static void _close_error(int err); static void init_env(void); @@ -63,43 +61,39 @@ extern int _sys_code; int _sys_code = SYS_EUC; #endif -#ifndef lint -static char rcsid_sony[] = "$Header: /export/work/contrib/sj3/sj3dic/RCS/sj3dic.c,v 1.11 1994/06/03 07:41:59 notanaka Exp $ SONY;"; +#ifndef lint +static char rcsid_sony[] = "$Header: /export/work/contrib/sj3/sj3dic/RCS/sj3dic.c,v 1.11 1994/06/03 07:41:59 notanaka Exp $ SONY;"; #endif -static struct option { - char *str; - int code; +static struct option { + char* str; + int code; } options[] = { - { "text", EXEC_TEXT }, - { "dict", EXEC_DICT }, - { "init", EXEC_INIT }, - { "verbose", EXEC_VERBOSE }, - { "host", EXEC_SERVER }, - { "server", EXEC_SERVER }, - { "force", EXEC_FORCE }, - { 0, 0 } -}; + {"text", EXEC_TEXT}, + {"dict", EXEC_DICT}, + {"init", EXEC_INIT}, + {"verbose", EXEC_VERBOSE}, + {"host", EXEC_SERVER}, + {"server", EXEC_SERVER}, + {"force", EXEC_FORCE}, + {0, 0}}; -char prog_name[LONGLENGTH]; -char home_dir[LONGLENGTH]; -char user_name[LONGLENGTH]; -char term_name[LONGLENGTH]; -char serv_name[LONGLENGTH]; -char file_name[LONGLENGTH]; -char dict_name[LONGLENGTH]; -int verbose_flag = 0; -int init_flag = 0; -int force_flag = 0; +char prog_name[LONGLENGTH]; +char home_dir[LONGLENGTH]; +char user_name[LONGLENGTH]; +char term_name[LONGLENGTH]; +char serv_name[LONGLENGTH]; +char file_name[LONGLENGTH]; +char dict_name[LONGLENGTH]; +int verbose_flag = 0; +int init_flag = 0; +int force_flag = 0; +int main(int argc, char** argv) { + int err; + int mode; -int -main(int argc, char** argv) -{ - int err; - int mode; - - if (!init_code()) { + if(!init_code()) { fprintf(stderr, "Can't excute on this locale\n"); exit(1); } @@ -111,10 +105,10 @@ main(int argc, char** argv) /* XXX: is this progname intentional? or old variable left? */ /* if ((err = sj3_open(serv_name, user_name, prog_name))) */ - if ((err = sj3_open(serv_name, user_name))) + if((err = sj3_open(serv_name, user_name))) _open_error(err); - switch (mode) { + switch(mode) { case EXEC_TEXT: dictdisp(file_name); break; @@ -126,36 +120,35 @@ main(int argc, char** argv) break; } - if ((err = sj3_close())) _close_error(err); + if((err = sj3_close())) _close_error(err); } static void -init_env(void) -{ - char *un, *hp, *tn; - struct passwd *pwd; +init_env(void) { + char * un, *hp, *tn; + struct passwd* pwd; prog_name[0] = - home_dir[0] = - user_name[0] = - term_name[0] = - serv_name[0] = - file_name[0] = - dict_name[0] = '\0'; + home_dir[0] = + user_name[0] = + term_name[0] = + serv_name[0] = + file_name[0] = + dict_name[0] = '\0'; un = getlogin(); hp = getenv("HOME"); setpwent(); pwd = (un == NULL || *un == '\0') ? getpwuid(getuid()) : getpwnam(un); - if (pwd != NULL) { - strcpy(user_name, pwd -> pw_name); - if (hp == NULL) hp = pwd -> pw_dir; + if(pwd != NULL) { + strcpy(user_name, pwd->pw_name); + if(hp == NULL) hp = pwd->pw_dir; endpwent(); } - if (hp != NULL) strcpy(home_dir, hp); + if(hp != NULL) strcpy(home_dir, hp); - if ((tn = getenv("TERM")) == NULL) { + if((tn = getenv("TERM")) == NULL) { fprintf(stderr, "Can't getenv TERM\n\r"); perror("getenv"); exit(1); @@ -164,8 +157,7 @@ init_env(void) } static void -usage(int ret) -{ +usage(int ret) { fprintf(stderr, "Usage: %s -{text|dict} [-H host_name] [file_name]\n", prog_name); @@ -173,159 +165,157 @@ usage(int ret) } static int -parsearg(int argc, char* argv[]) -{ - int errflg = 0; - int i, j; - char *p, *q; - struct option *opt; - int cmd; - int mode = 0; - char tmp[LONGLENGTH]; +parsearg(int argc, char* argv[]) { + int errflg = 0; + int i, j; + char * p, *q; + struct option* opt; + int cmd; + int mode = 0; + char tmp[LONGLENGTH]; strcpy(prog_name, (p = strrchr(argv[0], '/')) ? p + 1 : argv[0]); - for (i = 1 ; i < argc ; i++) { - if (*argv[i] == '-') { - for (p = argv[i]+1, q = tmp ; *p ; p++) + for(i = 1; i < argc; i++) { + if(*argv[i] == '-') { + for(p = argv[i] + 1, q = tmp; *p; p++) *q++ = isupper(*p) ? tolower(*p) : *p; - *q = 0; - j = strlen(tmp); + *q = 0; + j = strlen(tmp); cmd = 0; - for (opt = options ; opt -> code ; opt++) { - if (strncmp(opt -> str, tmp, j)) + for(opt = options; opt->code; opt++) { + if(strncmp(opt->str, tmp, j)) continue; - else if (cmd) { - errflg++; break; - } - else - cmd = opt -> code; + else if(cmd) { + errflg++; + break; + } else + cmd = opt->code; } - if (errflg) break; - if (cmd == 0) { errflg++; break; } - switch (cmd) { + if(errflg) break; + if(cmd == 0) { + errflg++; + break; + } + switch(cmd) { case EXEC_TEXT: case EXEC_DICT: - if (mode) + if(mode) errflg++; else mode = cmd; break; case EXEC_INIT: - init_flag++; break; + init_flag++; + break; case EXEC_VERBOSE: - verbose_flag++; break; + verbose_flag++; + break; case EXEC_SERVER: - if (++i >= argc) { errflg++; break; } + if(++i >= argc) { + errflg++; + break; + } setsjserv(argv[i]); break; case EXEC_FORCE: - force_flag++; break; + force_flag++; + break; default: - errflg++; break; + errflg++; + break; } - } - else if (file_name[0]) { - errflg++; break; - } - else + } else if(file_name[0]) { + errflg++; + break; + } else strcpy(file_name, argv[i]); } - if (errflg || mode == 0) usage(1); + if(errflg || mode == 0) usage(1); return mode; } static void -make_dicname(void) -{ - if (dict_name[0] != '\0') return; +make_dicname(void) { + if(dict_name[0] != '\0') return; strcpy(dict_name, home_dir); strcat(dict_name, "/"); strcat(dict_name, "sj2usr.dic"); } -void -setdicname(char* dictname) -{ - if (dict_name[0] != '\0') return; - if (dictname == NULL) return; +void setdicname(char* dictname) { + if(dict_name[0] != '\0') return; + if(dictname == NULL) return; strcpy(dict_name, dictname); } -void -setsjserv(char* hostname) -{ - if (serv_name[0] != '\0') return; - if (hostname == NULL) return; +void setsjserv(char* hostname) { + if(serv_name[0] != '\0') return; + if(hostname == NULL) return; strcpy(serv_name, hostname); } -struct errlist { - int code; - char *msg; - int flg; +struct errlist { + int code; + char* msg; + int flg; }; static void -_error_and(int err, struct errlist* list) -{ - int flag = 0; +_error_and(int err, struct errlist* list) { + int flag = 0; - while (list -> code) { - if (err & list -> code) { - error_out(list -> msg); - err &= ~(list -> code); - if (list -> flg) flag++; + while(list->code) { + if(err & list->code) { + error_out(list->msg); + err &= ~(list->code); + if(list->flg) flag++; } list++; } - if (flag) exit(1); + if(flag) exit(1); } static void -_open_error(int err) -{ - static struct errlist err_msg[] = { - { SJ3_SERVER_DEAD, "\245\265\241\274\245\320\244\254\273\340\244\363\244\307\244\244\244\336\244\271", 1 }, - { SJ3_CONNECT_ERROR, "\245\265\241\274\245\320\244\310\300\334\302\263\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277", 1 }, - { SJ3_ALREADY_CONNECTED, "\245\265\241\274\245\320\244\310\300\334\302\263\272\321\244\307\244\271", 1 }, - { SJ3_CANNOT_OPEN_MDICT, "\245\341\245\244\245\363\274\255\275\361\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", 0 }, - { SJ3_CANNOT_OPEN_UDICT, "\245\346\241\274\245\266\274\255\275\361\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", 1 }, - { SJ3_CANNOT_OPEN_STUDY, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", 0 }, - { SJ3_CANNOT_MAKE_UDIR, "\245\346\241\274\245\266\241\274\245\307\245\243\245\354\245\257\245\310\245\352\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363", 1 }, - { SJ3_CANNOT_MAKE_UDICT, "\245\346\241\274\245\266\274\255\275\361\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363", 1 }, - { SJ3_CANNOT_MAKE_STUDY, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363", 0 }, - { -1, "\245\250\245\351\241\274", 1 }, - { 0, 0, 0 } - }; +_open_error(int err) { + static struct errlist err_msg[] = { + {SJ3_SERVER_DEAD, "\245\265\241\274\245\320\244\254\273\340\244\363\244\307\244\244\244\336\244\271", 1}, + {SJ3_CONNECT_ERROR, "\245\265\241\274\245\320\244\310\300\334\302\263\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277", 1}, + {SJ3_ALREADY_CONNECTED, "\245\265\241\274\245\320\244\310\300\334\302\263\272\321\244\307\244\271", 1}, + {SJ3_CANNOT_OPEN_MDICT, "\245\341\245\244\245\363\274\255\275\361\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", 0}, + {SJ3_CANNOT_OPEN_UDICT, "\245\346\241\274\245\266\274\255\275\361\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", 1}, + {SJ3_CANNOT_OPEN_STUDY, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", 0}, + {SJ3_CANNOT_MAKE_UDIR, "\245\346\241\274\245\266\241\274\245\307\245\243\245\354\245\257\245\310\245\352\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363", 1}, + {SJ3_CANNOT_MAKE_UDICT, "\245\346\241\274\245\266\274\255\275\361\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363", 1}, + {SJ3_CANNOT_MAKE_STUDY, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363", 0}, + {-1, "\245\250\245\351\241\274", 1}, + {0, 0, 0}}; _error_and(err, err_msg); } static void -_close_error(int err) -{ - static struct errlist err_msg[] = { - { SJ3_SERVER_DEAD, "\245\265\241\274\245\320\241\274\244\254\273\340\244\363\244\307\244\244\244\336\244\271", 1 }, - { SJ3_DISCONNECT_ERROR, "\300\332\244\352\312\374\244\267\244\307\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277", 1 }, - { SJ3_NOT_CONNECTED, "\245\265\241\274\245\320\244\310\300\334\302\263\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 1 }, - { SJ3_NOT_OPENED_MDICT, "\245\341\245\244\245\363\274\255\275\361\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 0 }, - { SJ3_NOT_OPENED_UDICT, "\245\346\241\274\245\266\274\255\275\361\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 1 }, - { SJ3_NOT_OPENED_STUDY, "\263\330\275\254\245\325\245\241\245\244\245\353\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 0 }, - { SJ3_CLOSE_MDICT_ERROR, "\245\341\245\244\245\363\274\255\275\361\244\254\245\257\245\355\241\274\245\272\244\307\244\255\244\336\244\273\244\363", 0 }, - { SJ3_CLOSE_UDICT_ERROR, "\245\346\241\274\245\266\274\255\275\361\244\254\245\257\245\355\241\274\245\272\244\307\244\255\244\336\244\273\244\363", 1 }, - { SJ3_CLOSE_STUDY_ERROR, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\245\257\245\355\241\274\245\272\244\307\244\255\244\336\244\273\244\363", 0 }, - { -1, "\245\250\245\351\241\274", 1 }, - { 0, 0, 0 } - }; +_close_error(int err) { + static struct errlist err_msg[] = { + {SJ3_SERVER_DEAD, "\245\265\241\274\245\320\241\274\244\254\273\340\244\363\244\307\244\244\244\336\244\271", 1}, + {SJ3_DISCONNECT_ERROR, "\300\332\244\352\312\374\244\267\244\307\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277", 1}, + {SJ3_NOT_CONNECTED, "\245\265\241\274\245\320\244\310\300\334\302\263\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 1}, + {SJ3_NOT_OPENED_MDICT, "\245\341\245\244\245\363\274\255\275\361\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 0}, + {SJ3_NOT_OPENED_UDICT, "\245\346\241\274\245\266\274\255\275\361\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 1}, + {SJ3_NOT_OPENED_STUDY, "\263\330\275\254\245\325\245\241\245\244\245\353\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363", 0}, + {SJ3_CLOSE_MDICT_ERROR, "\245\341\245\244\245\363\274\255\275\361\244\254\245\257\245\355\241\274\245\272\244\307\244\255\244\336\244\273\244\363", 0}, + {SJ3_CLOSE_UDICT_ERROR, "\245\346\241\274\245\266\274\255\275\361\244\254\245\257\245\355\241\274\245\272\244\307\244\255\244\336\244\273\244\363", 1}, + {SJ3_CLOSE_STUDY_ERROR, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\245\257\245\355\241\274\245\272\244\307\244\255\244\336\244\273\244\363", 0}, + {-1, "\245\250\245\351\241\274", 1}, + {0, 0, 0}}; _error_and(err, err_msg); } diff --git a/sj3dic.h b/sj3dic.h index 2054d5e..c3f8202 100644 --- a/sj3dic.h +++ b/sj3dic.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2004 Hiroo Ono - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,11 +32,10 @@ */ #ifndef _SJ3DIC_H_ -#define _SJ3DIC_H_ 1 +#define _SJ3DIC_H_ 1 /* sj3dic.c */ -void setdicname(char *dictname); -void setsjserv(char *hostname); +void setdicname(char* dictname); +void setsjserv(char* hostname); #endif /* _SJ3DIC_H_ */ - diff --git a/sj3err.c b/sj3err.c index 1a6110a..fc9ecc5 100644 --- a/sj3err.c +++ b/sj3err.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,81 +28,81 @@ */ /* - * $SonyRCSfile: sj3err.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj3err.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:38 $ */ - - - #include #include "sj3err.h" void -sj3error(fp, code) -FILE *fp; -int code; + sj3error(fp, code) + FILE* fp; +int code; { - unsigned char tmp[BUFSIZ]; + unsigned char tmp[BUFSIZ]; - switch (code) { -#define CASE(X, str) case (X): printout(fp, str); break; - CASE(SJ3_InternalError, "\245\244\245\363\245\277\241\274\245\312\245\353\245\250\245\351\241\274"); - CASE(SJ3_NormalEnd, "\300\265\276\357\275\252\316\273"); - CASE(SJ3_ServerDown, "\245\265\241\274\245\320\241\274\244\254\315\356\244\301\244\306\244\244\244\336\244\271"); - CASE(SJ3_OpenSocket, "socket \244\316 open \244\313\274\272\307\324\244\267\244\336\244\267\244\277"); - CASE(SJ3_ConnectSocket, "socket \244\316 connect \244\313\274\272\307\324\244\267\244\336\244\267\244\277"); - CASE(SJ3_GetHostByName, "gethostbyname \244\313\274\272\307\324\244\267\244\336\244\267\244\277"); - CASE(SJ3_NotOpened, "\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); - CASE(SJ3_NotEnoughMemory, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363"); - CASE(SJ3_IllegalCommand, "\245\263\245\336\245\363\245\311\244\254\304\352\265\301\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); - CASE(SJ3_DifferentVersion, "\245\320\241\274\245\270\245\347\245\363\244\254\260\343\244\244\244\336\244\271"); - CASE(SJ3_NoHostName, "\245\333\245\271\245\310\314\276\244\254\244\242\244\352\244\336\244\273\244\363"); - CASE(SJ3_NoUserName, "\245\346\241\274\245\266\314\276\244\254\244\242\244\352\244\336\244\273\244\363"); - CASE(SJ3_NotAllowedUser, "\300\334\302\263\244\362\265\366\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); - CASE(SJ3_AlreadyConnected, "\300\334\302\263\272\321\244\307\244\271"); - CASE(SJ3_NotConnected, "\300\334\302\263\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); - CASE(SJ3_TooLongParameter, "\245\321\245\351\245\341\241\274\245\277\244\254\304\271\244\271\244\256\244\336\244\271"); - CASE(SJ3_IllegalParameter, "\245\321\245\351\245\341\241\274\245\277\244\254\260\333\276\357\244\307\244\271"); - CASE(SJ3_BadDictID, "\244\275\244\316\244\350\244\246\244\312\274\255\275\361\244\317\244\242\244\352\244\336\244\273\244\363"); - CASE(SJ3_IllegalDictFile, "\274\255\275\361\245\325\245\241\245\244\245\353\244\254\260\333\276\357\244\307\244\271"); - CASE(SJ3_IllegalStdyFile, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\260\333\276\357\244\307\244\271"); - CASE(SJ3_IncorrectPasswd, "\245\321\245\271\245\357\241\274\245\311\244\254\260\333\244\312\244\352\244\336\244\271"); - CASE(SJ3_FileNotExist, "\245\325\245\241\245\244\245\353\244\254\302\270\272\337\244\267\244\336\244\273\244\363"); - CASE(SJ3_CannotAccessFile, "\245\325\245\241\245\244\245\353\244\313\245\242\245\257\245\273\245\271\244\307\244\255\244\336\244\273\244\363"); - CASE(SJ3_CannotOpenFile, "\245\325\245\241\245\244\245\353\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363"); - CASE(SJ3_CannotCreateFile, "\245\325\245\241\245\244\245\353\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363"); - CASE(SJ3_FileReadError, "\245\352\241\274\245\311\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277"); - CASE(SJ3_FileWriteError, "\245\351\245\244\245\310\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277"); - CASE(SJ3_FileSeekError, "\245\267\241\274\245\257\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277"); - CASE(SJ3_StdyAlreadyOpened, "\263\330\275\254\245\325\245\241\245\244\245\353\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\271"); - CASE(SJ3_StdyFileNotOpened, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); - CASE(SJ3_TooSmallStdyArea, "\312\270\300\341\304\271\263\330\275\254\316\316\260\350\244\254\276\256\244\265\244\271\244\256\244\336\244\271"); - CASE(SJ3_LockedByOther, "\302\276\244\316\245\257\245\351\245\244\245\242\245\363\245\310\244\313\245\355\245\303\245\257\244\265\244\354\244\306\244\336\244\271"); - CASE(SJ3_NotLocked, "\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); - CASE(SJ3_NoSuchDict, "\244\275\244\316\244\350\244\246\244\312\274\255\275\361\244\317\244\242\244\352\244\336\244\273\244\363"); - CASE(SJ3_ReadOnlyDict, "\275\361\244\255\271\376\244\337\244\307\244\255\244\312\244\244\274\255\275\361\244\307\244\271"); - CASE(SJ3_DictLocked, "\274\255\275\361\244\254\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\271"); - CASE(SJ3_BadYomiString, "\265\366\244\265\244\354\244\312\244\244\306\311\244\337\312\270\273\372\316\363\244\307\244\271"); - CASE(SJ3_BadKanjiString, "\265\366\244\265\244\354\244\312\244\244\264\301\273\372\312\270\273\372\316\363\244\307\244\271"); - CASE(SJ3_BadHinsiCode, "\311\312\273\354\245\263\241\274\245\311\260\333\276\357\244\307\244\271"); - CASE(SJ3_AddDictFailed, "\274\255\275\361\305\320\317\277\244\362\274\272\307\324\244\267\244\336\244\267\244\277"); - CASE(SJ3_AlreadyExistWord, "\244\271\244\307\244\313\302\270\272\337\244\267\244\306\244\244\244\336\244\271"); - CASE(SJ3_NoMoreDouonWord, "\244\263\244\354\260\312\276\345\306\261\262\273\270\354\244\362\305\320\317\277\244\307\244\255\244\336\244\273\244\363"); - CASE(SJ3_NoMoreUserDict, "\244\263\244\354\260\312\276\345\274\255\275\361\244\313\305\320\317\277\244\307\244\255\244\336\244\273\244\363"); - CASE(SJ3_NoMoreIndexBlock, "\244\263\244\354\260\312\276\345\245\244\245\363\245\307\245\303\245\257\245\271\244\313\305\320\317\277\244\307\244\255\244\336\244\273\244\363"); - CASE(SJ3_DelDictFailed, "\274\255\275\361\272\357\275\374\244\362\274\272\307\324\244\267\244\336\244\267\244\277"); - CASE(SJ3_NoSuchWord, "\244\275\244\316\244\350\244\246\244\312\275\317\270\354\244\317\244\242\244\352\244\336\244\273\244\363"); - CASE(SJ3_DirAlreadyExist, "\244\275\244\316\245\307\245\243\245\354\245\257\245\310\245\352\244\254\302\270\272\337\244\267\244\306\244\244\244\336\244\271"); - CASE(SJ3_CannotCreateDir, "\245\307\245\243\245\354\245\257\245\310\245\352\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363"); - CASE(SJ3_NoMoreDictData, "\244\263\244\354\260\312\276\345\274\255\275\361\245\307\241\274\245\277\244\254\244\242\244\352\244\336\244\273\244\363"); - CASE(SJ3_UserConnected, "\300\334\302\263\244\267\244\306\244\244\244\353\245\346\241\274\245\266\244\254\244\242\244\352\244\336\244\271"); - CASE(SJ3_TooLongPasswd, "\245\321\245\271\245\357\241\274\245\311\244\254\304\271\244\271\244\256\244\336\244\271"); - CASE(SJ3_TooLongComment, "\245\263\245\341\245\363\245\310\244\254\304\271\244\271\244\256\244\336\244\271"); -#undef CASE + switch(code) { +#define CASE(X, str) \ + case(X): \ + printout(fp, str); \ + break; + CASE(SJ3_InternalError, "\245\244\245\363\245\277\241\274\245\312\245\353\245\250\245\351\241\274"); + CASE(SJ3_NormalEnd, "\300\265\276\357\275\252\316\273"); + CASE(SJ3_ServerDown, "\245\265\241\274\245\320\241\274\244\254\315\356\244\301\244\306\244\244\244\336\244\271"); + CASE(SJ3_OpenSocket, "socket \244\316 open \244\313\274\272\307\324\244\267\244\336\244\267\244\277"); + CASE(SJ3_ConnectSocket, "socket \244\316 connect \244\313\274\272\307\324\244\267\244\336\244\267\244\277"); + CASE(SJ3_GetHostByName, "gethostbyname \244\313\274\272\307\324\244\267\244\336\244\267\244\277"); + CASE(SJ3_NotOpened, "\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); + CASE(SJ3_NotEnoughMemory, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363"); + CASE(SJ3_IllegalCommand, "\245\263\245\336\245\363\245\311\244\254\304\352\265\301\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); + CASE(SJ3_DifferentVersion, "\245\320\241\274\245\270\245\347\245\363\244\254\260\343\244\244\244\336\244\271"); + CASE(SJ3_NoHostName, "\245\333\245\271\245\310\314\276\244\254\244\242\244\352\244\336\244\273\244\363"); + CASE(SJ3_NoUserName, "\245\346\241\274\245\266\314\276\244\254\244\242\244\352\244\336\244\273\244\363"); + CASE(SJ3_NotAllowedUser, "\300\334\302\263\244\362\265\366\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); + CASE(SJ3_AlreadyConnected, "\300\334\302\263\272\321\244\307\244\271"); + CASE(SJ3_NotConnected, "\300\334\302\263\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); + CASE(SJ3_TooLongParameter, "\245\321\245\351\245\341\241\274\245\277\244\254\304\271\244\271\244\256\244\336\244\271"); + CASE(SJ3_IllegalParameter, "\245\321\245\351\245\341\241\274\245\277\244\254\260\333\276\357\244\307\244\271"); + CASE(SJ3_BadDictID, "\244\275\244\316\244\350\244\246\244\312\274\255\275\361\244\317\244\242\244\352\244\336\244\273\244\363"); + CASE(SJ3_IllegalDictFile, "\274\255\275\361\245\325\245\241\245\244\245\353\244\254\260\333\276\357\244\307\244\271"); + CASE(SJ3_IllegalStdyFile, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\260\333\276\357\244\307\244\271"); + CASE(SJ3_IncorrectPasswd, "\245\321\245\271\245\357\241\274\245\311\244\254\260\333\244\312\244\352\244\336\244\271"); + CASE(SJ3_FileNotExist, "\245\325\245\241\245\244\245\353\244\254\302\270\272\337\244\267\244\336\244\273\244\363"); + CASE(SJ3_CannotAccessFile, "\245\325\245\241\245\244\245\353\244\313\245\242\245\257\245\273\245\271\244\307\244\255\244\336\244\273\244\363"); + CASE(SJ3_CannotOpenFile, "\245\325\245\241\245\244\245\353\244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363"); + CASE(SJ3_CannotCreateFile, "\245\325\245\241\245\244\245\353\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363"); + CASE(SJ3_FileReadError, "\245\352\241\274\245\311\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277"); + CASE(SJ3_FileWriteError, "\245\351\245\244\245\310\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277"); + CASE(SJ3_FileSeekError, "\245\267\241\274\245\257\245\250\245\351\241\274\244\254\244\242\244\352\244\336\244\267\244\277"); + CASE(SJ3_StdyAlreadyOpened, "\263\330\275\254\245\325\245\241\245\244\245\353\244\317\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\271"); + CASE(SJ3_StdyFileNotOpened, "\263\330\275\254\245\325\245\241\245\244\245\353\244\254\245\252\241\274\245\327\245\363\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); + CASE(SJ3_TooSmallStdyArea, "\312\270\300\341\304\271\263\330\275\254\316\316\260\350\244\254\276\256\244\265\244\271\244\256\244\336\244\271"); + CASE(SJ3_LockedByOther, "\302\276\244\316\245\257\245\351\245\244\245\242\245\363\245\310\244\313\245\355\245\303\245\257\244\265\244\354\244\306\244\336\244\271"); + CASE(SJ3_NotLocked, "\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); + CASE(SJ3_NoSuchDict, "\244\275\244\316\244\350\244\246\244\312\274\255\275\361\244\317\244\242\244\352\244\336\244\273\244\363"); + CASE(SJ3_ReadOnlyDict, "\275\361\244\255\271\376\244\337\244\307\244\255\244\312\244\244\274\255\275\361\244\307\244\271"); + CASE(SJ3_DictLocked, "\274\255\275\361\244\254\245\355\245\303\245\257\244\265\244\354\244\306\244\244\244\336\244\271"); + CASE(SJ3_BadYomiString, "\265\366\244\265\244\354\244\312\244\244\306\311\244\337\312\270\273\372\316\363\244\307\244\271"); + CASE(SJ3_BadKanjiString, "\265\366\244\265\244\354\244\312\244\244\264\301\273\372\312\270\273\372\316\363\244\307\244\271"); + CASE(SJ3_BadHinsiCode, "\311\312\273\354\245\263\241\274\245\311\260\333\276\357\244\307\244\271"); + CASE(SJ3_AddDictFailed, "\274\255\275\361\305\320\317\277\244\362\274\272\307\324\244\267\244\336\244\267\244\277"); + CASE(SJ3_AlreadyExistWord, "\244\271\244\307\244\313\302\270\272\337\244\267\244\306\244\244\244\336\244\271"); + CASE(SJ3_NoMoreDouonWord, "\244\263\244\354\260\312\276\345\306\261\262\273\270\354\244\362\305\320\317\277\244\307\244\255\244\336\244\273\244\363"); + CASE(SJ3_NoMoreUserDict, "\244\263\244\354\260\312\276\345\274\255\275\361\244\313\305\320\317\277\244\307\244\255\244\336\244\273\244\363"); + CASE(SJ3_NoMoreIndexBlock, "\244\263\244\354\260\312\276\345\245\244\245\363\245\307\245\303\245\257\245\271\244\313\305\320\317\277\244\307\244\255\244\336\244\273\244\363"); + CASE(SJ3_DelDictFailed, "\274\255\275\361\272\357\275\374\244\362\274\272\307\324\244\267\244\336\244\267\244\277"); + CASE(SJ3_NoSuchWord, "\244\275\244\316\244\350\244\246\244\312\275\317\270\354\244\317\244\242\244\352\244\336\244\273\244\363"); + CASE(SJ3_DirAlreadyExist, "\244\275\244\316\245\307\245\243\245\354\245\257\245\310\245\352\244\254\302\270\272\337\244\267\244\306\244\244\244\336\244\271"); + CASE(SJ3_CannotCreateDir, "\245\307\245\243\245\354\245\257\245\310\245\352\244\254\272\356\300\256\244\307\244\255\244\336\244\273\244\363"); + CASE(SJ3_NoMoreDictData, "\244\263\244\354\260\312\276\345\274\255\275\361\245\307\241\274\245\277\244\254\244\242\244\352\244\336\244\273\244\363"); + CASE(SJ3_UserConnected, "\300\334\302\263\244\267\244\306\244\244\244\353\245\346\241\274\245\266\244\254\244\242\244\352\244\336\244\271"); + CASE(SJ3_TooLongPasswd, "\245\321\245\271\245\357\241\274\245\311\244\254\304\271\244\271\244\256\244\336\244\271"); + CASE(SJ3_TooLongComment, "\245\263\245\341\245\363\245\310\244\254\304\271\244\271\244\256\244\336\244\271"); +#undef CASE default: - sprintf((char *)tmp, "\314\244\304\352\265\301\244\316\245\250\245\351\241\274(%d)", code); + sprintf((char*)tmp, "\314\244\304\352\265\301\244\316\245\250\245\351\241\274(%d)", code); printout(fp, tmp); break; } diff --git a/sj3err.h b/sj3err.h index 8dc4af4..0e7c5ad 100644 --- a/sj3err.h +++ b/sj3err.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,80 +28,76 @@ */ /* - * $SonyRCSfile: sj3err.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj3err.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:58 $ */ +#define SJ3_InternalError -1 +#define SJ3_NormalEnd 0 +#define SJ3_ServerDown 1 +#define SJ3_OpenSocket 2 +#define SJ3_ConnectSocket 3 +#define SJ3_GetHostByName 4 +#define SJ3_NotOpened 5 +#define SJ3_NotEnoughMemory 6 +#define SJ3_IllegalCommand 7 +#define SJ3_DifferentVersion 11 +#define SJ3_NoHostName 12 +#define SJ3_NoUserName 13 +#define SJ3_NotAllowedUser 14 +#define SJ3_AlreadyConnected 15 +#define SJ3_NotConnected 16 -#define SJ3_InternalError -1 +#define SJ3_TooLongParameter 21 +#define SJ3_IllegalParameter 22 -#define SJ3_NormalEnd 0 +#define SJ3_BadDictID 31 +#define SJ3_IllegalDictFile 32 +#define SJ3_IllegalStdyFile 33 +#define SJ3_IncorrectPasswd 34 +#define SJ3_FileNotExist 35 +#define SJ3_CannotAccessFile 36 +#define SJ3_CannotOpenFile 37 +#define SJ3_CannotCreateFile 38 +#define SJ3_FileReadError 39 +#define SJ3_FileWriteError 40 +#define SJ3_FileSeekError 41 -#define SJ3_ServerDown 1 -#define SJ3_OpenSocket 2 -#define SJ3_ConnectSocket 3 -#define SJ3_GetHostByName 4 -#define SJ3_NotOpened 5 -#define SJ3_NotEnoughMemory 6 -#define SJ3_IllegalCommand 7 +#define SJ3_StdyAlreadyOpened 51 +#define SJ3_StdyFileNotOpened 52 +#define SJ3_TooSmallStdyArea 53 -#define SJ3_DifferentVersion 11 -#define SJ3_NoHostName 12 -#define SJ3_NoUserName 13 -#define SJ3_NotAllowedUser 14 -#define SJ3_AlreadyConnected 15 -#define SJ3_NotConnected 16 +#define SJ3_LockedByOther 61 +#define SJ3_NotLocked 62 -#define SJ3_TooLongParameter 21 -#define SJ3_IllegalParameter 22 +#define SJ3_NoSuchDict 71 +#define SJ3_ReadOnlyDict 72 +#define SJ3_DictLocked 73 +#define SJ3_BadYomiString 74 +#define SJ3_BadKanjiString 75 +#define SJ3_BadHinsiCode 76 -#define SJ3_BadDictID 31 -#define SJ3_IllegalDictFile 32 -#define SJ3_IllegalStdyFile 33 -#define SJ3_IncorrectPasswd 34 -#define SJ3_FileNotExist 35 -#define SJ3_CannotAccessFile 36 -#define SJ3_CannotOpenFile 37 -#define SJ3_CannotCreateFile 38 -#define SJ3_FileReadError 39 -#define SJ3_FileWriteError 40 -#define SJ3_FileSeekError 41 +#define SJ3_AddDictFailed 81 +#define SJ3_AlreadyExistWord 82 +#define SJ3_NoMoreDouonWord 83 +#define SJ3_NoMoreUserDict 84 +#define SJ3_NoMoreIndexBlock 85 -#define SJ3_StdyAlreadyOpened 51 -#define SJ3_StdyFileNotOpened 52 -#define SJ3_TooSmallStdyArea 53 +#define SJ3_DelDictFailed 91 +#define SJ3_NoSuchWord 92 -#define SJ3_LockedByOther 61 -#define SJ3_NotLocked 62 +#define SJ3_DirAlreadyExist 101 +#define SJ3_CannotCreateDir 102 -#define SJ3_NoSuchDict 71 -#define SJ3_ReadOnlyDict 72 -#define SJ3_DictLocked 73 -#define SJ3_BadYomiString 74 -#define SJ3_BadKanjiString 75 -#define SJ3_BadHinsiCode 76 +#define SJ3_NoMoreDictData 111 -#define SJ3_AddDictFailed 81 -#define SJ3_AlreadyExistWord 82 -#define SJ3_NoMoreDouonWord 83 -#define SJ3_NoMoreUserDict 84 -#define SJ3_NoMoreIndexBlock 85 +#define SJ3_UserConnected 121 -#define SJ3_DelDictFailed 91 -#define SJ3_NoSuchWord 92 +#define SJ3_TooLongPasswd 131 +#define SJ3_TooLongComment 132 -#define SJ3_DirAlreadyExist 101 -#define SJ3_CannotCreateDir 102 - -#define SJ3_NoMoreDictData 111 - -#define SJ3_UserConnected 121 - -#define SJ3_TooLongPasswd 131 -#define SJ3_TooLongComment 132 - -#define SJ3_CannotCodeConvert 133 +#define SJ3_CannotCodeConvert 133 diff --git a/sj3lib.c b/sj3lib.c index 337d525..4b376bb 100644 --- a/sj3lib.c +++ b/sj3lib.c @@ -47,135 +47,130 @@ #include "sj3lib.h" -extern int sj3_error_number; +extern int sj3_error_number; #define SYS_SJIS 0 #define SYS_EUC 1 #define SYS_NOTDEF -1 -static int _sys_code = SYS_NOTDEF; +static int _sys_code = SYS_NOTDEF; -char *sj3_user_dir = "user"; -static char *path_delimiter = "/"; -static SJ3_CLIENT_ENV client = { -1, 0 }; -static long mdicid = 0; -static long udicid = 0; -static int defuse = 0; -static long *dicid_list = NULL; -static int dicid_num = 0; +char* sj3_user_dir = "user"; +static char* path_delimiter = "/"; +static SJ3_CLIENT_ENV client = {-1, 0}; +static long mdicid = 0; +static long udicid = 0; +static int defuse = 0; +static long* dicid_list = NULL; +static int dicid_num = 0; static unsigned char buf1[YomiBufSize]; static unsigned char buf2[YomiBufSize]; static unsigned char kbuf[KanjiBufSize]; static int -set_sys_code(void) -{ - char *loc; +set_sys_code(void) { + char* loc; loc = setlocale(LC_CTYPE, NULL); - if (strcmp(loc, "ja_JP.SJIS") == 0) + if(strcmp(loc, "ja_JP.SJIS") == 0) return SYS_SJIS; return SYS_EUC; } static int -make_dirs(char *path) -{ - char tmp[PathNameLen]; - char *p; - int i; +make_dirs(char* path) { + char tmp[PathNameLen]; + char* p; + int i; - for (p = path; *p; p++) { - if (*p != *path_delimiter) + for(p = path; *p; p++) { + if(*p != *path_delimiter) continue; strncpy(tmp, path, (i = p - path)); tmp[i] = '\0'; - if (sj3_access(&client, tmp, F_OK) != ERROR) + if(sj3_access(&client, tmp, F_OK) != ERROR) continue; - if (sj3_error_number == SJ3_ServerDown) + if(sj3_error_number == SJ3_ServerDown) return ERROR; - if (sj3_make_directory(&client, tmp) == ERROR) + if(sj3_make_directory(&client, tmp) == ERROR) return ERROR; } return 0; } -int -sj3_open(char *host, char *user) -{ - char tmp[PathNameLen]; - char *p; - int err = SJ3_NORMAL_END; +int sj3_open(char* host, char* user) { + char tmp[PathNameLen]; + char* p; + int err = SJ3_NORMAL_END; - if (client.fd != -1) + if(client.fd != -1) return SJ3_ALREADY_CONNECTED; sprintf(tmp, "%d.sj3lib", getpid()); - if (sj3_make_connection(&client, host, user, tmp) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_make_connection(&client, host, user, tmp) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; client.fd = -1; return SJ3_CONNECT_ERROR; } - if (client.stdy_size > SJ3_WORD_ID_SIZE) { + if(client.stdy_size > SJ3_WORD_ID_SIZE) { sj3_erase_connection(&client); return SJ3_CONNECT_ERROR; } mdicid = sj3_open_dictionary(&client, MainDictionary, NULL); - if (mdicid == 0) { - if (sj3_error_number == SJ3_ServerDown) + if(mdicid == 0) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_OPEN_MDICT; } strcpy(tmp, sj3_user_dir); - if (tmp[strlen(tmp) - 1] != *path_delimiter) + if(tmp[strlen(tmp) - 1] != *path_delimiter) strcat(tmp, path_delimiter); strcat(tmp, user); strcat(tmp, path_delimiter); - if (make_dirs(tmp) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(make_dirs(tmp) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; return (err | SJ3_CANNOT_MAKE_UDIR); } - for (p = tmp; *p; p++) - ; + for(p = tmp; *p; p++); strcpy(p, UserDictionary); - if (sj3_access(&client, tmp, F_OK) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_access(&client, tmp, F_OK) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; - if (sj3_make_dict_file(&client, tmp, DefIdxLen, - DefSegLen, DefSegNum) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_make_dict_file(&client, tmp, DefIdxLen, + DefSegLen, DefSegNum) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_MAKE_UDICT; } } udicid = sj3_open_dictionary(&client, tmp, ""); - if (udicid == 0) { - if (sj3_error_number == SJ3_ServerDown) + if(udicid == 0) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_OPEN_UDICT; } strcpy(p, StudyFile); - if (sj3_access(&client, tmp, F_OK) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_access(&client, tmp, F_OK) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; - if (sj3_make_study_file(&client, tmp, DefStyNum, DefClStep, - DefClLen) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_make_study_file(&client, tmp, DefStyNum, DefClStep, + DefClLen) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_MAKE_STUDY; } } - if (sj3_open_study_file(&client, tmp, "") == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_open_study_file(&client, tmp, "") == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_OPEN_STUDY; } @@ -187,109 +182,106 @@ server_dead: return SJ3_SERVER_DEAD; } -int -sj3_open_with_list(char *host, char *user, int dicts_num, - char **dicts, int *error_num, int **error_index) -{ - char tmp[PathNameLen]; - char *p; - int err = SJ3_NORMAL_END; - int i, err_id_num = 0; - long *dict_idx = NULL; +int sj3_open_with_list(char* host, char* user, int dicts_num, + char** dicts, int* error_num, int** error_index) { + char tmp[PathNameLen]; + char* p; + int err = SJ3_NORMAL_END; + int i, err_id_num = 0; + long* dict_idx = NULL; - if (client.fd != -1) + if(client.fd != -1) return SJ3_ALREADY_CONNECTED; sprintf(tmp, "%d.sj3lib", getpid()); - if (sj3_make_connection(&client, host, user, tmp) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_make_connection(&client, host, user, tmp) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; client.fd = -1; return SJ3_CONNECT_ERROR; } - if (client.stdy_size > SJ3_WORD_ID_SIZE) { + if(client.stdy_size > SJ3_WORD_ID_SIZE) { sj3_erase_connection(&client); return SJ3_CONNECT_ERROR; } - if ((dicts_num > 0) && dicts) { - if (!(dict_idx = (long *)malloc(sizeof(long) * dicts_num * - 2))) { + if((dicts_num > 0) && dicts) { + if(!(dict_idx = (long*)malloc(sizeof(long) * dicts_num * + 2))) { return SJ3_CONNECT_ERROR; } memset(dict_idx, 0, sizeof(long) * dicts_num * 2); - dicid_num = dicts_num; + dicid_num = dicts_num; dicid_list = dict_idx; err_id_num = 0; - for (i = 0; i < dicts_num; i++) { + for(i = 0; i < dicts_num; i++) { dict_idx[i] = sj3_open_dictionary(&client, dicts[i], - NULL); - if (dict_idx[i] == 0) { - if (sj3_error_number == SJ3_ServerDown) + NULL); + if(dict_idx[i] == 0) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; dict_idx[dicts_num + err_id_num] = i; err_id_num++; - } else if (mdicid == 0) { + } else if(mdicid == 0) { mdicid = dict_idx[i]; } } - if (err_id_num == dicts_num) { + if(err_id_num == dicts_num) { err |= SJ3_CANNOT_OPEN_MDICT; mdicid = 0; } - if (error_num) + if(error_num) *error_num = err_id_num; - if (error_index) - *error_index = (int *)&(dict_idx[dicts_num]); + if(error_index) + *error_index = (int*)&(dict_idx[dicts_num]); } strcpy(tmp, sj3_user_dir); - if (tmp[strlen(tmp) - 1] != *path_delimiter) + if(tmp[strlen(tmp) - 1] != *path_delimiter) strcat(tmp, path_delimiter); strcat(tmp, user); strcat(tmp, path_delimiter); - if (make_dirs(tmp) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(make_dirs(tmp) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; return (err | SJ3_CANNOT_MAKE_UDIR); } - for (p = tmp; *p; p++) - ; + for(p = tmp; *p; p++); strcpy(p, UserDictionary); - if (sj3_access(&client, tmp, F_OK) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_access(&client, tmp, F_OK) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; - if (sj3_make_dict_file(&client, tmp, DefIdxLen, - DefSegLen, DefSegNum) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_make_dict_file(&client, tmp, DefIdxLen, + DefSegLen, DefSegNum) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_MAKE_UDICT; } } udicid = sj3_open_dictionary(&client, tmp, ""); - if (udicid == 0) { - if (sj3_error_number == SJ3_ServerDown) + if(udicid == 0) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_OPEN_UDICT; } strcpy(p, StudyFile); - if (sj3_access(&client, tmp, F_OK) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_access(&client, tmp, F_OK) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; - if (sj3_make_study_file(&client, tmp, DefStyNum, DefClStep, - DefClLen) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_make_study_file(&client, tmp, DefStyNum, DefClStep, + DefClLen) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_MAKE_STUDY; } } - if (sj3_open_study_file(&client, tmp, "") == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_open_study_file(&client, tmp, "") == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CANNOT_OPEN_STUDY; } @@ -297,59 +289,57 @@ sj3_open_with_list(char *host, char *user, int dicts_num, return err; server_dead: - if (dict_idx) { + if(dict_idx) { free(dict_idx); dict_idx = NULL; - if (error_num) + if(error_num) *error_num = 0; - if (error_index) + if(error_index) *error_index = NULL; } mdicid = udicid = 0; return SJ3_SERVER_DEAD; } -int -sj3_close(void) -{ - int err = SJ3_NORMAL_END; - int i; +int sj3_close(void) { + int err = SJ3_NORMAL_END; + int i; - if (client.fd == -1) + if(client.fd == -1) return SJ3_NOT_CONNECTED; - if (mdicid == 0) + if(mdicid == 0) err |= SJ3_NOT_OPENED_MDICT; - else if (dicid_list) { - for (i = 0; i < dicid_num; i++) { - if (sj3_close_dictionary(&client, dicid_list[i]) == - ERROR) { - if (sj3_error_number == SJ3_ServerDown) + else if(dicid_list) { + for(i = 0; i < dicid_num; i++) { + if(sj3_close_dictionary(&client, dicid_list[i]) == + ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CLOSE_MDICT_ERROR; } } free(dicid_list); dicid_list = NULL; - dicid_num = 0; - } else if (sj3_close_dictionary(&client, mdicid) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + dicid_num = 0; + } else if(sj3_close_dictionary(&client, mdicid) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CLOSE_MDICT_ERROR; } mdicid = 0; - if (udicid == 0) + if(udicid == 0) err |= SJ3_NOT_OPENED_UDICT; - else if (sj3_close_dictionary(&client, udicid) == ERROR) { - if (sj3_error_number == SJ3_ServerDown) + else if(sj3_close_dictionary(&client, udicid) == ERROR) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_CLOSE_UDICT_ERROR; } udicid = 0; - if (sj3_close_study_file(&client) == ERROR) { - switch (sj3_error_number) { + if(sj3_close_study_file(&client) == ERROR) { + switch(sj3_error_number) { case SJ3_ServerDown: goto server_dead; @@ -363,8 +353,8 @@ sj3_close(void) } } - if (sj3_erase_connection(&client)) { - if (sj3_error_number == SJ3_ServerDown) + if(sj3_erase_connection(&client)) { + if(sj3_error_number == SJ3_ServerDown) goto server_dead; err |= SJ3_DISCONNECT_ERROR; } @@ -372,7 +362,7 @@ sj3_close(void) return err; server_dead: - if (dicid_list) { + if(dicid_list) { free(dicid_list); dicid_list = NULL; } @@ -381,39 +371,37 @@ server_dead: return SJ3_SERVER_DEAD; } -int -sj3_getkan(unsigned char *yomi, SJ3_BUNSETU *bun, unsigned char *knj, int knjsiz) -{ - unsigned char *src; - int buncnt = 0; - int len; - int stysiz = client.stdy_size; +int sj3_getkan(unsigned char* yomi, SJ3_BUNSETU* bun, unsigned char* knj, int knjsiz) { + unsigned char* src; + int buncnt = 0; + int len; + int stysiz = client.stdy_size; - if ((len = strlen(yomi)) > SJ3_IKKATU_YOMI) + if((len = strlen(yomi)) > SJ3_IKKATU_YOMI) return 0; - while (*yomi) { + while(*yomi) { len = sj3_ikkatu_henkan(&client, yomi, knj, knjsiz, - MBCODE_SJIS); - if (len == ERROR) { - if (client.fd < 0) { + MBCODE_SJIS); + if(len == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } return 0; - } else if (len == 0) + } else if(len == 0) break; src = knj; - while (*src) { + while(*src) { bun->srclen = *src++; memcpy(&(bun->dcid), src, stysiz); src += stysiz; bun->destlen = strlen(src); - bun->srcstr = yomi; + bun->srcstr = yomi; bun->deststr = knj; - while (*src) + while(*src) *knj++ = *src++; knjsiz -= bun->destlen; src++; @@ -424,9 +412,9 @@ sj3_getkan(unsigned char *yomi, SJ3_BUNSETU *bun, unsigned char *knj, int knjsiz *knj = 0; } - if (*yomi) { - bun->srclen = strlen(yomi); - bun->srcstr = yomi; + if(*yomi) { + bun->srclen = strlen(yomi); + bun->srcstr = yomi; bun->destlen = 0; bun->deststr = NULL; memset(&(bun->dcid), '\0', sizeof(bun->dcid)); @@ -436,60 +424,58 @@ sj3_getkan(unsigned char *yomi, SJ3_BUNSETU *bun, unsigned char *knj, int knjsiz return buncnt; } -int -sj3_getkan_euc(unsigned char *yomi, SJ3_BUNSETU *bun, unsigned char *knj, int knjsiz) -{ - unsigned char *src, *yp, *kp, *khp; - int buncnt = 0, i; - int len, flag, mflag = 0; - int stysiz = client.stdy_size; - int sentou, saigo; - int knjorg = knjsiz; - SJ3_BUNSETU *hbun = bun; +int sj3_getkan_euc(unsigned char* yomi, SJ3_BUNSETU* bun, unsigned char* knj, int knjsiz) { + unsigned char *src, *yp, *kp, *khp; + int buncnt = 0, i; + int len, flag, mflag = 0; + int stysiz = client.stdy_size; + int sentou, saigo; + int knjorg = knjsiz; + SJ3_BUNSETU* hbun = bun; - if ((len = strlen(yomi)) > SJ3_IKKATU_YOMI) + if((len = strlen(yomi)) > SJ3_IKKATU_YOMI) return 0; - if (client.svr_version == 1) { + if(client.svr_version == 1) { defuse = 0; - len = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, - client.default_char, &defuse); - if ((len < 0) || defuse) + len = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, + client.default_char, &defuse); + if((len < 0) || defuse) return 0; yp = buf1; - if (knjsiz > sizeof(kbuf)) { + if(knjsiz > sizeof(kbuf)) { mflag = 1; - kp = khp = (unsigned char *)malloc(knjsiz); + kp = khp = (unsigned char*)malloc(knjsiz); } else { kp = khp = kbuf; } flag = MBCODE_SJIS; } else { - yp = yomi; - kp = knj; + yp = yomi; + kp = knj; flag = MBCODE_EUC; } - while (*yp) { + while(*yp) { len = sj3_ikkatu_henkan(&client, yp, kp, knjsiz, flag); - if (len == ERROR) { - if (client.fd < 0) { + if(len == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } return 0; - } else if (len == 0) + } else if(len == 0) break; src = kp; - while (*src) { + while(*src) { bun->srclen = *src++; memcpy(&(bun->dcid), src, stysiz); src += stysiz; bun->destlen = strlen(src); - bun->srcstr = yp; + bun->srcstr = yp; bun->deststr = kp; - while (*src) + while(*src) *kp++ = *src++; knjsiz -= bun->destlen; src++; @@ -500,36 +486,36 @@ sj3_getkan_euc(unsigned char *yomi, SJ3_BUNSETU *bun, unsigned char *knj, int kn *kp = 0; } - if (*yp) { - bun->srclen = strlen(yp); - bun->srcstr = yp; + if(*yp) { + bun->srclen = strlen(yp); + bun->srcstr = yp; bun->destlen = 0; bun->deststr = NULL; memset(&(bun->dcid), '\0', sizeof(bun->dcid)); buncnt++; } - if (client.svr_version == 1) { - kp = khp; - yp = buf1; - bun = hbun; + if(client.svr_version == 1) { + kp = khp; + yp = buf1; + bun = hbun; defuse = 0; - len = sj3_str_sjistoeuc(knj, knjorg, kp, client.default_char, - &defuse); - if ((len < 0) || defuse) + len = sj3_str_sjistoeuc(knj, knjorg, kp, client.default_char, + &defuse); + if((len < 0) || defuse) return 0; - for (i = 0; i < buncnt; i++) { - sentou = sj3_sjistoeuclen(yp, bun[i].srcstr - yp); - saigo = sj3_sjistoeuclen(bun[i].srcstr, bun[i].srclen); - bun[i].srclen = saigo; - bun[i].srcstr = yomi + sentou; - sentou = sj3_sjistoeuclen(kp, bun[i].deststr - kp); - saigo = sj3_sjistoeuclen(bun[i].deststr, - bun[i].destlen); + for(i = 0; i < buncnt; i++) { + sentou = sj3_sjistoeuclen(yp, bun[i].srcstr - yp); + saigo = sj3_sjistoeuclen(bun[i].srcstr, bun[i].srclen); + bun[i].srclen = saigo; + bun[i].srcstr = yomi + sentou; + sentou = sj3_sjistoeuclen(kp, bun[i].deststr - kp); + saigo = sj3_sjistoeuclen(bun[i].deststr, + bun[i].destlen); bun[i].destlen = saigo; bun[i].deststr = knj + sentou; } - if (mflag) { + if(mflag) { free(khp); mflag = 0; } @@ -538,28 +524,24 @@ sj3_getkan_euc(unsigned char *yomi, SJ3_BUNSETU *bun, unsigned char *knj, int kn return buncnt; } -int -sj3_getkan_mb(unsigned char *yomi, SJ3_BUNSETU *bun, unsigned char *knj, int knjsiz) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_getkan_mb(unsigned char* yomi, SJ3_BUNSETU* bun, unsigned char* knj, int knjsiz) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_getkan_euc(yomi, bun, knj, knjsiz); else return sj3_getkan(yomi, bun, knj, knjsiz); } -int -sj3_douoncnt(unsigned char *yomi) -{ - int i; +int sj3_douoncnt(unsigned char* yomi) { + int i; - if ((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) + if((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) return 0; i = sj3_bunsetu_kouhosuu(&client, yomi, i, MBCODE_SJIS); - if (i == ERROR) { - if (client.fd < 0) { + if(i == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -570,30 +552,28 @@ sj3_douoncnt(unsigned char *yomi) return i; } -int -sj3_douoncnt_euc(unsigned char *yomi) -{ - int i, l, flag; - unsigned char *yp; +int sj3_douoncnt_euc(unsigned char* yomi) { + int i, l, flag; + unsigned char* yp; - if ((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) + if((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) return 0; - if (client.svr_version == 1) { + if(client.svr_version == 1) { defuse = 0; - l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, + client.default_char, &defuse); + if((l < 0) || defuse) return 0; - yp = buf1; + yp = buf1; flag = MBCODE_SJIS; } else { - yp = yomi; + yp = yomi; flag = MBCODE_EUC; } i = sj3_bunsetu_kouhosuu(&client, yp, i, flag); - if (i == ERROR) { - if (client.fd < 0) { + if(i == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -604,28 +584,24 @@ sj3_douoncnt_euc(unsigned char *yomi) return i; } -int -sj3_douoncnt_mb(unsigned char *yomi) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_douoncnt_mb(unsigned char* yomi) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_douoncnt_euc(yomi); else return sj3_douoncnt(yomi); } -int -sj3_getdouon(unsigned char *yomi, SJ3_DOUON *dou) -{ - int i; +int sj3_getdouon(unsigned char* yomi, SJ3_DOUON* dou) { + int i; - if ((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) + if((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) return 0; i = sj3_bunsetu_zenkouho(&client, yomi, i, dou, MBCODE_SJIS); - if (i == ERROR) { - if (client.fd < 0) { + if(i == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -635,41 +611,39 @@ sj3_getdouon(unsigned char *yomi, SJ3_DOUON *dou) return i; } -int -sj3_getdouon_euc(unsigned char *yomi, SJ3_DOUON *dou) -{ - int i, j, l; +int sj3_getdouon_euc(unsigned char* yomi, SJ3_DOUON* dou) { + int i, j, l; - if ((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) + if((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) return 0; - if (client.svr_version == 1) { + if(client.svr_version == 1) { defuse = 0; - l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, + client.default_char, &defuse); + if((l < 0) || defuse) return 0; i = sj3_bunsetu_zenkouho(&client, buf1, i, dou, MBCODE_SJIS); - if (i == ERROR) { - if (client.fd < 0) { + if(i == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } return 0; } - for (j = 0; j < i; j++) { + for(j = 0; j < i; j++) { defuse = 0; - l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), - dou[j].ddata, client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), + dou[j].ddata, client.default_char, &defuse); + if((l < 0) || defuse) return 0; (void)memcpy(dou[j].ddata, kbuf, l + 1); dou[j].dlen = l; } } else { i = sj3_bunsetu_zenkouho(&client, yomi, i, dou, MBCODE_EUC); - if (i == ERROR) { - if (client.fd < 0) { + if(i == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -679,22 +653,18 @@ sj3_getdouon_euc(unsigned char *yomi, SJ3_DOUON *dou) return i; } -int -sj3_getdouon_mb(unsigned char *yomi, SJ3_DOUON *dou) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_getdouon_mb(unsigned char* yomi, SJ3_DOUON* dou) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_getdouon_euc(yomi, dou); else return sj3_getdouon(yomi, dou); } -int -sj3_gakusyuu(SJ3_STUDYREC *dcid) -{ - if (sj3_tango_gakusyuu(&client, dcid) == ERROR) { - if (client.fd < 0) { +int sj3_gakusyuu(SJ3_STUDYREC* dcid) { + if(sj3_tango_gakusyuu(&client, dcid) == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -703,12 +673,10 @@ sj3_gakusyuu(SJ3_STUDYREC *dcid) return 0; } -int -sj3_gakusyuu2(unsigned char *yomi1, unsigned char *yomi2, SJ3_STUDYREC *dcid) -{ - if (sj3_bunsetu_gakusyuu(&client, yomi1, yomi2, dcid, MBCODE_SJIS) == - ERROR) { - if (client.fd < 0) { +int sj3_gakusyuu2(unsigned char* yomi1, unsigned char* yomi2, SJ3_STUDYREC* dcid) { + if(sj3_bunsetu_gakusyuu(&client, yomi1, yomi2, dcid, MBCODE_SJIS) == + ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -717,33 +685,31 @@ sj3_gakusyuu2(unsigned char *yomi1, unsigned char *yomi2, SJ3_STUDYREC *dcid) return 0; } -int -sj3_gakusyuu2_euc(unsigned char *yomi1, unsigned char *yomi2, SJ3_STUDYREC *dcid) -{ - int l, flag; +int sj3_gakusyuu2_euc(unsigned char* yomi1, unsigned char* yomi2, SJ3_STUDYREC* dcid) { + int l, flag; unsigned char *y1p, *y2p; - if (client.svr_version == 1) { + if(client.svr_version == 1) { defuse = 0; - l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi1, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi1, + client.default_char, &defuse); + if((l < 0) || defuse) return 1; defuse = 0; - l = sj3_str_euctosjis(buf2, sizeof(buf2), yomi2, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(buf2, sizeof(buf2), yomi2, + client.default_char, &defuse); + if((l < 0) || defuse) return 1; - y1p = buf1; - y2p = buf2; + y1p = buf1; + y2p = buf2; flag = MBCODE_SJIS; } else { - y1p = yomi1; - y2p = yomi2; + y1p = yomi1; + y2p = yomi2; flag = MBCODE_EUC; } - if (sj3_bunsetu_gakusyuu(&client, y1p, y2p, dcid, flag) == ERROR) { - if (client.fd < 0) { + if(sj3_bunsetu_gakusyuu(&client, y1p, y2p, dcid, flag) == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -752,185 +718,203 @@ sj3_gakusyuu2_euc(unsigned char *yomi1, unsigned char *yomi2, SJ3_STUDYREC *dcid return 0; } -int -sj3_gakusyuu2_mb(unsigned char *yomi1, unsigned char *yomi2, SJ3_STUDYREC *dcid) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_gakusyuu2_mb(unsigned char* yomi1, unsigned char* yomi2, SJ3_STUDYREC* dcid) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_gakusyuu2_euc(yomi1, yomi2, dcid); else return sj3_gakusyuu2(yomi1, yomi2, dcid); } -int -sj3_touroku(unsigned char *yomi, unsigned char *kanji, int code) -{ - if (sj3_tango_touroku(&client, udicid, yomi, kanji, code, - MBCODE_SJIS)) { - if (client.fd < 0) { +int sj3_touroku(unsigned char* yomi, unsigned char* kanji, int code) { + if(sj3_tango_touroku(&client, udicid, yomi, kanji, code, + MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } - switch (sj3_error_number) { + switch(sj3_error_number) { case SJ3_NoSuchDict: - case SJ3_ReadOnlyDict: return SJ3_DICT_ERROR; - case SJ3_DictLocked: return SJ3_DICT_LOCKED; - case SJ3_BadYomiString: return SJ3_BAD_YOMI_STR; - case SJ3_BadKanjiString: return SJ3_BAD_KANJI_STR; - case SJ3_BadHinsiCode: return SJ3_BAD_HINSI_CODE; - case SJ3_AlreadyExistWord: return SJ3_WORD_EXIST; - case SJ3_NoMoreDouonWord: return SJ3_DOUON_FULL; - case SJ3_NoMoreUserDict: return SJ3_DICT_FULL; - case SJ3_NoMoreIndexBlock: return SJ3_INDEX_FULL; - default: return SJ3_TOUROKU_FAILED; + case SJ3_ReadOnlyDict: + return SJ3_DICT_ERROR; + case SJ3_DictLocked: + return SJ3_DICT_LOCKED; + case SJ3_BadYomiString: + return SJ3_BAD_YOMI_STR; + case SJ3_BadKanjiString: + return SJ3_BAD_KANJI_STR; + case SJ3_BadHinsiCode: + return SJ3_BAD_HINSI_CODE; + case SJ3_AlreadyExistWord: + return SJ3_WORD_EXIST; + case SJ3_NoMoreDouonWord: + return SJ3_DOUON_FULL; + case SJ3_NoMoreUserDict: + return SJ3_DICT_FULL; + case SJ3_NoMoreIndexBlock: + return SJ3_INDEX_FULL; + default: + return SJ3_TOUROKU_FAILED; } } return 0; } -int -sj3_touroku_euc(unsigned char *yomi, unsigned char *kanji, int code) -{ - int l, flag; - unsigned char *yp; - unsigned char *kp; - if (client.svr_version == 1) { +int sj3_touroku_euc(unsigned char* yomi, unsigned char* kanji, int code) { + int l, flag; + unsigned char* yp; + unsigned char* kp; + if(client.svr_version == 1) { defuse = 0; - l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, + client.default_char, &defuse); + if((l < 0) || defuse) return SJ3_BAD_YOMI_STR; defuse = 0; - l = sj3_str_euctosjis(kbuf, sizeof(kbuf), kanji, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(kbuf, sizeof(kbuf), kanji, + client.default_char, &defuse); + if((l < 0) || defuse) return SJ3_BAD_KANJI_STR; - yp = buf1; - kp = kbuf; + yp = buf1; + kp = kbuf; flag = MBCODE_SJIS; } else { - yp = yomi; - kp = kanji; + yp = yomi; + kp = kanji; flag = MBCODE_EUC; } - if (sj3_tango_touroku(&client, udicid, yp, kp, code, flag)) { - if (client.fd < 0) { + if(sj3_tango_touroku(&client, udicid, yp, kp, code, flag)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } - switch (sj3_error_number) { + switch(sj3_error_number) { case SJ3_NoSuchDict: - case SJ3_ReadOnlyDict: return SJ3_DICT_ERROR; - case SJ3_DictLocked: return SJ3_DICT_LOCKED; - case SJ3_BadYomiString: return SJ3_BAD_YOMI_STR; - case SJ3_BadKanjiString: return SJ3_BAD_KANJI_STR; - case SJ3_BadHinsiCode: return SJ3_BAD_HINSI_CODE; - case SJ3_AlreadyExistWord: return SJ3_WORD_EXIST; - case SJ3_NoMoreDouonWord: return SJ3_DOUON_FULL; - case SJ3_NoMoreUserDict: return SJ3_DICT_FULL; - case SJ3_NoMoreIndexBlock: return SJ3_INDEX_FULL; - default: return SJ3_TOUROKU_FAILED; + case SJ3_ReadOnlyDict: + return SJ3_DICT_ERROR; + case SJ3_DictLocked: + return SJ3_DICT_LOCKED; + case SJ3_BadYomiString: + return SJ3_BAD_YOMI_STR; + case SJ3_BadKanjiString: + return SJ3_BAD_KANJI_STR; + case SJ3_BadHinsiCode: + return SJ3_BAD_HINSI_CODE; + case SJ3_AlreadyExistWord: + return SJ3_WORD_EXIST; + case SJ3_NoMoreDouonWord: + return SJ3_DOUON_FULL; + case SJ3_NoMoreUserDict: + return SJ3_DICT_FULL; + case SJ3_NoMoreIndexBlock: + return SJ3_INDEX_FULL; + default: + return SJ3_TOUROKU_FAILED; } } return 0; } -int -sj3_touroku_mb(unsigned char *yomi, unsigned char *kanji, int code) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_touroku_mb(unsigned char* yomi, unsigned char* kanji, int code) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_touroku_euc(yomi, kanji, code); else return sj3_touroku(yomi, kanji, code); } -int -sj3_syoukyo(unsigned char *yomi, unsigned char *kanji, int code) -{ - if (sj3_tango_sakujo(&client, udicid, yomi, kanji, code, MBCODE_SJIS)) { - if (client.fd < 0) { +int sj3_syoukyo(unsigned char* yomi, unsigned char* kanji, int code) { + if(sj3_tango_sakujo(&client, udicid, yomi, kanji, code, MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } - switch (sj3_error_number) { + switch(sj3_error_number) { case SJ3_NoSuchDict: - case SJ3_ReadOnlyDict: return SJ3_DICT_ERROR; - case SJ3_DictLocked: return SJ3_DICT_LOCKED; - case SJ3_BadYomiString: return SJ3_BAD_YOMI_STR; - case SJ3_BadKanjiString: return SJ3_BAD_KANJI_STR; - case SJ3_BadHinsiCode: return SJ3_BAD_HINSI_CODE; - case SJ3_NoSuchWord: return SJ3_WORD_NOT_EXIST; - default: return SJ3_SYOUKYO_FAILED; + case SJ3_ReadOnlyDict: + return SJ3_DICT_ERROR; + case SJ3_DictLocked: + return SJ3_DICT_LOCKED; + case SJ3_BadYomiString: + return SJ3_BAD_YOMI_STR; + case SJ3_BadKanjiString: + return SJ3_BAD_KANJI_STR; + case SJ3_BadHinsiCode: + return SJ3_BAD_HINSI_CODE; + case SJ3_NoSuchWord: + return SJ3_WORD_NOT_EXIST; + default: + return SJ3_SYOUKYO_FAILED; } } return 0; } -int -sj3_syoukyo_euc(unsigned char *yomi, unsigned char *kanji, int code) -{ - int l, flag; - unsigned char *yp; - unsigned char *kp; - if (client.svr_version == 1) { +int sj3_syoukyo_euc(unsigned char* yomi, unsigned char* kanji, int code) { + int l, flag; + unsigned char* yp; + unsigned char* kp; + if(client.svr_version == 1) { defuse = 0; - l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(buf1, sizeof(buf1), yomi, + client.default_char, &defuse); + if((l < 0) || defuse) return SJ3_BAD_YOMI_STR; defuse = 0; - l = sj3_str_euctosjis(kbuf, sizeof(kbuf), kanji, - client.default_char, &defuse); - if ((l < 0) || defuse) + l = sj3_str_euctosjis(kbuf, sizeof(kbuf), kanji, + client.default_char, &defuse); + if((l < 0) || defuse) return SJ3_BAD_KANJI_STR; - yp = buf1; - kp = kbuf; + yp = buf1; + kp = kbuf; flag = MBCODE_SJIS; } else { - yp = yomi; - kp = kanji; + yp = yomi; + kp = kanji; flag = MBCODE_EUC; } - if (sj3_tango_sakujo(&client, udicid, yp, kp, code, flag)) { - if (client.fd < 0) { + if(sj3_tango_sakujo(&client, udicid, yp, kp, code, flag)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } - switch (sj3_error_number) { + switch(sj3_error_number) { case SJ3_NoSuchDict: - case SJ3_ReadOnlyDict: return SJ3_DICT_ERROR; - case SJ3_DictLocked: return SJ3_DICT_LOCKED; - case SJ3_BadYomiString: return SJ3_BAD_YOMI_STR; - case SJ3_BadKanjiString: return SJ3_BAD_KANJI_STR; - case SJ3_BadHinsiCode: return SJ3_BAD_HINSI_CODE; - case SJ3_NoSuchWord: return SJ3_WORD_NOT_EXIST; - default: return SJ3_SYOUKYO_FAILED; + case SJ3_ReadOnlyDict: + return SJ3_DICT_ERROR; + case SJ3_DictLocked: + return SJ3_DICT_LOCKED; + case SJ3_BadYomiString: + return SJ3_BAD_YOMI_STR; + case SJ3_BadKanjiString: + return SJ3_BAD_KANJI_STR; + case SJ3_BadHinsiCode: + return SJ3_BAD_HINSI_CODE; + case SJ3_NoSuchWord: + return SJ3_WORD_NOT_EXIST; + default: + return SJ3_SYOUKYO_FAILED; } } return 0; } -int -sj3_syoukyo_mb(unsigned char *yomi, unsigned char *kanji, int code) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_syoukyo_mb(unsigned char* yomi, unsigned char* kanji, int code) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_syoukyo_euc(yomi, kanji, code); else return sj3_syoukyo(yomi, kanji, code); } -int -sj3_getdict(unsigned char *buf) -{ - if (sj3_tango_syutoku(&client, udicid, buf, MBCODE_SJIS)) { - if (client.fd < 0) { +int sj3_getdict(unsigned char* buf) { + if(sj3_tango_syutoku(&client, udicid, buf, MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -939,29 +923,27 @@ sj3_getdict(unsigned char *buf) return 0; } -int -sj3_getdict_euc(unsigned char *buf) -{ +int sj3_getdict_euc(unsigned char* buf) { int l, ll, slen; - if (client.svr_version == 1) { - if (sj3_tango_syutoku(&client, udicid, buf, MBCODE_SJIS)) { - if (client.fd < 0) { + if(client.svr_version == 1) { + if(sj3_tango_syutoku(&client, udicid, buf, MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } return 1; } defuse = 0; - slen = strlen(buf) + 1; - l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), buf, - client.default_char, &defuse); - if ((l < 0) || defuse) + slen = strlen(buf) + 1; + l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), buf, + client.default_char, &defuse); + if((l < 0) || defuse) return 1; l++; ll = sj3_str_sjistoeuc(&(kbuf[l]), sizeof(kbuf) - l, - &(buf[slen]), client.default_char, &defuse); - if ((ll < 0) || defuse) + &(buf[slen]), client.default_char, &defuse); + if((ll < 0) || defuse) return 1; ll++; slen += strlen(&(buf[slen])) + 1; @@ -970,8 +952,8 @@ sj3_getdict_euc(unsigned char *buf) l += 4; memcpy(buf, kbuf, l); } else { - if (sj3_tango_syutoku(&client, udicid, buf, MBCODE_EUC)) { - if (client.fd < 0) { + if(sj3_tango_syutoku(&client, udicid, buf, MBCODE_EUC)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -981,22 +963,18 @@ sj3_getdict_euc(unsigned char *buf) return 0; } -int -sj3_getdict_mb(unsigned char *buf) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_getdict_mb(unsigned char* buf) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_getdict_euc(buf); else return sj3_getdict(buf); } -int -sj3_nextdict(unsigned char *buf) -{ - if (sj3_tango_jikouho(&client, udicid, buf, MBCODE_SJIS)) { - if (client.fd < 0) { +int sj3_nextdict(unsigned char* buf) { + if(sj3_tango_jikouho(&client, udicid, buf, MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -1005,29 +983,27 @@ sj3_nextdict(unsigned char *buf) return 0; } -int -sj3_nextdict_euc(unsigned char *buf) -{ +int sj3_nextdict_euc(unsigned char* buf) { int l, ll, slen; - if (client.svr_version == 1) { - if (sj3_tango_jikouho(&client, udicid, buf, MBCODE_SJIS)) { - if (client.fd < 0) { + if(client.svr_version == 1) { + if(sj3_tango_jikouho(&client, udicid, buf, MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } return 1; } defuse = 0; - slen = strlen(buf) + 1; - l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), buf, - client.default_char, &defuse); - if ((l < 0) || defuse) + slen = strlen(buf) + 1; + l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), buf, + client.default_char, &defuse); + if((l < 0) || defuse) return 1; l++; ll = sj3_str_sjistoeuc(&(kbuf[l]), sizeof(kbuf) - l, - &(buf[slen]), client.default_char, &defuse); - if ((ll < 0) || defuse) + &(buf[slen]), client.default_char, &defuse); + if((ll < 0) || defuse) return 1; ll++; slen += strlen(&(buf[slen])) + 1; @@ -1036,8 +1012,8 @@ sj3_nextdict_euc(unsigned char *buf) l += 4; memcpy(buf, kbuf, l); } else { - if (sj3_tango_jikouho(&client, udicid, buf, MBCODE_EUC)) { - if (client.fd < 0) { + if(sj3_tango_jikouho(&client, udicid, buf, MBCODE_EUC)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -1047,22 +1023,18 @@ sj3_nextdict_euc(unsigned char *buf) return 0; } -int -sj3_nextdict_mb(unsigned char *buf) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_nextdict_mb(unsigned char* buf) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_nextdict_euc(buf); else return sj3_nextdict(buf); } -int -sj3_prevdict(unsigned char *buf) -{ - if (sj3_tango_maekouho(&client, udicid, buf, MBCODE_SJIS)) { - if (client.fd < 0) { +int sj3_prevdict(unsigned char* buf) { + if(sj3_tango_maekouho(&client, udicid, buf, MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -1071,29 +1043,27 @@ sj3_prevdict(unsigned char *buf) return 0; } -int -sj3_prevdict_euc(unsigned char *buf) -{ +int sj3_prevdict_euc(unsigned char* buf) { int l, ll, slen; - if (client.svr_version == 1) { - if (sj3_tango_maekouho(&client, udicid, buf, MBCODE_SJIS)) { - if (client.fd < 0) { + if(client.svr_version == 1) { + if(sj3_tango_maekouho(&client, udicid, buf, MBCODE_SJIS)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } return 1; } defuse = 0; - slen = strlen(buf) + 1; - l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), buf, - client.default_char, &defuse); - if ((l < 0) || defuse) + slen = strlen(buf) + 1; + l = sj3_str_sjistoeuc(kbuf, sizeof(kbuf), buf, + client.default_char, &defuse); + if((l < 0) || defuse) return 1; l++; ll = sj3_str_sjistoeuc(&(kbuf[l]), sizeof(kbuf) - l, - &(buf[slen]), client.default_char, &defuse); - if ((ll < 0) || defuse) + &(buf[slen]), client.default_char, &defuse); + if((ll < 0) || defuse) return 1; ll++; slen += strlen(&(buf[slen])) + 1; @@ -1102,8 +1072,8 @@ sj3_prevdict_euc(unsigned char *buf) l += 4; memcpy(buf, kbuf, l); } else { - if (sj3_tango_maekouho(&client, udicid, buf, MBCODE_EUC)) { - if (client.fd < 0) { + if(sj3_tango_maekouho(&client, udicid, buf, MBCODE_EUC)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -1113,22 +1083,18 @@ sj3_prevdict_euc(unsigned char *buf) return 0; } -int -sj3_prevdict_mb(unsigned char *buf) -{ - if (_sys_code == SYS_NOTDEF) +int sj3_prevdict_mb(unsigned char* buf) { + if(_sys_code == SYS_NOTDEF) _sys_code = set_sys_code(); - if (_sys_code == SYS_EUC) + if(_sys_code == SYS_EUC) return sj3_prevdict_euc(buf); else return sj3_prevdict(buf); } -int -sj3_lockserv(void) -{ - if (sj3_lock_server(&client) == ERROR) { - if (client.fd < 0) { +int sj3_lockserv(void) { + if(sj3_lock_server(&client) == ERROR) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -1137,11 +1103,9 @@ sj3_lockserv(void) return 0; } -int -sj3_unlockserv(void) -{ - if (sj3_unlock_server(&client)) { - if (client.fd < 0) { +int sj3_unlockserv(void) { + if(sj3_unlock_server(&client)) { + if(client.fd < 0) { mdicid = udicid = 0; return -1; } diff --git a/sj3lib.h b/sj3lib.h index 5e65f56..92e4936 100644 --- a/sj3lib.h +++ b/sj3lib.h @@ -28,205 +28,205 @@ */ #ifndef _SJ3LIB_H_ -#define _SJ3LIB_H_ 1 +#define _SJ3LIB_H_ 1 #include -#define SJ3_NORMAL_END 0 -#define SJ3_SERVER_DEAD (1 << 0) +#define SJ3_NORMAL_END 0 +#define SJ3_SERVER_DEAD (1 << 0) -#define SJ3_CONNECT_ERROR (1 << 1) -#define SJ3_ALREADY_CONNECTED (1 << 2) -#define SJ3_CANNOT_OPEN_MDICT (1 << 3) -#define SJ3_CANNOT_OPEN_UDICT (1 << 4) -#define SJ3_CANNOT_OPEN_STUDY (1 << 5) -#define SJ3_CANNOT_MAKE_UDIR (1 << 6) -#define SJ3_CANNOT_MAKE_UDICT (1 << 7) -#define SJ3_CANNOT_MAKE_STUDY (1 << 8) +#define SJ3_CONNECT_ERROR (1 << 1) +#define SJ3_ALREADY_CONNECTED (1 << 2) +#define SJ3_CANNOT_OPEN_MDICT (1 << 3) +#define SJ3_CANNOT_OPEN_UDICT (1 << 4) +#define SJ3_CANNOT_OPEN_STUDY (1 << 5) +#define SJ3_CANNOT_MAKE_UDIR (1 << 6) +#define SJ3_CANNOT_MAKE_UDICT (1 << 7) +#define SJ3_CANNOT_MAKE_STUDY (1 << 8) -#define SJ3_DISCONNECT_ERROR (1 << 1) -#define SJ3_NOT_CONNECTED (1 << 2) -#define SJ3_NOT_OPENED_MDICT (1 << 3) -#define SJ3_NOT_OPENED_UDICT (1 << 4) -#define SJ3_NOT_OPENED_STUDY (1 << 5) -#define SJ3_CLOSE_MDICT_ERROR (1 << 6) -#define SJ3_CLOSE_UDICT_ERROR (1 << 7) -#define SJ3_CLOSE_STUDY_ERROR (1 << 8) +#define SJ3_DISCONNECT_ERROR (1 << 1) +#define SJ3_NOT_CONNECTED (1 << 2) +#define SJ3_NOT_OPENED_MDICT (1 << 3) +#define SJ3_NOT_OPENED_UDICT (1 << 4) +#define SJ3_NOT_OPENED_STUDY (1 << 5) +#define SJ3_CLOSE_MDICT_ERROR (1 << 6) +#define SJ3_CLOSE_UDICT_ERROR (1 << 7) +#define SJ3_CLOSE_STUDY_ERROR (1 << 8) -#define SJ3_DICT_ERROR 1 -#define SJ3_DICT_LOCKED 2 -#define SJ3_BAD_YOMI_STR 3 -#define SJ3_BAD_KANJI_STR 4 -#define SJ3_BAD_HINSI_CODE 5 +#define SJ3_DICT_ERROR 1 +#define SJ3_DICT_LOCKED 2 +#define SJ3_BAD_YOMI_STR 3 +#define SJ3_BAD_KANJI_STR 4 +#define SJ3_BAD_HINSI_CODE 5 -#define SJ3_WORD_EXIST 6 -#define SJ3_DOUON_FULL 7 -#define SJ3_DICT_FULL 8 -#define SJ3_INDEX_FULL 9 -#define SJ3_TOUROKU_FAILED 10 +#define SJ3_WORD_EXIST 6 +#define SJ3_DOUON_FULL 7 +#define SJ3_DICT_FULL 8 +#define SJ3_INDEX_FULL 9 +#define SJ3_TOUROKU_FAILED 10 -#define SJ3_WORD_NOT_EXIST 6 -#define SJ3_SYOUKYO_FAILED 10 +#define SJ3_WORD_NOT_EXIST 6 +#define SJ3_SYOUKYO_FAILED 10 -#define SJ3_IKKATU_YOMI 512 +#define SJ3_IKKATU_YOMI 512 -#define SJ3_BUNSETU_YOMI 128 -#define SJ3_BUNSETU_KANJI 512 +#define SJ3_BUNSETU_YOMI 128 +#define SJ3_BUNSETU_KANJI 512 -#ifndef SJ3_WORD_ID_SIZE -#define SJ3_WORD_ID_SIZE 32 +#ifndef SJ3_WORD_ID_SIZE +#define SJ3_WORD_ID_SIZE 32 #endif typedef struct studyrec { - unsigned char dummy[SJ3_WORD_ID_SIZE]; + unsigned char dummy[SJ3_WORD_ID_SIZE]; } SJ3_STUDYREC; typedef struct bunsetu { - int srclen; - int destlen; - unsigned char *srcstr; - unsigned char *deststr; - struct studyrec dcid; + int srclen; + int destlen; + unsigned char* srcstr; + unsigned char* deststr; + struct studyrec dcid; } SJ3_BUNSETU; typedef struct douon { - unsigned char ddata[SJ3_BUNSETU_KANJI]; - int dlen; - SJ3_STUDYREC dcid; + unsigned char ddata[SJ3_BUNSETU_KANJI]; + int dlen; + SJ3_STUDYREC dcid; } SJ3_DOUON; -#define SJ3_H_NRMNOUN 1 -#define SJ3_H_PRONOUN 12 -#define SJ3_H_LNAME 21 -#define SJ3_H_FNAME 22 -#define SJ3_H_LOCNAME 24 -#define SJ3_H_PREFIC 25 -#define SJ3_H_RENTAI 26 -#define SJ3_H_CONJUNC 27 -#define SJ3_H_SUBNUM 29 -#define SJ3_H_NUMERAL 30 -#define SJ3_H_PREFIX 31 -#define SJ3_H_POSTFIX 36 -#define SJ3_H_ADVERB 45 -#define SJ3_H_ADJECT 60 -#define SJ3_H_ADJVERB 71 -#define SJ3_H_SILVERB 80 -#define SJ3_H_ZILVERB 81 -#define SJ3_H_ONEVERB 90 -#define SJ3_H_KAVERB 91 -#define SJ3_H_GAVERB 92 -#define SJ3_H_SAVERB 93 -#define SJ3_H_TAVERB 94 -#define SJ3_H_NAVERB 95 -#define SJ3_H_BAVERB 96 -#define SJ3_H_MAVERB 97 -#define SJ3_H_RAVERB 98 -#define SJ3_H_WAVERB 99 -#define SJ3_H_SINGLE 189 +#define SJ3_H_NRMNOUN 1 +#define SJ3_H_PRONOUN 12 +#define SJ3_H_LNAME 21 +#define SJ3_H_FNAME 22 +#define SJ3_H_LOCNAME 24 +#define SJ3_H_PREFIC 25 +#define SJ3_H_RENTAI 26 +#define SJ3_H_CONJUNC 27 +#define SJ3_H_SUBNUM 29 +#define SJ3_H_NUMERAL 30 +#define SJ3_H_PREFIX 31 +#define SJ3_H_POSTFIX 36 +#define SJ3_H_ADVERB 45 +#define SJ3_H_ADJECT 60 +#define SJ3_H_ADJVERB 71 +#define SJ3_H_SILVERB 80 +#define SJ3_H_ZILVERB 81 +#define SJ3_H_ONEVERB 90 +#define SJ3_H_KAVERB 91 +#define SJ3_H_GAVERB 92 +#define SJ3_H_SAVERB 93 +#define SJ3_H_TAVERB 94 +#define SJ3_H_NAVERB 95 +#define SJ3_H_BAVERB 96 +#define SJ3_H_MAVERB 97 +#define SJ3_H_RAVERB 98 +#define SJ3_H_WAVERB 99 +#define SJ3_H_SINGLE 189 typedef struct sj3_client_env { - int fd; - int serv_dead_flg; - int stdy_size; - short svr_version; - short cli_version; - char default_char[2]; + int fd; + int serv_dead_flg; + int stdy_size; + short svr_version; + short cli_version; + char default_char[2]; } SJ3_CLIENT_ENV; -#ifndef SJ3_NAME_LENGTH -#define SJ3_NAME_LENGTH 128 +#ifndef SJ3_NAME_LENGTH +#define SJ3_NAME_LENGTH 128 #endif typedef struct sj3_who_struct { - int fd; - char hostname[SJ3_NAME_LENGTH]; - char username[SJ3_NAME_LENGTH]; - char progname[SJ3_NAME_LENGTH]; + int fd; + char hostname[SJ3_NAME_LENGTH]; + char username[SJ3_NAME_LENGTH]; + char progname[SJ3_NAME_LENGTH]; } SJ3_WHO_STRUCT; #define MBCODE_SJIS 1 -#define MBCODE_EUC 2 +#define MBCODE_EUC 2 /* level1.c */ void sj3_set_timeout(int); -int sj3_make_connection(SJ3_CLIENT_ENV *, char *, char *, char *); -int sj3_erase_connection(SJ3_CLIENT_ENV *); -long sj3_open_dictionary(SJ3_CLIENT_ENV *, char *, char *); -int sj3_close_dictionary(SJ3_CLIENT_ENV *, long); -int sj3_open_study_file(SJ3_CLIENT_ENV *, char *, char *); -int sj3_close_study_file(SJ3_CLIENT_ENV *); -int sj3_get_id_size(SJ3_CLIENT_ENV *); -int sj3_lock_server(SJ3_CLIENT_ENV *); -int sj3_unlock_server(SJ3_CLIENT_ENV *); -int sj3_ikkatu_henkan(SJ3_CLIENT_ENV *, unsigned char *, unsigned char *, int, int); -int sj3_bunsetu_henkan(SJ3_CLIENT_ENV *, unsigned char *, int, unsigned char *, int); -int sj3_bunsetu_jikouho(SJ3_CLIENT_ENV *, unsigned char *, int, int); -int sj3_bunsetu_maekouho(SJ3_CLIENT_ENV *, unsigned char *, int, int); -int sj3_bunsetu_kouhosuu(SJ3_CLIENT_ENV *, unsigned char *, int, int); -int sj3_bunsetu_zenkouho(SJ3_CLIENT_ENV *, unsigned char *, int, SJ3_DOUON *, int); -int sj3_tango_gakusyuu(SJ3_CLIENT_ENV *, SJ3_STUDYREC *); -int sj3_bunsetu_gakusyuu(SJ3_CLIENT_ENV *, unsigned char *, unsigned char *, SJ3_STUDYREC *, - int); -int sj3_tango_touroku(SJ3_CLIENT_ENV *, long, unsigned char *, unsigned char *, int, int); -int sj3_tango_sakujo(SJ3_CLIENT_ENV *, long, unsigned char *, unsigned char *, int, int); -int sj3_tango_syutoku(SJ3_CLIENT_ENV *, int, unsigned char *, int); -int sj3_tango_jikouho(SJ3_CLIENT_ENV *, int, unsigned char *, int); -int sj3_tango_maekouho(SJ3_CLIENT_ENV *, int, unsigned char *, int); -int sj3_make_dict_file(SJ3_CLIENT_ENV *, char *, int, int, int); -int sj3_make_study_file(SJ3_CLIENT_ENV *, char *, int, int, int); -int sj3_make_directory(SJ3_CLIENT_ENV *, char *); -int sj3_access(SJ3_CLIENT_ENV *, char *, int); -int sj3_who(SJ3_CLIENT_ENV *, SJ3_WHO_STRUCT *, int); -int sj3_quit(SJ3_CLIENT_ENV *); -int sj3_kill(SJ3_CLIENT_ENV *); -int sj3_version(SJ3_CLIENT_ENV *, char *, int); +int sj3_make_connection(SJ3_CLIENT_ENV*, char*, char*, char*); +int sj3_erase_connection(SJ3_CLIENT_ENV*); +long sj3_open_dictionary(SJ3_CLIENT_ENV*, char*, char*); +int sj3_close_dictionary(SJ3_CLIENT_ENV*, long); +int sj3_open_study_file(SJ3_CLIENT_ENV*, char*, char*); +int sj3_close_study_file(SJ3_CLIENT_ENV*); +int sj3_get_id_size(SJ3_CLIENT_ENV*); +int sj3_lock_server(SJ3_CLIENT_ENV*); +int sj3_unlock_server(SJ3_CLIENT_ENV*); +int sj3_ikkatu_henkan(SJ3_CLIENT_ENV*, unsigned char*, unsigned char*, int, int); +int sj3_bunsetu_henkan(SJ3_CLIENT_ENV*, unsigned char*, int, unsigned char*, int); +int sj3_bunsetu_jikouho(SJ3_CLIENT_ENV*, unsigned char*, int, int); +int sj3_bunsetu_maekouho(SJ3_CLIENT_ENV*, unsigned char*, int, int); +int sj3_bunsetu_kouhosuu(SJ3_CLIENT_ENV*, unsigned char*, int, int); +int sj3_bunsetu_zenkouho(SJ3_CLIENT_ENV*, unsigned char*, int, SJ3_DOUON*, int); +int sj3_tango_gakusyuu(SJ3_CLIENT_ENV*, SJ3_STUDYREC*); +int sj3_bunsetu_gakusyuu(SJ3_CLIENT_ENV*, unsigned char*, unsigned char*, SJ3_STUDYREC*, + int); +int sj3_tango_touroku(SJ3_CLIENT_ENV*, long, unsigned char*, unsigned char*, int, int); +int sj3_tango_sakujo(SJ3_CLIENT_ENV*, long, unsigned char*, unsigned char*, int, int); +int sj3_tango_syutoku(SJ3_CLIENT_ENV*, int, unsigned char*, int); +int sj3_tango_jikouho(SJ3_CLIENT_ENV*, int, unsigned char*, int); +int sj3_tango_maekouho(SJ3_CLIENT_ENV*, int, unsigned char*, int); +int sj3_make_dict_file(SJ3_CLIENT_ENV*, char*, int, int, int); +int sj3_make_study_file(SJ3_CLIENT_ENV*, char*, int, int, int); +int sj3_make_directory(SJ3_CLIENT_ENV*, char*); +int sj3_access(SJ3_CLIENT_ENV*, char*, int); +int sj3_who(SJ3_CLIENT_ENV*, SJ3_WHO_STRUCT*, int); +int sj3_quit(SJ3_CLIENT_ENV*); +int sj3_kill(SJ3_CLIENT_ENV*); +int sj3_version(SJ3_CLIENT_ENV*, char*, int); /* sj.c */ -int sj3_open(char *, char *); -int sj3_open_with_list(char *, char *, int, char **, int *, int **); +int sj3_open(char*, char*); +int sj3_open_with_list(char*, char*, int, char**, int*, int**); int sj3_close(void); -int sj3_getkan(unsigned char *, SJ3_BUNSETU *, unsigned char *, int); -int sj3_getkan_euc(unsigned char *, SJ3_BUNSETU *, unsigned char *, int); -int sj3_getkan_mb(unsigned char *, SJ3_BUNSETU *, unsigned char *, int); -int sj3_douoncnt(unsigned char *); -int sj3_douoncnt_euc(unsigned char *); -int sj3_douoncnt_mb(unsigned char *); -int sj3_getdouon(unsigned char *, SJ3_DOUON *); -int sj3_getdouon_euc(unsigned char *, SJ3_DOUON *); -int sj3_getdouon_mb(unsigned char *, SJ3_DOUON *); -int sj3_gakusyuu(SJ3_STUDYREC *); -int sj3_gakusyuu2(unsigned char *, unsigned char *, SJ3_STUDYREC *); -int sj3_gakusyuu2_euc(unsigned char *, unsigned char *, SJ3_STUDYREC *); -int sj3_gakusyuu2_mb(unsigned char *, unsigned char *, SJ3_STUDYREC *); -int sj3_touroku(unsigned char *, unsigned char *, int); -int sj3_touroku_euc(unsigned char *, unsigned char *, int); -int sj3_touroku_mb(unsigned char *, unsigned char *, int); -int sj3_syoukyo(unsigned char *, unsigned char *, int); -int sj3_syoukyo_euc(unsigned char *, unsigned char *, int); -int sj3_syoukyo_mb(unsigned char *, unsigned char *, int); -int sj3_getdict(unsigned char *); -int sj3_getdict_euc(unsigned char *); -int sj3_getdict_mb(unsigned char *); -int sj3_nextdict(unsigned char *); -int sj3_nextdict_euc(unsigned char *); -int sj3_nextdict_mb(unsigned char *); -int sj3_prevdict(unsigned char *); -int sj3_prevdict_euc(unsigned char *); -int sj3_prevdict_mb(unsigned char *); +int sj3_getkan(unsigned char*, SJ3_BUNSETU*, unsigned char*, int); +int sj3_getkan_euc(unsigned char*, SJ3_BUNSETU*, unsigned char*, int); +int sj3_getkan_mb(unsigned char*, SJ3_BUNSETU*, unsigned char*, int); +int sj3_douoncnt(unsigned char*); +int sj3_douoncnt_euc(unsigned char*); +int sj3_douoncnt_mb(unsigned char*); +int sj3_getdouon(unsigned char*, SJ3_DOUON*); +int sj3_getdouon_euc(unsigned char*, SJ3_DOUON*); +int sj3_getdouon_mb(unsigned char*, SJ3_DOUON*); +int sj3_gakusyuu(SJ3_STUDYREC*); +int sj3_gakusyuu2(unsigned char*, unsigned char*, SJ3_STUDYREC*); +int sj3_gakusyuu2_euc(unsigned char*, unsigned char*, SJ3_STUDYREC*); +int sj3_gakusyuu2_mb(unsigned char*, unsigned char*, SJ3_STUDYREC*); +int sj3_touroku(unsigned char*, unsigned char*, int); +int sj3_touroku_euc(unsigned char*, unsigned char*, int); +int sj3_touroku_mb(unsigned char*, unsigned char*, int); +int sj3_syoukyo(unsigned char*, unsigned char*, int); +int sj3_syoukyo_euc(unsigned char*, unsigned char*, int); +int sj3_syoukyo_mb(unsigned char*, unsigned char*, int); +int sj3_getdict(unsigned char*); +int sj3_getdict_euc(unsigned char*); +int sj3_getdict_mb(unsigned char*); +int sj3_nextdict(unsigned char*); +int sj3_nextdict_euc(unsigned char*); +int sj3_nextdict_mb(unsigned char*); +int sj3_prevdict(unsigned char*); +int sj3_prevdict_euc(unsigned char*); +int sj3_prevdict_mb(unsigned char*); int sj3_lockserv(void); int sj3_unlockserv(void); /* string.c */ -int sj3_str_sjistoeuc(unsigned char *, int, unsigned char *, unsigned char *, - int *); -int sj3_str_euctosjis(unsigned char *, int, unsigned char *, unsigned char *, - int *); -int sj3_sjistoeuclen(unsigned char *, int); -int sj3_sjistoeuc(unsigned char *, int, unsigned char *, int); -int sj3_euctosjis(unsigned char *, int, unsigned char *, int); -void sj_euc2sjis(unsigned char *); -void sj_jis2sjis(unsigned char *); -void sj_sjis2euc(unsigned char *); -void sj_sjis2jis(unsigned char *); +int sj3_str_sjistoeuc(unsigned char*, int, unsigned char*, unsigned char*, + int*); +int sj3_str_euctosjis(unsigned char*, int, unsigned char*, unsigned char*, + int*); +int sj3_sjistoeuclen(unsigned char*, int); +int sj3_sjistoeuc(unsigned char*, int, unsigned char*, int); +int sj3_euctosjis(unsigned char*, int, unsigned char*, int); +void sj_euc2sjis(unsigned char*); +void sj_jis2sjis(unsigned char*); +void sj_sjis2euc(unsigned char*); +void sj_sjis2jis(unsigned char*); unsigned short sj3_jis2sjis(unsigned short); unsigned short sj3_jis2euc(unsigned short); unsigned short sj3_sjis2jis(unsigned short); diff --git a/sj3libsj3.h b/sj3libsj3.h index 0375e1c..9dfe6f5 100644 --- a/sj3libsj3.h +++ b/sj3libsj3.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,36 +28,30 @@ */ /* - * $SonyRCSfile: sj3libsj3.h,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: sj3libsj3.h,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1996/05/27 10:52:05 $ */ - - #include "wchar16.h" #include "sj3lib.h" - - -typedef struct bunsetu_sj3 { - int srclen; - int destlen; - wchar16_t *srcstr; - wchar16_t *deststr; - struct studyrec dcid; +typedef struct bunsetu_sj3 { + int srclen; + int destlen; + wchar16_t* srcstr; + wchar16_t* deststr; + struct studyrec dcid; } SJ3_BUNSETU_SJ3; #ifdef valid #undef valid #endif -typedef struct douon_sj3 { - wchar16_t ddata[SJ3_BUNSETU_KANJI]; - int dlen; - SJ3_STUDYREC dcid; - int wlen; - char valid; +typedef struct douon_sj3 { + wchar16_t ddata[SJ3_BUNSETU_KANJI]; + int dlen; + SJ3_STUDYREC dcid; + int wlen; + char valid; } SJ3_DOUON_SJ3; - - diff --git a/sj3stat.c b/sj3stat.c index 02a5138..f1e0526 100644 --- a/sj3stat.c +++ b/sj3stat.c @@ -35,20 +35,18 @@ #include "sj3err.h" #include "sj3lib.h" -int -main(int argc, char **argv) -{ - SJ3_CLIENT_ENV clnt; - SJ3_WHO_STRUCT who[64]; - char ver[256]; - char pname[256]; - char *hname; - char *uname; +int main(int argc, char** argv) { + SJ3_CLIENT_ENV clnt; + SJ3_WHO_STRUCT who[64]; + char ver[256]; + char pname[256]; + char* hname; + char* uname; - int i, n; - char *p; + int i, n; + char* p; - if ((argc > 1 && argv[1][0] == '-') || argc > 2) { + if((argc > 1 && argv[1][0] == '-') || argc > 2) { fprintf(stderr, "usage: %s [server]\n", argv[0]); exit(1); } @@ -56,48 +54,54 @@ main(int argc, char **argv) hname = getenv("SJ3SERV"); uname = getenv("USER"); - if (argc > 1) + if(argc > 1) hname = argv[1]; - if (uname == NULL) + if(uname == NULL) uname = getlogin(); - if (uname == NULL) + if(uname == NULL) uname = "unknown"; sprintf(pname, "%d.sj3stat", getpid()); - if (sj3_make_connection(&clnt, hname, uname, pname) == ERROR) { - char *server, *status; - extern int sj3_error_number; + if(sj3_make_connection(&clnt, hname, uname, pname) == ERROR) { + char * server, *status; + extern int sj3_error_number; server = hname ? hname : "localhost"; - switch (sj3_error_number) { - case SJ3_ServerDown: status = "down"; break; - case SJ3_GetHostByName: status = "unknown"; break; - default: status = "dead"; break; + switch(sj3_error_number) { + case SJ3_ServerDown: + status = "down"; + break; + case SJ3_GetHostByName: + status = "unknown"; + break; + default: + status = "dead"; + break; } fprintf(stderr, "Server '%s' is %s.\n", server, status); return 1; } sj3_version(&clnt, ver, sizeof(ver)); - n = sj3_who(&clnt, who, sizeof(who)/sizeof(who[0])); + n = sj3_who(&clnt, who, sizeof(who) / sizeof(who[0])); - for (p = ver; *p; p++) { - while (*p) + for(p = ver; *p; p++) { + while(*p) putc(*p++, stdout); fprintf(stdout, "%%, "); } fprintf(stdout, "%d users.\n", n); -/* - * Change hostname entry's length. - * Because it's so short. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ + /* + * Change hostname entry's length. + * Because it's so short. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ fprintf(stdout, "%-16s %-32s %-8s %s\n", - "(USER)", "(HOST)", "(FD)", "(CLIENT)"); - for (i = 0; i < n; i++) { + "(USER)", "(HOST)", "(FD)", "(CLIENT)"); + for(i = 0; i < n; i++) { fprintf(stdout, "%-16s %-32s %-8d %s\n", who[i].username, - who[i].hostname, who[i].fd, who[i].progname); + who[i].hostname, who[i].fd, who[i].progname); } (void)sj3_erase_connection(&clnt); return 0; diff --git a/sj3ver.c b/sj3ver.c index 1fd0e87..18e6b81 100644 --- a/sj3ver.c +++ b/sj3ver.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,25 +28,22 @@ */ /* - * $SonyRCSfile: sj3ver.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj3ver.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:24 $ */ - - #include "sj2.h" -print_version () -{ - extern int vflag; - extern char *version; - extern char *Date; - extern char *Copyright; - extern char *Allrights; +print_version() { + extern int vflag; + extern char* version; + extern char* Date; + extern char* Copyright; + extern char* Allrights; - if (vflag == 1) { - aprintf ("%s\n\r%s\n\r%s\n\r%s\n\r", version, Date, Copyright, Allrights); - fflush (stdout); - } + if(vflag == 1) { + aprintf("%s\n\r%s\n\r%s\n\r%s\n\r", version, Date, Copyright, Allrights); + fflush(stdout); + } } diff --git a/sj_connect.h b/sj_connect.h index 9523245..47d797f 100644 --- a/sj_connect.h +++ b/sj_connect.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,497 +28,490 @@ */ /* - * $SonyRCSfile: sj_connect.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_connect.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:00 $ */ +#ifndef _SJ_CONNECT +#define _SJ_CONNECT +#define wo_x 0 +#define ttatte_x 0 +#define ttara_x 0 +#define tte1_x 0 +#define tte2_x 0 +#define ppanasi_x 0 +#define ppoi_x 0 +#define ue_x 0 +#define uti_x 0 +#define oite_x 0 +#define okeru_x 0 +#define ori_x 0 +#define ka1_x 0 +#define ka2_x 0 +#define kai_x 0 +#define kasira_x 0 -#ifndef _SJ_CONNECT +#define katagata_x 0 +#define kadouka_x 0 +#define kana_x 0 +#define kane_x 0 +#define kamo_x 0 +#define kara1_x 0 +#define kara2_x 0 +#define ga1_x 0 -#define _SJ_CONNECT +#define ga2_x 0 +#define gatera_x 0 +#define kiri_x 0 +#define kuseni_x 0 +#define kurai_x 0 +#define gurumi_x 0 +#define kedo_x 0 +#define koso_x 0 -#define wo_x 0 -#define ttatte_x 0 -#define ttara_x 0 -#define tte1_x 0 -#define tte2_x 0 -#define ppanasi_x 0 -#define ppoi_x 0 -#define ue_x 0 +#define koto_x 0 +#define sa2_x 0 +#define sae_x 0 +#define si2_x 0 +#define sika_x 0 +#define sura_x 0 +#define zutu_x 0 +#define zo_x 0 -#define uti_x 0 -#define oite_x 0 -#define okeru_x 0 -#define ori_x 0 -#define ka1_x 0 -#define ka2_x 0 -#define kai_x 0 -#define kasira_x 0 +#define tame_x 0 +#define dake_x 0 +#define dano_x 0 +#define darake_x 0 +#define tuite_x 0 +#define tuki_x 0 +#define tutu_x 0 +#define tumori_x 0 -#define katagata_x 0 -#define kadouka_x 0 -#define kana_x 0 -#define kane_x 0 -#define kamo_x 0 -#define kara1_x 0 -#define kara2_x 0 -#define ga1_x 0 +#define te1_x 0 +#define te2_x 0 +#define teru_x 0 +#define dearou_x 0 +#define deru_x 0 +#define to1_x 0 +#define to2_x 0 +#define totte_x 0 -#define ga2_x 0 -#define gatera_x 0 -#define kiri_x 0 -#define kuseni_x 0 -#define kurai_x 0 -#define gurumi_x 0 -#define kedo_x 0 -#define koso_x 0 +#define toiu_x 0 +#define toori_x 0 +#define toki_x 0 +#define tokoro_x 0 +#define tote_x 0 +#define tohaie_x 0 +#define tomo_x 0 +#define do_x 0 -#define koto_x 0 -#define sa2_x 0 -#define sae_x 0 -#define si2_x 0 -#define sika_x 0 -#define sura_x 0 -#define zutu_x 0 -#define zo_x 0 +#define doori_x 0 +#define dokoro_x 0 +#define dokoroka_x 0 +#define domo_x 0 +#define na1_x 0 +#define naa_x 0 +#define nagara_x 0 +#define nazo_x 0 -#define tame_x 0 -#define dake_x 0 -#define dano_x 0 -#define darake_x 0 -#define tuite_x 0 -#define tuki_x 0 -#define tutu_x 0 -#define tumori_x 0 +#define nado_x 0 +#define nari_x 0 +#define nanka_x 0 +#define nanzo_x 0 +#define nante_x 0 +#define ni1_x 0 +#define ni2_x 0 +#define ni3_x 0 -#define te1_x 0 -#define te2_x 0 -#define teru_x 0 -#define dearou_x 0 -#define deru_x 0 -#define to1_x 0 -#define to2_x 0 -#define totte_x 0 +#define nite_x 0 +#define nimo_x 0 +#define ne1_x 0 +#define nee_x 0 +#define no1_x 0 +#define no2_x 0 +#define node_x 0 +#define noni_x 0 -#define toiu_x 0 -#define toori_x 0 -#define toki_x 0 -#define tokoro_x 0 -#define tote_x 0 -#define tohaie_x 0 -#define tomo_x 0 -#define do_x 0 +#define nomi_x 0 +#define nominrz_x 0 +#define ha_x 0 +#define hazu_x 0 +#define ba_x 0 +#define bakari_x 0 +#define he_x 0 +#define hou_x 0 -#define doori_x 0 -#define dokoro_x 0 -#define dokoroka_x 0 -#define domo_x 0 -#define na1_x 0 -#define naa_x 0 -#define nagara_x 0 -#define nazo_x 0 +#define hoka_x 0 +#define hodo_x 0 +#define made_x 0 +#define mama_x 0 +#define mo1_x 0 +#define mo2_x 0 +#define motte_x 0 +#define mono_x 0 -#define nado_x 0 -#define nari_x 0 -#define nanka_x 0 -#define nanzo_x 0 -#define nante_x 0 -#define ni1_x 0 -#define ni2_x 0 -#define ni3_x 0 +#define ya1_x 0 +#define ya2_x 0 +#define yara_x 0 +#define yue_x 0 +#define yo_x 0 +#define yori_x 0 +#define wa_x 0 +#define wake_x 0 -#define nite_x 0 -#define nimo_x 0 -#define ne1_x 0 -#define nee_x 0 -#define no1_x 0 -#define no2_x 0 -#define node_x 0 -#define noni_x 0 +#define wane_x 0 +#define wayo_x 0 +#define nn1_x 0 +#define jya_x 0 +#define tya_x 0 +#define nagara2_x 0 +#define wo_s_x 0 -#define nomi_x 0 -#define nominrz_x 0 -#define ha_x 0 -#define hazu_x 0 -#define ba_x 0 -#define bakari_x 0 -#define he_x 0 -#define hou_x 0 +#define ze_x 0 +#define kke_x 0 +#define n_si_x 0 +#define deha_x 0 -#define hoka_x 0 -#define hodo_x 0 -#define made_x 0 -#define mama_x 0 -#define mo1_x 0 -#define mo2_x 0 -#define motte_x 0 -#define mono_x 0 +#define gotosi_x 0 +#define saseru_x 0 +#define zaru_x 0 +#define zu_x 0 +#define zunba_x 0 +#define seru_x 0 +#define souda_x 0 +#define youtai_x 0 -#define ya1_x 0 -#define ya2_x 0 -#define yara_x 0 -#define yue_x 0 -#define yo_x 0 -#define yori_x 0 -#define wa_x 0 -#define wake_x 0 +#define denbun_x 0 +#define ta_x 0 +#define tai_x 0 +#define tagaru_x 0 +#define taru_x 0 +#define da1_x 0 +#define da2_x 0 +#define daxtu_x 0 -#define wane_x 0 -#define wayo_x 0 -#define nn1_x 0 -#define jya_x 0 -#define tya_x 0 -#define nagara2_x 0 -#define wo_s_x 0 +#define darou_x 0 +#define de_x 0 +#define desi_x 0 +#define desho_x 0 +#define desu_x 0 +#define na2_x 0 +#define nara_x 0 +#define nai_x 0 -#define ze_x 0 -#define kke_x 0 -#define n_si_x 0 -#define deha_x 0 +#define nu_x 0 +#define ne2_x 0 +#define nn2_x 0 +#define fuuda_x 0 +#define besi_x 0 +#define mai_x 0 +#define masu_x 0 +#define masure_x 0 -#define gotosi_x 0 -#define saseru_x 0 -#define zaru_x 0 -#define zu_x 0 -#define zunba_x 0 -#define seru_x 0 -#define souda_x 0 -#define youtai_x 0 +#define mase_x 0 +#define mitaida_x 0 +#define you_x 0 +#define youda_x 0 +#define rasii_x 0 +#define rareru_x 0 +#define reru_x 0 +#define site_x 0 -#define denbun_x 0 -#define ta_x 0 -#define tai_x 0 -#define tagaru_x 0 -#define taru_x 0 -#define da1_x 0 -#define da2_x 0 -#define daxtu_x 0 +#define yougen_x 0 +#define aru_x 0 +#define ara_x 0 +#define ari1_x 0 +#define ari2_x 0 +#define ari3_x 0 +#define are1_x 0 +#define are2_x 0 -#define darou_x 0 -#define de_x 0 -#define desi_x 0 -#define desho_x 0 -#define desu_x 0 -#define na2_x 0 -#define nara_x 0 -#define nai_x 0 +#define arou_x 0 +#define ii_x 0 +#define itasi_x 0 +#define itadaku_x 0 +#define iru_x 0 +#define eru_x 0 +#define kakeru_x 0 +#define kaneru_x 0 -#define nu_x 0 -#define ne2_x 0 -#define nn2_x 0 -#define fuuda_x 0 -#define besi_x 0 -#define mai_x 0 -#define masu_x 0 -#define masure_x 0 +#define karazu_x 0 +#define gatai_x 0 +#define gatida_x 0 +#define kudasaru_x 0 +#define gozai_x 0 +#define sa1_x 0 +#define si1_x 0 +#define siro_x 0 -#define mase_x 0 -#define mitaida_x 0 -#define you_x 0 -#define youda_x 0 -#define rasii_x 0 -#define rareru_x 0 -#define reru_x 0 -#define site_x 0 +#define jyau_x 0 +#define jimau_x 0 +#define sugiru_x 0 +#define subesi_x 0 +#define suru_x 0 +#define sure_x 0 +#define se_x 0 +#define seyo_x 0 -#define yougen_x 0 -#define aru_x 0 -#define ara_x 0 -#define ari1_x 0 -#define ari2_x 0 -#define ari3_x 0 -#define are1_x 0 -#define are2_x 0 +#define tamau_x 0 +#define tayu_x 0 +#define timau_x 0 +#define dekiru_x 0 +#define naru_x 0 +#define nasai_x 0 +#define nasaru_x 0 +#define nikui_x 0 -#define arou_x 0 -#define ii_x 0 -#define itasi_x 0 -#define itadaku_x 0 -#define iru_x 0 -#define eru_x 0 -#define kakeru_x 0 -#define kaneru_x 0 - -#define karazu_x 0 -#define gatai_x 0 -#define gatida_x 0 -#define kudasaru_x 0 -#define gozai_x 0 -#define sa1_x 0 -#define si1_x 0 -#define siro_x 0 - -#define jyau_x 0 -#define jimau_x 0 -#define sugiru_x 0 -#define subesi_x 0 -#define suru_x 0 -#define sure_x 0 -#define se_x 0 -#define seyo_x 0 - -#define tamau_x 0 -#define tayu_x 0 -#define timau_x 0 -#define dekiru_x 0 -#define naru_x 0 -#define nasai_x 0 -#define nasaru_x 0 -#define nikui_x 0 - -#define yasui_x 0 -#define yoi_x 0 -#define yaru_x 0 -#ifdef HORI - \244\303\244\277\244\351\244\267\244\244\244\316 \244\316\276\360\312\363\244\362\304\311\262\303 1/31 +#define yasui_x 0 +#define yoi_x 0 +#define yaru_x 0 +#ifdef HORI +\244\303\244\277\244\351\244\267\244\244\244\316 \244\316\276\360\312\363\244\362\304\311\262\303 1 / 31 #endif -#define ttarasii_x 0 +#define ttarasii_x 0 +#define wo_o 0x80 +#define ttatte_o 0x40 +#define ttara_o 0x20 +#define tte1_o 0x10 +#define tte2_o 0x08 +#define ppanasi_o 0x04 +#define ppoi_o 0x02 +#define ue_o 0x01 -#define wo_o 0x80 -#define ttatte_o 0x40 -#define ttara_o 0x20 -#define tte1_o 0x10 -#define tte2_o 0x08 -#define ppanasi_o 0x04 -#define ppoi_o 0x02 -#define ue_o 0x01 +#define uti_o 0x80 +#define oite_o 0x40 +#define okeru_o 0x20 +#define ori_o 0x10 +#define ka1_o 0x08 +#define ka2_o 0x04 +#define kai_o 0x02 +#define kasira_o 0x01 -#define uti_o 0x80 -#define oite_o 0x40 -#define okeru_o 0x20 -#define ori_o 0x10 -#define ka1_o 0x08 -#define ka2_o 0x04 -#define kai_o 0x02 -#define kasira_o 0x01 +#define katagata_o 0x80 +#define kadouka_o 0x40 +#define kana_o 0x20 +#define kane_o 0x10 +#define kamo_o 0x08 +#define kara1_o 0x04 +#define kara2_o 0x02 +#define ga1_o 0x01 -#define katagata_o 0x80 -#define kadouka_o 0x40 -#define kana_o 0x20 -#define kane_o 0x10 -#define kamo_o 0x08 -#define kara1_o 0x04 -#define kara2_o 0x02 -#define ga1_o 0x01 +#define ga2_o 0x80 +#define gatera_o 0x40 +#define kiri_o 0x20 +#define kuseni_o 0x10 +#define kurai_o 0x08 +#define gurumi_o 0x04 +#define kedo_o 0x02 +#define koso_o 0x01 -#define ga2_o 0x80 -#define gatera_o 0x40 -#define kiri_o 0x20 -#define kuseni_o 0x10 -#define kurai_o 0x08 -#define gurumi_o 0x04 -#define kedo_o 0x02 -#define koso_o 0x01 +#define koto_o 0x80 +#define sa2_o 0x40 +#define sae_o 0x20 +#define si2_o 0x10 +#define sika_o 0x08 +#define sura_o 0x04 +#define zutu_o 0x02 +#define zo_o 0x01 -#define koto_o 0x80 -#define sa2_o 0x40 -#define sae_o 0x20 -#define si2_o 0x10 -#define sika_o 0x08 -#define sura_o 0x04 -#define zutu_o 0x02 -#define zo_o 0x01 +#define tame_o 0x80 +#define dake_o 0x40 +#define dano_o 0x20 +#define darake_o 0x10 +#define tuite_o 0x08 +#define tuki_o 0x04 +#define tutu_o 0x02 +#define tumori_o 0x01 -#define tame_o 0x80 -#define dake_o 0x40 -#define dano_o 0x20 -#define darake_o 0x10 -#define tuite_o 0x08 -#define tuki_o 0x04 -#define tutu_o 0x02 -#define tumori_o 0x01 +#define te1_o 0x80 +#define te2_o 0x40 +#define teru_o 0x20 +#define dearou_o 0x10 +#define deru_o 0x08 +#define to1_o 0x04 +#define to2_o 0x02 +#define totte_o 0x01 -#define te1_o 0x80 -#define te2_o 0x40 -#define teru_o 0x20 -#define dearou_o 0x10 -#define deru_o 0x08 -#define to1_o 0x04 -#define to2_o 0x02 -#define totte_o 0x01 +#define toiu_o 0x80 +#define toori_o 0x40 +#define toki_o 0x20 +#define tokoro_o 0x10 +#define tote_o 0x08 +#define tohaie_o 0x04 +#define tomo_o 0x02 +#define do_o 0x01 -#define toiu_o 0x80 -#define toori_o 0x40 -#define toki_o 0x20 -#define tokoro_o 0x10 -#define tote_o 0x08 -#define tohaie_o 0x04 -#define tomo_o 0x02 -#define do_o 0x01 +#define doori_o 0x80 +#define dokoro_o 0x40 +#define dokoroka_o 0x20 +#define domo_o 0x10 +#define na1_o 0x08 +#define naa_o 0x04 +#define nagara_o 0x02 +#define nazo_o 0x01 -#define doori_o 0x80 -#define dokoro_o 0x40 -#define dokoroka_o 0x20 -#define domo_o 0x10 -#define na1_o 0x08 -#define naa_o 0x04 -#define nagara_o 0x02 -#define nazo_o 0x01 +#define nado_o 0x80 +#define nari_o 0x40 +#define nanka_o 0x20 +#define nanzo_o 0x10 +#define nante_o 0x08 +#define ni1_o 0x04 +#define ni2_o 0x02 +#define ni3_o 0x01 -#define nado_o 0x80 -#define nari_o 0x40 -#define nanka_o 0x20 -#define nanzo_o 0x10 -#define nante_o 0x08 -#define ni1_o 0x04 -#define ni2_o 0x02 -#define ni3_o 0x01 +#define nite_o 0x80 +#define nimo_o 0x40 +#define ne1_o 0x20 +#define nee_o 0x10 +#define no1_o 0x08 +#define no2_o 0x04 +#define node_o 0x02 +#define noni_o 0x01 -#define nite_o 0x80 -#define nimo_o 0x40 -#define ne1_o 0x20 -#define nee_o 0x10 -#define no1_o 0x08 -#define no2_o 0x04 -#define node_o 0x02 -#define noni_o 0x01 +#define nomi_o 0x80 +#define nominrz_o 0x40 +#define ha_o 0x20 +#define hazu_o 0x10 +#define ba_o 0x08 +#define bakari_o 0x04 +#define he_o 0x02 +#define hou_o 0x01 -#define nomi_o 0x80 -#define nominrz_o 0x40 -#define ha_o 0x20 -#define hazu_o 0x10 -#define ba_o 0x08 -#define bakari_o 0x04 -#define he_o 0x02 -#define hou_o 0x01 +#define hoka_o 0x80 +#define hodo_o 0x40 +#define made_o 0x20 +#define mama_o 0x10 +#define mo1_o 0x08 +#define mo2_o 0x04 +#define motte_o 0x02 +#define mono_o 0x01 -#define hoka_o 0x80 -#define hodo_o 0x40 -#define made_o 0x20 -#define mama_o 0x10 -#define mo1_o 0x08 -#define mo2_o 0x04 -#define motte_o 0x02 -#define mono_o 0x01 +#define ya1_o 0x80 +#define ya2_o 0x40 +#define yara_o 0x20 +#define yue_o 0x10 +#define yo_o 0x08 +#define yori_o 0x04 +#define wa_o 0x02 +#define wake_o 0x01 -#define ya1_o 0x80 -#define ya2_o 0x40 -#define yara_o 0x20 -#define yue_o 0x10 -#define yo_o 0x08 -#define yori_o 0x04 -#define wa_o 0x02 -#define wake_o 0x01 +#define wane_o 0x80 +#define wayo_o 0x40 +#define nn1_o 0x20 +#define jya_o 0x10 +#define tya_o 0x08 +#define nagara2_o 0x04 +#define wo_s_o 0x02 -#define wane_o 0x80 -#define wayo_o 0x40 -#define nn1_o 0x20 -#define jya_o 0x10 -#define tya_o 0x08 -#define nagara2_o 0x04 -#define wo_s_o 0x02 +#define ze_o 0x80 +#define kke_o 0x40 +#define n_si_o 0x20 +#define deha_o 0x10 -#define ze_o 0x80 -#define kke_o 0x40 -#define n_si_o 0x20 -#define deha_o 0x10 +#define gotosi_o 0x80 +#define saseru_o 0x40 +#define zaru_o 0x20 +#define zu_o 0x10 +#define zunba_o 0x08 +#define seru_o 0x04 +#define souda_o 0x02 +#define youtai_o 0x01 +#define denbun_o 0x80 +#define ta_o 0x40 +#define tai_o 0x20 +#define tagaru_o 0x10 +#define taru_o 0x08 +#define da1_o 0x04 +#define da2_o 0x02 +#define daxtu_o 0x01 -#define gotosi_o 0x80 -#define saseru_o 0x40 -#define zaru_o 0x20 -#define zu_o 0x10 -#define zunba_o 0x08 -#define seru_o 0x04 -#define souda_o 0x02 -#define youtai_o 0x01 +#define darou_o 0x80 +#define de_o 0x40 +#define desi_o 0x20 +#define desho_o 0x10 +#define desu_o 0x08 +#define na2_o 0x04 +#define nara_o 0x02 +#define nai_o 0x01 -#define denbun_o 0x80 -#define ta_o 0x40 -#define tai_o 0x20 -#define tagaru_o 0x10 -#define taru_o 0x08 -#define da1_o 0x04 -#define da2_o 0x02 -#define daxtu_o 0x01 +#define nu_o 0x80 +#define ne2_o 0x40 +#define nn2_o 0x20 +#define fuuda_o 0x10 +#define besi_o 0x08 +#define mai_o 0x04 +#define masu_o 0x02 +#define masure_o 0x01 -#define darou_o 0x80 -#define de_o 0x40 -#define desi_o 0x20 -#define desho_o 0x10 -#define desu_o 0x08 -#define na2_o 0x04 -#define nara_o 0x02 -#define nai_o 0x01 +#define mase_o 0x80 +#define mitaida_o 0x40 +#define you_o 0x20 +#define youda_o 0x10 +#define rasii_o 0x08 +#define rareru_o 0x04 +#define reru_o 0x02 +#define site_o 0x01 -#define nu_o 0x80 -#define ne2_o 0x40 -#define nn2_o 0x20 -#define fuuda_o 0x10 -#define besi_o 0x08 -#define mai_o 0x04 -#define masu_o 0x02 -#define masure_o 0x01 +#define yougen_o 0x80 +#define aru_o 0x40 +#define ara_o 0x20 +#define ari1_o 0x10 +#define ari2_o 0x08 +#define ari3_o 0x04 +#define are1_o 0x02 +#define are2_o 0x01 -#define mase_o 0x80 -#define mitaida_o 0x40 -#define you_o 0x20 -#define youda_o 0x10 -#define rasii_o 0x08 -#define rareru_o 0x04 -#define reru_o 0x02 -#define site_o 0x01 +#define arou_o 0x80 +#define ii_o 0x40 +#define itasi_o 0x20 +#define itadaku_o 0x10 +#define iru_o 0x08 +#define eru_o 0x04 +#define kakeru_o 0x02 +#define kaneru_o 0x01 -#define yougen_o 0x80 -#define aru_o 0x40 -#define ara_o 0x20 -#define ari1_o 0x10 -#define ari2_o 0x08 -#define ari3_o 0x04 -#define are1_o 0x02 -#define are2_o 0x01 +#define karazu_o 0x80 +#define gatai_o 0x40 +#define gatida_o 0x20 +#define kudasaru_o 0x10 +#define gozai_o 0x08 +#define sa1_o 0x04 +#define si1_o 0x02 +#define siro_o 0x01 -#define arou_o 0x80 -#define ii_o 0x40 -#define itasi_o 0x20 -#define itadaku_o 0x10 -#define iru_o 0x08 -#define eru_o 0x04 -#define kakeru_o 0x02 -#define kaneru_o 0x01 +#define jyau_o 0x80 +#define jimau_o 0x40 +#define sugiru_o 0x20 +#define subesi_o 0x10 +#define suru_o 0x08 +#define sure_o 0x04 +#define se_o 0x02 +#define seyo_o 0x01 -#define karazu_o 0x80 -#define gatai_o 0x40 -#define gatida_o 0x20 -#define kudasaru_o 0x10 -#define gozai_o 0x08 -#define sa1_o 0x04 -#define si1_o 0x02 -#define siro_o 0x01 +#define tamau_o 0x80 +#define tayu_o 0x40 +#define timau_o 0x20 +#define dekiru_o 0x10 +#define naru_o 0x08 +#define nasai_o 0x04 +#define nasaru_o 0x02 +#define nikui_o 0x01 -#define jyau_o 0x80 -#define jimau_o 0x40 -#define sugiru_o 0x20 -#define subesi_o 0x10 -#define suru_o 0x08 -#define sure_o 0x04 -#define se_o 0x02 -#define seyo_o 0x01 +#define yasui_o 0x80 +#define yoi_o 0x40 +#define yaru_o 0x20 -#define tamau_o 0x80 -#define tayu_o 0x40 -#define timau_o 0x20 -#define dekiru_o 0x10 -#define naru_o 0x08 -#define nasai_o 0x04 -#define nasaru_o 0x02 -#define nikui_o 0x01 - -#define yasui_o 0x80 -#define yoi_o 0x40 -#define yaru_o 0x20 - -#ifdef HORI - \244\303\244\277\244\351\244\267\244\244\244\316 \244\316\276\360\312\363\244\362\304\311\262\303 1/31 +#ifdef HORI + \244\303\244\277\244\351\244\267\244\244\244\316 \244\316\276\360\312\363\244\362\304\311\262\303 1 / 31 #endif -#define ttarasii_o 0x10 - +#define ttarasii_o 0x10 #endif diff --git a/sj_dict.h b/sj_dict.h index 9adbe9b..0c5e595 100644 --- a/sj_dict.h +++ b/sj_dict.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,86 +28,61 @@ */ /* - * $SonyRCSfile: sj_dict.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_dict.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:03 $ */ +#ifndef _SJ_DICT +#define _SJ_DICT +#define DIC_MAIN 0 +#define DIC_USER 1 +#define DicSegBase 0 +#define MaxDouonBlk 0xfff +#define DouonBlkSizeNumber 3 +#define DicSegTerm 0xff +#define DouonBlkTerm 0xff +#define HinsiBlkTerm 0xff +#define MaxSegmentNumber 0xffff -#ifndef _SJ_DICT +#define NormalKanjiMask 0x7f +#define SS3Kanji 0x0080 +#define ZenHiraAssyuku 0x80 +#define OffsetAssyuku 0x90 +#define ZenKataAssyuku 0xa0 +#define AiAttribute 0xb0 +#define KanjiAssyuku 0xc0 +#define LeadingHankaku 0xd0 +#define KanjiStrEnd 0x00 +#define IsAssyuku 0x80 +#define AssukuUse2byte 0x90 +#define KnjAssyukuMask 0x0f +#define KanjiCodeMask 0x0f +#define KanjiModeMask 0xf0 +#define AtrMsKanjiOfs 0xc0c0 -#define _SJ_DICT +#define MaxKnjAskNumber 16 +#define MaxYomiAskNumber 16 +#define MaxWdYomiLen 31 +#define MaxWdKanjiLen 64 +#define AssyukuYomiTop 0x80 +#define NokoriYomiTop 0x40 -#define DIC_MAIN 0 -#define DIC_USER 1 +#define getsize(p) (((int)(*(p) & 0x0f) * 0x100) + *((p) + 1)) +#define getntag(p) ((*(p) == DicSegTerm) ? (p) : (p) + getsize(p)) +#define getplen(p) (((*(p) & AssyukuYomiTop) ? 0x10 : 0) + (*((p) + 2) >> 4)) +#define getnlen(p) (((*(p) & NokoriYomiTop) ? 0x10 : 0) + (*((p) + 2) & 0x0f)) -#define DicSegBase 0 -#define MaxDouonBlk 0xfff -#define DouonBlkSizeNumber 3 -#define DicSegTerm 0xff -#define DouonBlkTerm 0xff -#define HinsiBlkTerm 0xff -#define MaxSegmentNumber 0xffff +#define segtop() (dicbuf + *dicbuf + 1) - - -#define NormalKanjiMask 0x7f -#define SS3Kanji 0x0080 -#define ZenHiraAssyuku 0x80 -#define OffsetAssyuku 0x90 -#define ZenKataAssyuku 0xa0 -#define AiAttribute 0xb0 -#define KanjiAssyuku 0xc0 -#define LeadingHankaku 0xd0 -#define KanjiStrEnd 0x00 -#define IsAssyuku 0x80 -#define AssukuUse2byte 0x90 -#define KnjAssyukuMask 0x0f -#define KanjiCodeMask 0x0f -#define KanjiModeMask 0xf0 -#define AtrMsKanjiOfs 0xc0c0 - -#define MaxKnjAskNumber 16 -#define MaxYomiAskNumber 16 - -#define MaxWdYomiLen 31 -#define MaxWdKanjiLen 64 - -#define AssyukuYomiTop 0x80 -#define NokoriYomiTop 0x40 - - - - -#define getsize(p) (((int)(*(p) & 0x0f) * 0x100) + *((p) + 1)) - - - -#define getntag(p) ((*(p) == DicSegTerm) ? (p) : (p) + getsize(p)) - - - -#define getplen(p) (((*(p) & AssyukuYomiTop)?0x10:0) + (*((p)+2) >> 4)) - - - -#define getnlen(p) (((*(p) & NokoriYomiTop)?0x10:0) + (*((p)+2) & 0x0f)) - - - -#define segtop() (dicbuf + *dicbuf + 1) - - - -#define segend(p) (*(p) == DicSegTerm || (p) >= dicbuf + curdict->seglen) +#define segend(p) (*(p) == DicSegTerm || (p) >= dicbuf + curdict->seglen) #endif - diff --git a/sj_euc.h b/sj_euc.h index e002055..5a9d12f 100644 --- a/sj_euc.h +++ b/sj_euc.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: sj_euc.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_euc.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:05 $ */ - - #ifndef _SJ_EUC #define _SJ_EUC @@ -43,13 +41,13 @@ #ifdef SVR4 #include -#else +#else #ifndef SS2 #define SS2 0x8e #endif #ifndef SS3 #define SS3 0x8f #endif -#endif +#endif -#endif +#endif diff --git a/sj_func.h b/sj_func.h index 318b57d..2ee99f6 100644 --- a/sj_func.h +++ b/sj_func.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2004 Hiroo Ono - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -31,21 +31,18 @@ * $Id: sj_func.h,v 1.1 2004/07/04 08:15:19 hiroo Exp $ */ - -#ifndef _SJ_FUNC -#define _SJ_FUNC 1 +#ifndef _SJ_FUNC +#define _SJ_FUNC 1 #include #include "sj_typedef.h" #include "sj_struct.h" #include "Struct.h" -typedef void (*VFuncNT)(unsigned char*, unsigned char*, JREC*); -typedef int (*IFuncSetj)(unsigned char*); -typedef int (*IFuncHira)(unsigned char*, int*); +typedef void (*VFuncNT)(unsigned char*, unsigned char*, JREC*); +typedef int (*IFuncSetj)(unsigned char*); +typedef int (*IFuncHira)(unsigned char*, int*); typedef unsigned char* (*UCPFuncGK)(unsigned char*, unsigned char*, unsigned char*, int, int); typedef unsigned char* (*UCPFuncMK)(unsigned char*, unsigned char*, int); - #endif /* _SJ_FUNC */ - diff --git a/sj_global.h b/sj_global.h index 6d7cf42..b29a2c3 100644 --- a/sj_global.h +++ b/sj_global.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,19 +28,13 @@ */ /* - * $SonyRCSfile: sj_global.h,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: sj_global.h,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1994/12/09 11:27:06 $ */ +extern Global* global_work_base; +extern Global* work_base; -extern Global *global_work_base; - - - -extern Global *work_base; - - - -extern STDY *stdy_base; +extern STDY* stdy_base; diff --git a/sj_hinsi.h b/sj_hinsi.h index 101125f..d1de588 100644 --- a/sj_hinsi.h +++ b/sj_hinsi.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,204 +28,191 @@ */ /* - * $SonyRCSfile: sj_hinsi.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_hinsi.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:07 $ */ +#ifndef _SJ_HINSHI +#define _SJ_HINSHI +#define MEISI_1 1 +#define MEISI_2 2 +#define MEISI_3 3 +#define MEISI_4 4 +#define MEISI_5 5 +#define MEISI_6 6 +#define MEISI_7 7 +#define MEISI_8 8 +#define MEISI_9 9 +#define MEISI_10 10 +#define MEISI_11 11 +#define D_MEISI_1 12 +#define D_MEISI_2 13 +#define D_MEISI_3 14 +#define D_MEISI_4 15 +#define D_MEISI_5 16 +#define D_MEISI_6 17 +#define MEISI_20 18 +#define MYOUJI 21 +#define NAMAE 22 +#define KIGYOU 23 +#define TIMEI 24 +#define KEN_KU 25 +#define RENTAISI 26 +#define SETUZOKU 27 +#define KANDOUSI 28 +#define JOSUUSI 29 +#define SUUSI 30 +#define SETTOU_1 31 +#define SETTOU_2 32 +#define SETTOU_3 33 +#define SETTOU_4 34 +#define SETTOU_5 35 +#define SETUBI_1 36 +#define SETUBI_2 37 +#define SETUBI_3 38 +#define SETUBI_4 39 +#define SETUBI_5 40 +#define SETUBI_6 41 +#define SETUBI_7 42 +#define SETUBI_8 43 +#define SETUBI_9 44 +#define FUKUSI_1 45 +#define FUKUSI_2 46 +#define FUKUSI_3 47 +#define FUKUSI_4 48 +#define FUKUSI_5 49 +#define FUKUSI_6 50 +#define FUKUSI_7 51 +#define FUKUSI_8 52 +#define FUKUSI_9 53 +#define JOSUUSI2 54 -#ifndef _SJ_HINSHI +#define KEIYOUSI_1 60 +#define KEIYOUSI_2 61 +#define KEIYOUSI_3 62 +#define KEIYOUSI_4 63 +#define KEIYOUSI_5 64 +#define KEIYOUSI_6 65 +#define KEIYOUSI_7 66 +#define KEIYOUSI_8 67 +#define KEIYOUSI_9 68 +#define KEIYOUSI_10 69 +#define KEIYOUSI_11 70 +#define KE_DOUSI_1 71 +#define KE_DOUSI_2 72 +#define KE_DOUSI_3 73 +#define KE_DOUSI_4 74 +#define KE_DOUSI_5 75 +#define KE_DOUSI_6 76 +#define KE_DOUSI_7 77 +#define KE_DOUSI_8 78 +#define KE_DOUSI_9 79 -#define _SJ_HINSHI +#define DO_SAHEN 80 +#define DO_ZAHEN 81 -#define MEISI_1 1 -#define MEISI_2 2 -#define MEISI_3 3 -#define MEISI_4 4 -#define MEISI_5 5 -#define MEISI_6 6 -#define MEISI_7 7 -#define MEISI_8 8 -#define MEISI_9 9 -#define MEISI_10 10 -#define MEISI_11 11 -#define D_MEISI_1 12 -#define D_MEISI_2 13 -#define D_MEISI_3 14 -#define D_MEISI_4 15 -#define D_MEISI_5 16 -#define D_MEISI_6 17 -#define MEISI_20 18 +#define DO_1DAN_1 90 +#define DO_KAGO_1 91 +#define DO_GAGO_1 92 +#define DO_SAGO_1 93 +#define DO_TAGO_1 94 +#define DO_NAGO_1 95 +#define DO_BAGO_1 96 +#define DO_MAGO_1 97 +#define DO_RAGO_1 98 +#define DO_WAGO_1 99 -#define MYOUJI 21 -#define NAMAE 22 -#define KIGYOU 23 -#define TIMEI 24 -#define KEN_KU 25 -#define RENTAISI 26 -#define SETUZOKU 27 -#define KANDOUSI 28 -#define JOSUUSI 29 -#define SUUSI 30 -#define SETTOU_1 31 -#define SETTOU_2 32 -#define SETTOU_3 33 -#define SETTOU_4 34 -#define SETTOU_5 35 -#define SETUBI_1 36 -#define SETUBI_2 37 -#define SETUBI_3 38 -#define SETUBI_4 39 -#define SETUBI_5 40 -#define SETUBI_6 41 -#define SETUBI_7 42 -#define SETUBI_8 43 -#define SETUBI_9 44 -#define FUKUSI_1 45 -#define FUKUSI_2 46 -#define FUKUSI_3 47 -#define FUKUSI_4 48 -#define FUKUSI_5 49 -#define FUKUSI_6 50 -#define FUKUSI_7 51 -#define FUKUSI_8 52 -#define FUKUSI_9 53 -#define JOSUUSI2 54 +#define DO_1DAN_2 100 +#define DO_KAGO_2 101 +#define DO_GAGO_2 102 +#define DO_SAGO_2 103 +#define DO_TAGO_2 104 +#define DO_BAGO_2 105 +#define DO_MAGO_2 106 +#define DO_RAGO_2 107 +#define DO_WAGO_2 108 +#define DO_KAGO_5 111 +#define DO_GAGO_5 112 +#define DO_SAGO_5 113 +#define DO_TAGO_5 114 +#define DO_BAGO_5 115 +#define DO_MAGO_5 116 +#define DO_RAGO_5 117 +#define DO_WAGO_5 118 -#define KEIYOUSI_1 60 -#define KEIYOUSI_2 61 -#define KEIYOUSI_3 62 -#define KEIYOUSI_4 63 -#define KEIYOUSI_5 64 -#define KEIYOUSI_6 65 -#define KEIYOUSI_7 66 -#define KEIYOUSI_8 67 -#define KEIYOUSI_9 68 -#define KEIYOUSI_10 69 -#define KEIYOUSI_11 70 -#define KE_DOUSI_1 71 -#define KE_DOUSI_2 72 -#define KE_DOUSI_3 73 -#define KE_DOUSI_4 74 -#define KE_DOUSI_5 75 -#define KE_DOUSI_6 76 -#define KE_DOUSI_7 77 -#define KE_DOUSI_8 78 -#define KE_DOUSI_9 79 +#define DO_KAGO_6 121 +#define DO_GAGO_6 122 +#define DO_SAGO_6 123 +#define DO_TAGO_6 124 +#define DO_BAGO_6 125 +#define DO_MAGO_6 126 +#define DO_RAGO_6 127 +#define DO_WAGO_6 128 -#define DO_SAHEN 80 -#define DO_ZAHEN 81 +#define DO_1DAN_3 130 +#define DO_KAGO_3 131 +#define DO_GAGO_3 132 +#define DO_SAGO_3 133 +#define DO_TAGO_3 134 +#define DO_BAGO_3 135 +#define DO_MAGO_3 136 +#define DO_RAGO_3 137 +#define DO_WAGO_3 138 +#define DO_1DAN_4 140 +#define DO_KAGO_4 141 +#define DO_GAGO_4 142 +#define DO_SAGO_4 143 +#define DO_TAGO_4 144 +#define DO_BAGO_4 145 +#define DO_MAGO_4 146 +#define DO_RAGO_4 147 +#define DO_WAGO_4 148 -#define DO_1DAN_1 90 -#define DO_KAGO_1 91 -#define DO_GAGO_1 92 -#define DO_SAGO_1 93 -#define DO_TAGO_1 94 -#define DO_NAGO_1 95 -#define DO_BAGO_1 96 -#define DO_MAGO_1 97 -#define DO_RAGO_1 98 -#define DO_WAGO_1 99 +#define DO_KAGO_7 151 +#define DO_GAGO_7 152 +#define DO_SAGO_7 153 +#define DO_TAGO_7 154 +#define DO_BAGO_7 155 +#define DO_MAGO_7 156 +#define DO_RAGO_7 157 +#define DO_WAGO_7 158 -#define DO_1DAN_2 100 -#define DO_KAGO_2 101 -#define DO_GAGO_2 102 -#define DO_SAGO_2 103 -#define DO_TAGO_2 104 -#define DO_BAGO_2 105 -#define DO_MAGO_2 106 -#define DO_RAGO_2 107 -#define DO_WAGO_2 108 +#define DO_KAGO_8 161 +#define DO_GAGO_8 162 +#define DO_SAGO_8 163 +#define DO_TAGO_8 164 +#define DO_BAGO_8 165 +#define DO_MAGO_8 166 +#define DO_RAGO_8 167 +#define DO_WAGO_8 168 +#define SP_SA_MI1 171 +#define SP_SA_MI2 172 +#define SP_SA_YOU 173 +#define SP_SA_SYU 174 +#define SP_SA_KAT 175 +#define SP_SA_ME1 176 +#define SP_SA_ME2 177 +#define SP_KA_MIZ 178 +#define SP_KA_YOU 179 +#define SP_KA_SYU 180 +#define SP_KA_KAT 181 +#define SP_KA_MEI 182 +#define TEINEI1 183 -#define DO_KAGO_5 111 -#define DO_GAGO_5 112 -#define DO_SAGO_5 113 -#define DO_TAGO_5 114 -#define DO_BAGO_5 115 -#define DO_MAGO_5 116 -#define DO_RAGO_5 117 -#define DO_WAGO_5 118 +#define TEINEI2 184 +#define SP_KA_ONB 185 +#define SP_FUKUSI 186 +#define AISATU 187 +#define SP_KEIYOUSI 188 +#define TANKANJI 189 - -#define DO_KAGO_6 121 -#define DO_GAGO_6 122 -#define DO_SAGO_6 123 -#define DO_TAGO_6 124 -#define DO_BAGO_6 125 -#define DO_MAGO_6 126 -#define DO_RAGO_6 127 -#define DO_WAGO_6 128 - - -#define DO_1DAN_3 130 -#define DO_KAGO_3 131 -#define DO_GAGO_3 132 -#define DO_SAGO_3 133 -#define DO_TAGO_3 134 -#define DO_BAGO_3 135 -#define DO_MAGO_3 136 -#define DO_RAGO_3 137 -#define DO_WAGO_3 138 - - -#define DO_1DAN_4 140 -#define DO_KAGO_4 141 -#define DO_GAGO_4 142 -#define DO_SAGO_4 143 -#define DO_TAGO_4 144 -#define DO_BAGO_4 145 -#define DO_MAGO_4 146 -#define DO_RAGO_4 147 -#define DO_WAGO_4 148 - - -#define DO_KAGO_7 151 -#define DO_GAGO_7 152 -#define DO_SAGO_7 153 -#define DO_TAGO_7 154 -#define DO_BAGO_7 155 -#define DO_MAGO_7 156 -#define DO_RAGO_7 157 -#define DO_WAGO_7 158 - - -#define DO_KAGO_8 161 -#define DO_GAGO_8 162 -#define DO_SAGO_8 163 -#define DO_TAGO_8 164 -#define DO_BAGO_8 165 -#define DO_MAGO_8 166 -#define DO_RAGO_8 167 -#define DO_WAGO_8 168 - - -#define SP_SA_MI1 171 -#define SP_SA_MI2 172 -#define SP_SA_YOU 173 -#define SP_SA_SYU 174 -#define SP_SA_KAT 175 -#define SP_SA_ME1 176 -#define SP_SA_ME2 177 -#define SP_KA_MIZ 178 -#define SP_KA_YOU 179 -#define SP_KA_SYU 180 -#define SP_KA_KAT 181 -#define SP_KA_MEI 182 -#define TEINEI1 183 - -#define TEINEI2 184 -#define SP_KA_ONB 185 -#define SP_FUKUSI 186 -#define AISATU 187 -#define SP_KEIYOUSI 188 -#define TANKANJI 189 - -#define IKKATU 200 +#define IKKATU 200 #endif diff --git a/sj_kcnv.h b/sj_kcnv.h index 9298a2d..ad79e13 100644 --- a/sj_kcnv.h +++ b/sj_kcnv.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,15 +28,11 @@ */ /* - * $SonyRCSfile: sj_kcnv.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_kcnv.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:10 $ */ - - - - #include #include #include "sj_typedef.h" diff --git a/sj_left.h b/sj_left.h index 4b86da8..73e4ff3 100644 --- a/sj_left.h +++ b/sj_left.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,259 +28,247 @@ */ /* - * $SonyRCSfile: sj_left.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_left.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:12 $ */ +#ifndef _SJ_LEFT +#define _SJ_LEFT +#define L_WO 0x01 +#define L_TTATTE 0x02 +#define L_TTARA 0x03 +#define L_TTE1 0x04 +#define L_TTE2 0x05 +#define L_PPANASI 0x06 +#define L_PPOI 0x07 +#define L_UE 0x08 +#define L_UTI 0x09 +#define L_OITE 0x0a +#define L_OKERU 0x0b +#define L_ORI 0x0c +#define L_KA1 0x0d +#define L_KA2 0x0e +#define L_KAI 0x0f +#define L_KASIRA 0x10 -#ifndef _SJ_LEFT +#define L_KATAGATA 0x11 +#define L_KADOUKA 0x12 +#define L_KANA 0x13 +#define L_KANE 0x14 +#define L_KAMO 0x15 +#define L_KARA1 0x16 +#define L_KARA2 0x17 +#define L_GA1 0x18 -#define _SJ_LEFT +#define L_GA2 0x19 +#define L_GATERA 0x1a +#define L_KIRI 0x1b +#define L_KUSENI 0x1c +#define L_KURAI 0x1d +#define L_GURUMI 0x1e +#define L_KEDO 0x1f +#define L_KOSO 0x20 +#define L_KOTO 0x21 +#define L_SA2 0x22 +#define L_SAE 0x23 +#define L_SI2 0x24 +#define L_SIKA 0x25 +#define L_SURA 0x26 +#define L_ZUTU 0x27 +#define L_ZO 0x28 +#define L_TAME 0x29 +#define L_DAKE 0x2a +#define L_DANO 0x2b +#define L_DARAKE 0x2c +#define L_TUITE 0x2d +#define L_TUKI 0x2e +#define L_TUTU 0x2f +#define L_TUMORI 0x30 +#define L_TE1 0x31 +#define L_TE2 0x32 +#define L_TERU 0x33 +#define L_DEAROU 0x34 +#define L_DERU 0x35 +#define L_TO1 0x36 +#define L_TO2 0x37 +#define L_TOTTE 0x38 -#define L_WO 0x01 -#define L_TTATTE 0x02 -#define L_TTARA 0x03 -#define L_TTE1 0x04 -#define L_TTE2 0x05 -#define L_PPANASI 0x06 -#define L_PPOI 0x07 -#define L_UE 0x08 +#define L_TOIU 0x39 +#define L_TOORI 0x3a +#define L_TOKI 0x3b +#define L_TOKORO 0x3c +#define L_TOTE 0x3d +#define L_TOHAIE 0x3e +#define L_TOMO 0x3f +#define L_DO 0x40 -#define L_UTI 0x09 -#define L_OITE 0x0a -#define L_OKERU 0x0b -#define L_ORI 0x0c -#define L_KA1 0x0d -#define L_KA2 0x0e -#define L_KAI 0x0f -#define L_KASIRA 0x10 +#define L_DOORI 0x41 +#define L_DOKORO 0x42 +#define L_DOKOROKA 0x43 +#define L_DOMO 0x44 +#define L_NA1 0x45 +#define L_NAA 0x46 +#define L_NAGARA 0x47 +#define L_NAZO 0x48 -#define L_KATAGATA 0x11 -#define L_KADOUKA 0x12 -#define L_KANA 0x13 -#define L_KANE 0x14 -#define L_KAMO 0x15 -#define L_KARA1 0x16 -#define L_KARA2 0x17 -#define L_GA1 0x18 +#define L_NADO 0x49 +#define L_NARI 0x4a +#define L_NANKA 0x4b +#define L_NANZO 0x4c +#define L_NANTE 0x4d +#define L_NI1 0x4e +#define L_NI2 0x4f +#define L_NI3 0x50 -#define L_GA2 0x19 -#define L_GATERA 0x1a -#define L_KIRI 0x1b -#define L_KUSENI 0x1c -#define L_KURAI 0x1d -#define L_GURUMI 0x1e -#define L_KEDO 0x1f -#define L_KOSO 0x20 +#define L_NITE 0x51 +#define L_NIMO 0x52 +#define L_NE1 0x53 +#define L_NEE 0x54 +#define L_NO1 0x55 +#define L_NO2 0x56 +#define L_NODE 0x57 +#define L_NONI 0x58 -#define L_KOTO 0x21 -#define L_SA2 0x22 -#define L_SAE 0x23 -#define L_SI2 0x24 -#define L_SIKA 0x25 -#define L_SURA 0x26 -#define L_ZUTU 0x27 -#define L_ZO 0x28 +#define L_NOMI 0x59 +#define L_NOMINRZ 0x5a +#define L_HA 0x5b +#define L_HAZU 0x5c +#define L_BA 0x5d +#define L_BAKARI 0x5e +#define L_HE 0x5f +#define L_HOU 0x60 -#define L_TAME 0x29 -#define L_DAKE 0x2a -#define L_DANO 0x2b -#define L_DARAKE 0x2c -#define L_TUITE 0x2d -#define L_TUKI 0x2e -#define L_TUTU 0x2f -#define L_TUMORI 0x30 +#define L_HOKA 0x61 +#define L_HODO 0x62 +#define L_MADE 0x63 +#define L_MAMA 0x64 +#define L_MO1 0x65 +#define L_MO2 0x66 +#define L_MOTTE 0x67 +#define L_MONO 0x68 -#define L_TE1 0x31 -#define L_TE2 0x32 -#define L_TERU 0x33 -#define L_DEAROU 0x34 -#define L_DERU 0x35 -#define L_TO1 0x36 -#define L_TO2 0x37 -#define L_TOTTE 0x38 +#define L_YA1 0x69 +#define L_YA2 0x6a +#define L_YARA 0x6b +#define L_YUE 0x6c +#define L_YO 0x6d +#define L_YORI 0x6e +#define L_WA 0x6f +#define L_WAKE 0x70 -#define L_TOIU 0x39 -#define L_TOORI 0x3a -#define L_TOKI 0x3b -#define L_TOKORO 0x3c -#define L_TOTE 0x3d -#define L_TOHAIE 0x3e -#define L_TOMO 0x3f -#define L_DO 0x40 +#define L_WANE 0x71 +#define L_WAYO 0x72 +#define L_NN1 0x73 +#define L_JYA 0x74 +#define L_TYA 0x75 +#define L_NAGARA2 0x76 +#define L_WO_S 0x77 -#define L_DOORI 0x41 -#define L_DOKORO 0x42 -#define L_DOKOROKA 0x43 -#define L_DOMO 0x44 -#define L_NA1 0x45 -#define L_NAA 0x46 -#define L_NAGARA 0x47 -#define L_NAZO 0x48 +#define L_ZE 0x79 +#define L_KKE 0x7a +#define L_N_SI 0x7b +#define L_DEHA 0x7c -#define L_NADO 0x49 -#define L_NARI 0x4a -#define L_NANKA 0x4b -#define L_NANZO 0x4c -#define L_NANTE 0x4d -#define L_NI1 0x4e -#define L_NI2 0x4f -#define L_NI3 0x50 +#define L_GOTOSI 0x81 +#define L_SASERU 0x82 +#define L_ZARU 0x83 +#define L_ZU 0x84 +#define L_ZUNBA 0x85 +#define L_SERU 0x86 +#define L_SOUDA 0x87 +#define L_YOUTAI 0x88 -#define L_NITE 0x51 -#define L_NIMO 0x52 -#define L_NE1 0x53 -#define L_NEE 0x54 -#define L_NO1 0x55 -#define L_NO2 0x56 -#define L_NODE 0x57 -#define L_NONI 0x58 +#define L_DENBUN 0x89 +#define L_TA 0x8a +#define L_TAI 0x8b +#define L_TAGARU 0x8c +#define L_TARU 0x8d +#define L_DA1 0x8e +#define L_DA2 0x8f +#define L_DAXTU 0x90 -#define L_NOMI 0x59 -#define L_NOMINRZ 0x5a -#define L_HA 0x5b -#define L_HAZU 0x5c -#define L_BA 0x5d -#define L_BAKARI 0x5e -#define L_HE 0x5f -#define L_HOU 0x60 +#define L_DAROU 0x91 +#define L_DE 0x92 +#define L_DESI 0x93 +#define L_DESHO 0x94 +#define L_DESU 0x95 +#define L_NA2 0x96 +#define L_NARA 0x97 +#define L_NAI 0x98 -#define L_HOKA 0x61 -#define L_HODO 0x62 -#define L_MADE 0x63 -#define L_MAMA 0x64 -#define L_MO1 0x65 -#define L_MO2 0x66 -#define L_MOTTE 0x67 -#define L_MONO 0x68 +#define L_NU 0x99 +#define L_NE2 0x9a +#define L_NN2 0x9b +#define L_FUUDA 0x9c +#define L_BESI 0x9d +#define L_MAI 0x9e +#define L_MASU 0x9f +#define L_MASURE 0xa0 -#define L_YA1 0x69 -#define L_YA2 0x6a -#define L_YARA 0x6b -#define L_YUE 0x6c -#define L_YO 0x6d -#define L_YORI 0x6e -#define L_WA 0x6f -#define L_WAKE 0x70 +#define L_MASE 0xa1 +#define L_MITAIDA 0xa2 +#define L_YOU 0xa3 +#define L_YOUDA 0xa4 +#define L_RASII 0xa5 +#define L_RARERU 0xa6 +#define L_RERU 0xa7 +#define L_SITE 0xa8 -#define L_WANE 0x71 -#define L_WAYO 0x72 -#define L_NN1 0x73 -#define L_JYA 0x74 -#define L_TYA 0x75 -#define L_NAGARA2 0x76 -#define L_WO_S 0x77 +#define L_YOUGEN 0xa9 +#define L_ARU 0xaa +#define L_ARA 0xab +#define L_ARI1 0xac +#define L_ARI2 0xad +#define L_ARI3 0xae +#define L_ARE1 0xaf +#define L_ARE2 0xb0 -#define L_ZE 0x79 -#define L_KKE 0x7a -#define L_N_SI 0x7b -#define L_DEHA 0x7c +#define L_AROU 0xb1 +#define L_II 0xb2 +#define L_ITASI 0xb3 +#define L_ITADAKU 0xb4 +#define L_IRU 0xb5 +#define L_ERU 0xb6 +#define L_KAKERU 0xb7 +#define L_KANERU 0xb8 +#define L_KARAZU 0xb9 +#define L_GATAI 0xba +#define L_GATIDA 0xbb +#define L_KUDASARU 0xbc +#define L_GOZAI 0xbd +#define L_SA1 0xbe +#define L_SI1 0xbf +#define L_SIRO 0xc0 +#define L_JYAU 0xc1 +#define L_JIMAU 0xc2 +#define L_SUGIRU 0xc3 +#define L_SUBESI 0xc4 +#define L_SURU 0xc5 +#define L_SURE 0xc6 +#define L_SE 0xc7 +#define L_SEYO 0xc8 -#define L_GOTOSI 0x81 -#define L_SASERU 0x82 -#define L_ZARU 0x83 -#define L_ZU 0x84 -#define L_ZUNBA 0x85 -#define L_SERU 0x86 -#define L_SOUDA 0x87 -#define L_YOUTAI 0x88 +#define L_TAMAU 0xc9 +#define L_TYAU 0xca +#define L_TIMAU 0xcb +#define L_DEKIRU 0xcc +#define L_NARU 0xcd +#define L_NASAI 0xce +#define L_NASARU 0xcf +#define L_NIKUI 0xd0 -#define L_DENBUN 0x89 -#define L_TA 0x8a -#define L_TAI 0x8b -#define L_TAGARU 0x8c -#define L_TARU 0x8d -#define L_DA1 0x8e -#define L_DA2 0x8f -#define L_DAXTU 0x90 - -#define L_DAROU 0x91 -#define L_DE 0x92 -#define L_DESI 0x93 -#define L_DESHO 0x94 -#define L_DESU 0x95 -#define L_NA2 0x96 -#define L_NARA 0x97 -#define L_NAI 0x98 - -#define L_NU 0x99 -#define L_NE2 0x9a -#define L_NN2 0x9b -#define L_FUUDA 0x9c -#define L_BESI 0x9d -#define L_MAI 0x9e -#define L_MASU 0x9f -#define L_MASURE 0xa0 - -#define L_MASE 0xa1 -#define L_MITAIDA 0xa2 -#define L_YOU 0xa3 -#define L_YOUDA 0xa4 -#define L_RASII 0xa5 -#define L_RARERU 0xa6 -#define L_RERU 0xa7 -#define L_SITE 0xa8 - - - - -#define L_YOUGEN 0xa9 -#define L_ARU 0xaa -#define L_ARA 0xab -#define L_ARI1 0xac -#define L_ARI2 0xad -#define L_ARI3 0xae -#define L_ARE1 0xaf -#define L_ARE2 0xb0 - -#define L_AROU 0xb1 -#define L_II 0xb2 -#define L_ITASI 0xb3 -#define L_ITADAKU 0xb4 -#define L_IRU 0xb5 -#define L_ERU 0xb6 -#define L_KAKERU 0xb7 -#define L_KANERU 0xb8 - -#define L_KARAZU 0xb9 -#define L_GATAI 0xba -#define L_GATIDA 0xbb -#define L_KUDASARU 0xbc -#define L_GOZAI 0xbd -#define L_SA1 0xbe -#define L_SI1 0xbf -#define L_SIRO 0xc0 - -#define L_JYAU 0xc1 -#define L_JIMAU 0xc2 -#define L_SUGIRU 0xc3 -#define L_SUBESI 0xc4 -#define L_SURU 0xc5 -#define L_SURE 0xc6 -#define L_SE 0xc7 -#define L_SEYO 0xc8 - -#define L_TAMAU 0xc9 -#define L_TYAU 0xca -#define L_TIMAU 0xcb -#define L_DEKIRU 0xcc -#define L_NARU 0xcd -#define L_NASAI 0xce -#define L_NASARU 0xcf -#define L_NIKUI 0xd0 - -#define L_YASUI 0xd1 -#define L_YOI 0xd2 -#define L_YORU 0xd3 -#define L_TTARASII 0xd4 +#define L_YASUI 0xd1 +#define L_YOI 0xd2 +#define L_YORU 0xd3 +#define L_TTARASII 0xd4 #endif diff --git a/sj_macro.h b/sj_macro.h index 404ec91..899e8fc 100644 --- a/sj_macro.h +++ b/sj_macro.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,22 +28,19 @@ */ /* - * $SonyRCSfile: sj_macro.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_macro.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:25 $ */ - - - #include #include -#ifndef _MACRO_ -#define _MACRO_ +#ifndef _MACRO_ +#define _MACRO_ -#define Isblank(c) ((c) == 0x20 || (c) == 0x09 || (c) == 0xa1a1) +#define Isblank(c) ((c) == 0x20 || (c) == 0x09 || (c) == 0xa1a1) -#define Isillegal(c) ((c) < 0x20) +#define Isillegal(c) ((c) < 0x20) #endif diff --git a/sj_prty.h b/sj_prty.h index 243d2d4..4f3880e 100644 --- a/sj_prty.h +++ b/sj_prty.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,54 +28,47 @@ */ /* - * $SonyRCSfile: sj_prty.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_prty.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:13 $ */ +#ifndef _SJ_PRIORITY +#define _SJ_PRIORITY +#define RENTAI 0x10 +#define GETPRI 0x0f +#define P_FUKA 1 +#define P_TANKAN 1 +#define P_SHUUSI 2 +#define P_MEIREI 2 +#define P_KATEI 2 +#define P_KAMEI 2 -#ifndef _SJ_PRIORITY +#define P_DAIMEISI 4 +#define P_MEISI 6 +#define P_KEISIKI 4 +#define P_RENYOU_F 3 +#define P_RENYOU_J 11 +#define P_RENYOU_M 12 +#define P_JOSHI_F 3 +#define P_JOSHI_E 4 +#define P_JOSHI_D 6 +#define P_JOSHI_C 7 +#define P_JOSHI_B 8 +#define P_JOSHI_A 9 -#define _SJ_PRIORITY - - - - -#define RENTAI 0x10 -#define GETPRI 0x0f - -#define P_FUKA 1 -#define P_TANKAN 1 -#define P_SHUUSI 2 -#define P_MEIREI 2 -#define P_KATEI 2 -#define P_KAMEI 2 - -#define P_DAIMEISI 4 -#define P_MEISI 6 -#define P_KEISIKI 4 -#define P_RENYOU_F 3 -#define P_RENYOU_J 11 -#define P_RENYOU_M 12 -#define P_JOSHI_F 3 -#define P_JOSHI_E 4 -#define P_JOSHI_D 6 -#define P_JOSHI_C 7 -#define P_JOSHI_B 8 -#define P_JOSHI_A 9 - -#define P_SETTOU 6 -#define P_SETUBI 6 -#define P_SUUSI 4 -#define P_FUKUSI 13 -#define P_F_FUKUSI 10 -#define P_RENTAISI 10 -#define P_KANDOU 6 -#define P_SETUZOKU 14 -#define P_FZKKGU 9 -#define P_JOSUUSI 10 +#define P_SETTOU 6 +#define P_SETUBI 6 +#define P_SUUSI 4 +#define P_FUKUSI 13 +#define P_F_FUKUSI 10 +#define P_RENTAISI 10 +#define P_KANDOU 6 +#define P_SETUZOKU 14 +#define P_FZKKGU 9 +#define P_JOSUUSI 10 #endif diff --git a/sj_rename.h b/sj_rename.h index fdb82d7..2a2ed0b 100644 --- a/sj_rename.h +++ b/sj_rename.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,540 +28,407 @@ */ /* - * $SonyRCSfile: sj_rename.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_rename.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:14 $ */ +#ifndef _SJ_RENAME + +#define _SJ_RENAME + +#define adddic Jadddic +#define checksub Jchecksub +#define checkdict Jcheckdict +#define cal_nextym Jcal_nextym +#define cmpknj Jcmpknj +#define usr_freelen Jusr_freelen +#define sprt_seg Jsprt_seg +#define apnd_uidx Japnd_uidx + +#define set_size Jset_size +#define isvyomi Jisvyomi +#define isvknj Jisvknj +#define isgrm Jisgrm +#define addel_arg Jaddel_arg +#define yomi2kata Jyomi2kata +#define top_strcmp Jtop_strcmp +#define last_strcmp Jlast_strcmp +#define cvtknj Jcvtknj +#define srchkana Jsrchkana +#define srchgram Jsrchgram +#define srchkanji Jsrchkanji +#define count_uidx Jcount_uidx +#define chg_uidx Jchg_uidx + +#define cl2knj Jcl2knj +#define nextcl Jnextcl +#define nextrecblk Jnextrecblk +#define prevcl Jprevcl +#define prevrecblk Jprevrecblk +#define initkbuf Jinitkbuf +#define selectnum Jselectnum +#define kouhonum Jkouhonum + +#define clstudy Jclstudy +#define delcldata Jdelcldata +#define delclsub Jdelclsub +#define delclold Jdelclold +#define srchclpos Jsrchclpos +#define mkclidx Jmkclidx + +#define cvtclknj Jcvtclknj + +#define cvtdict Jcvtdict +#define cvtminasi Jcvtminasi +#define cvtwakachi Jcvtwakachi + +#define cvtphknj Jcvtphknj +#define cvtkouho Jcvtkouho +#define setstyrec Jsetstyrec + +#define deldic Jdeldic +#define del_douon Jdel_douon +#define del_segment Jdel_segment +#define del_uidx Jdel_uidx +#define del_stdy Jdel_stdy + +#define get_askknj Jget_askknj +#define seldict Jseldict +#define sel_udict Jsel_udict +#define get_idxofs Jget_idxofs +#define get_idxptr Jget_idxptr + +#define fzkstrcmp Jfzkstrcmp +#define setclrec Jsetclrec +#define fzkcnct Jfzkcnct +#define srchfzk Jsrchfzk + +#define getkan_none Jgetkan_none +#define getkan_hira Jgetkan_hira +#define getkan_kata Jgetkan_kata +#define getkan_knj Jgetkan_knj +#define getkan_ofs Jgetkan_ofs +#define getkan_norm Jgetkan_norm +#define code2kanji Jcode2kanji +#define getkanji Jgetkanji + +#define getrank Jgetrank +#define setstynum Jsetstynum +#define setnspr Jsetnspr +#define regetrank Jregetrank + +#define work_base Jwork_base +#define stdy_base Jstdy_base + +#define maxjptr (work_base->Jmaxjptr) +#define maxclptr (work_base->Jmaxclptr) +#define jrt1st (work_base->Jjrt1st) +#define clt1st (work_base->Jclt1st) +#define jrt2nd (work_base->Jjrt2nd) +#define clt2nd (work_base->Jclt2nd) +#define selcl (work_base->Jselcl) +#define selectid (work_base->Jselectid) +#define trank (work_base->Jtrank) +#define nrank (work_base->Jnrank) +#define buninf (work_base->Jbuninf) +#define buncnt (work_base->Jbuncnt) +#define knjnew (work_base->Jknjnew) +#define knjidx (work_base->Jknjidx) +#define knjmax (work_base->Jknjmax) +#define score (work_base->Jscore) +#define pathnum (work_base->Jpathnum) +#define usedpath (work_base->Jusedpath) +#define inputyomi (work_base->Jinputyomi) +#define cnvstart (work_base->Jcnvstart) +#define cnvlen (work_base->Jcnvlen) +#define ystart (work_base->Jystart) +#define hyomi (work_base->Jhyomi) +#define orgyomi (work_base->Jorgyomi) +#define kanjibuf (work_base->Jkanjibuf) +#define kanjipos (work_base->Jkanjipos) +#define kanjitmp (work_base->Jkanjitmp) +#define kanjilen (work_base->Jkanjilen) +#define dicinl (work_base->Jdicinl) +#define dicsaml (work_base->Jdicsaml) +#define prevseg (work_base->Jprevseg) +#define fzkcount (work_base->Jfzkcount) +#define fzk_ka_flg (work_base->Jfzk_ka_flg) +#define fzktbl (work_base->Jfzktbl) +#define headcode (work_base->Jheadcode) +#define headlen (work_base->Jheadlen) +#define gobilen (work_base->Jgobilen) +#define prevclgrm (work_base->Jprevclgrm) +#define prevclrow (work_base->Jprevclrow) +#define nextcllen (work_base->Jnextcllen) +#define khcount (work_base->Jkhcount) +#define nkhcount (work_base->Jnkhcount) +#define kouhotbl (work_base->Jkouhotbl) +#define stdytop (work_base->Jstdytop) +#define curdict (work_base->Jcurdict) +#define dictlist (work_base->Jdictlist) +#define dicbuf (work_base->Jdicbuf) +#define idxbuf (work_base->Jidxbuf) +#define idxofs (work_base->Jidxofs) +#define askknj (work_base->Jaskknj) +#define askknj_k (work_base->Jaskknj_k) + +#define grp_ptr (work_base->Jgrp_ptr) +#define grp_seg (work_base->Jgrp_seg) +#define grp_grp (work_base->Jgrp_grp) +#define suuji_wbuf (work_base->Jsuuji_wbuf) +#define suuji_ubuf (work_base->Jsuuji_ubuf) +#define suuji_class (work_base->Jsuuji_class) +#define suuji_comma (work_base->Jsuuji_comma) +#define suuji_keta (work_base->Jsuuji_keta) +#define suuji_yptr (work_base->Jsuuji_yptr) +#define suuji_len (work_base->Jsuuji_len) +#define suuji_exit (work_base->Jsuuji_exit) +#define suuji_wkeep (work_base->Jsuuji_wkeep) +#define suuji_ukeep (work_base->Jsuuji_ukeep) +#define peepyomi (work_base->Jpeepyomi) +#define peepknj (work_base->Jpeepknj) +#define peepgrm (work_base->Jpeepgrm) +#define peepdptr (work_base->Jpeepdptr) +#define peephptr (work_base->Jpeephptr) +#define peepkptr (work_base->Jpeepkptr) +#define peepidx (work_base->Jpeepidx) + +#define seg_count Jseg_count +#define mkidxtbl Jmkidxtbl +#define initwork Jinitwork + +#define free_jlst Jfree_jlst +#define free_clst Jfree_clst +#define free_clall Jfree_clall +#define free_jall Jfree_jall +#define freework Jfreework +#define free_kjall Jfree_kjall + +#define set2nd Jset2nd +#define mk2claus Jmk2claus + +#define mkbunsetu Jmkbunsetu +#define argclrec Jargclrec + +#define mkjiritu Jmkjiritu +#define dic_mu Jdic_mu +#define argjrec Jargjrec +#define dic_cl Jdic_cl + +#define mkkouho Jmkkouho +#define getkhtbl Jgetkhtbl +#define cl_kanji Jcl_kanji +#define sameknj Jsameknj +#define skipatr Jskipatr +#define diffknj Jdiffknj +#define chrck_numtbl Jchrck_numtbl +#define sel_sjmode Jsel_sjmode +#define cl_numcmn Jcl_numcmn + +#define word2char Jword2char +#define words2num Jwords2num +#define num_type00 Jnum_type00 +#define num_type01 Jnum_type01 +#define num_type02 Jnum_type02 +#define num_type03 Jnum_type03 +#define num_type04 Jnum_type04 +#define num_type05 Jnum_type05 +#define num_type06 Jnum_type06 +#define num_type07 Jnum_type07 +#define kan_num Jkan_num +#define num_type08 Jnum_type08 +#define num_type09 Jnum_type09 +#define num_type10 Jnum_type10 +#define num_type11 Jnum_type11 +#define num_type12 Jnum_type12 +#define num_kurai Jnum_kurai +#define num_type13 Jnum_type13 +#define num_type14 Jnum_type14 + +#define getusr Jgetusr +#define nextusr Jnextusr +#define prevusr Jprevusr +#define set_kanji Jset_kanji +#define set_buf Jset_buf +#define prev_kanji Jprev_kanji +#define prev_hinsi Jprev_hinsi +#define prev_douon Jprev_douon +#define next_kanji Jnext_kanji +#define next_hinsi Jnext_hinsi +#define next_douon Jnext_douon +#define add_yomi Jadd_yomi +#define cd2sjh_chr Jcd2sjh_chr + +#define ph2knj Jph2knj + +#define ph_setsty Jph_setsty +#define nextkptr Jnextkptr +#define maxpset Jmaxpset +#define mkknjmax Jmkknjmax +#define ph_khtbl Jph_khtbl + +#define isfukusi Jisfukusi +#define istaigen Jistaigen +#define taicnt Jtaicnt +#define sttcnt Jsttcnt +#define priority Jpriority +#define pritiny Jpritiny + +#define selclrec Jselclrec + +#define initknjall Jinitknjall +#define knjtouroku Jknjtouroku +#define knjitti Jknjitti +#define hikakusub Jhikakusub +#define knjhikaku Jknjhikaku +#define setgroupai Jsetgroupai +#define select_dsub Jselect_dsub +#define select_tsub Jselect_tsub +#define select_ysub Jselect_ysub +#define selectknj Jselectknj +#define selknj Jselknj + +#define cnjstrcmp Jcnjstrcmp +#define cnvrow Jcnvrow +#define setconj Jsetconj + +#define setj_atrb Jsetj_atrb +#define setj_ofs Jsetj_ofs +#define setj_knj Jsetj_knj +#define setj_norm1 Jsetj_norm1 +#define setj_norm2 Jsetj_norm2 +#define chkhead Jchkhead +#define setjrec Jsetjrec +#define setnumrec Jsetnumrec +#define setcrec Jsetcrec + +#define setkouho Jsetkouho +#define ph_setkouho Jph_setkouho +#define hiraknj Jhiraknj +#define hiraknj_atrb Jhiraknj_atrb +#define hiraknj_ofs Jhiraknj_ofs +#define hiraknj_knj Jhiraknj_knj +#define hiraknj_hask Jhiraknj_hask +#define hiraknj_kask Jhiraknj_kask +#define hiraknj_norm Jhiraknj_norm +#define hiraknj_hira Jhiraknj_hira + +#define getstb Jgetstb +#define setubi Jsetubi + +#define sj2cd_chr Jsj2cd_chr +#define sj2cd_str Jsj2cd_str + +#define retaiofs Jretaiofs +#define srchai2nd Jsrchai2nd +#define srchai1st Jsrchai1st +#define srchai4th Jsrchai4th +#define srchai3rd Jsrchai3rd +#define srchai6th Jsrchai6th +#define srchai5th Jsrchai5th + +#define yomicmp_sub Jyomicmp_sub +#define yomicmp Jyomicmp +#define srchdict Jsrchdict + +#define srchg_atrb Jsrchg_atrb +#define srchg_ofs Jsrchg_ofs +#define srchg_knj Jsrchg_knj +#define srchg_norm1 Jsrchg_norm1 +#define srchg_norm2 Jsrchg_norm2 +#define srchgrp2nd Jsrchgrp2nd +#define srchgrp1st Jsrchgrp1st + +#define srchhead Jsrchhead + +#define srchidx Jsrchidx + +#define srch_josuu_sub Jsrch_josuu_sub +#define srch_josuu Jsrch_josuu +#define setnrec_sub Jsetnrec_sub +#define setnrec Jsetnrec +#define srchtbl Jsrchtbl +#define isconnect Jisconnect +#define string_cmp Jstring_cmp +#define check_num Jcheck_num +#define srch_number1 Jsrch_number1 +#define srch_kurai1 Jsrch_kurai1 +#define srch_kurai2 Jsrch_kurai2 +#define srch_number2 Jsrch_number2 +#define srchnum_sub Jsrchnum_sub +#define srchnum Jsrchnum +#define setwdnum Jsetwdnum +#define setucnum Jsetucnum +#define study Jstudy +#define srchstdy Jsrchstdy +#define terminate Jterminate -#ifndef _SJ_RENAME +#define wakachi Jwakachi -#define _SJ_RENAME +#define cmpstr Jcmpstr +#define hzstrlen Jhzstrlen +#define istrcmp Jistrcmp -#define adddic Jadddic -#define checksub Jchecksub -#define checkdict Jcheckdict -#define cal_nextym Jcal_nextym -#define cmpknj Jcmpknj -#define usr_freelen Jusr_freelen -#define sprt_seg Jsprt_seg -#define apnd_uidx Japnd_uidx +#define sstrncpy Jsstrncpy +#define mvmemd Jmvmemd +#define mvmemi Jmvmemi -#define set_size Jset_size -#define isvyomi Jisvyomi -#define isvknj Jisvknj -#define isgrm Jisgrm -#define addel_arg Jaddel_arg -#define yomi2kata Jyomi2kata -#define top_strcmp Jtop_strcmp -#define last_strcmp Jlast_strcmp -#define cvtknj Jcvtknj -#define srchkana Jsrchkana -#define srchgram Jsrchgram -#define srchkanji Jsrchkanji -#define count_uidx Jcount_uidx -#define chg_uidx Jchg_uidx +#define skiphblk Jskiphblk +#define skipkstr Jskipkstr +#define sstrcmp Jsstrcmp -#define cl2knj Jcl2knj -#define nextcl Jnextcl -#define nextrecblk Jnextrecblk -#define prevcl Jprevcl -#define prevrecblk Jprevrecblk -#define initkbuf Jinitkbuf -#define selectnum Jselectnum -#define kouhonum Jkouhonum +#define sstrlen Jsstrlen +#define sstrncmp Jsstrncmp +#define charsize Jcharsize -#define clstudy Jclstudy -#define delcldata Jdelcldata -#define delclsub Jdelclsub -#define delclold Jdelclold -#define srchclpos Jsrchclpos -#define mkclidx Jmkclidx +#define chrtbl Jchrtbl +#define conjadr Jconjadr +#define connadr Jconnadr +#define rigtadr Jrigtadr -#define cvtclknj Jcvtclknj +#define cvtnum_func Jcvtnum_func +#define getkan_func Jgetkan_func +#define setjrec_func Jsetjrec_func +#define srchg_func Jsrchg_func +#define hiraknj_func Jhiraknj_func +#define fzkadr Jfzkadr +#define taipri Jtaipri +#define sttpri Jsttpri -#define cvtdict Jcvtdict -#define cvtminasi Jcvtminasi -#define cvtwakachi Jcvtwakachi +#define kigou Jkigou +#define selsjadrs Jselsjadrs +#define stbadr Jstbadr -#define cvtphknj Jcvtphknj -#define cvtkouho Jcvtkouho -#define setstyrec Jsetstyrec +#define settou_ptr Jsettou_ptr +#define scncttbl Jscncttbl +#define suuji_tbl Jsuuji_tbl +#define kurai1_tbl Jkurai1_tbl +#define kurai2_tbl Jkurai2_tbl +#define num1tbl Jnum1tbl +#define num2tbl Jnum2tbl +#define num3tbl Jnum3tbl +#define num4tbl Jnum4tbl +#define num5tbl Jnum5tbl +#define num6tbl Jnum6tbl - -#define deldic Jdeldic -#define del_douon Jdel_douon -#define del_segment Jdel_segment -#define del_uidx Jdel_uidx -#define del_stdy Jdel_stdy - - - -#define get_askknj Jget_askknj -#define seldict Jseldict -#define sel_udict Jsel_udict -#define get_idxofs Jget_idxofs -#define get_idxptr Jget_idxptr - - - -#define fzkstrcmp Jfzkstrcmp -#define setclrec Jsetclrec -#define fzkcnct Jfzkcnct -#define srchfzk Jsrchfzk - - - -#define getkan_none Jgetkan_none -#define getkan_hira Jgetkan_hira -#define getkan_kata Jgetkan_kata -#define getkan_knj Jgetkan_knj -#define getkan_ofs Jgetkan_ofs -#define getkan_norm Jgetkan_norm -#define code2kanji Jcode2kanji -#define getkanji Jgetkanji - - - -#define getrank Jgetrank -#define setstynum Jsetstynum -#define setnspr Jsetnspr -#define regetrank Jregetrank - - - -#define work_base Jwork_base -#define stdy_base Jstdy_base - - -#define maxjptr (work_base -> Jmaxjptr) -#define maxclptr (work_base -> Jmaxclptr) -#define jrt1st (work_base -> Jjrt1st) -#define clt1st (work_base -> Jclt1st) -#define jrt2nd (work_base -> Jjrt2nd) -#define clt2nd (work_base -> Jclt2nd) -#define selcl (work_base -> Jselcl) -#define selectid (work_base -> Jselectid) -#define trank (work_base -> Jtrank) -#define nrank (work_base -> Jnrank) -#define buninf (work_base -> Jbuninf) -#define buncnt (work_base -> Jbuncnt) -#define knjnew (work_base -> Jknjnew) -#define knjidx (work_base -> Jknjidx) -#define knjmax (work_base -> Jknjmax) -#define score (work_base -> Jscore) -#define pathnum (work_base -> Jpathnum) -#define usedpath (work_base -> Jusedpath) -#define inputyomi (work_base -> Jinputyomi) -#define cnvstart (work_base -> Jcnvstart) -#define cnvlen (work_base -> Jcnvlen) -#define ystart (work_base -> Jystart) -#define hyomi (work_base -> Jhyomi) -#define orgyomi (work_base -> Jorgyomi) -#define kanjibuf (work_base -> Jkanjibuf) -#define kanjipos (work_base -> Jkanjipos) -#define kanjitmp (work_base -> Jkanjitmp) -#define kanjilen (work_base -> Jkanjilen) -#define dicinl (work_base -> Jdicinl) -#define dicsaml (work_base -> Jdicsaml) -#define prevseg (work_base -> Jprevseg) -#define fzkcount (work_base -> Jfzkcount) -#define fzk_ka_flg (work_base -> Jfzk_ka_flg) -#define fzktbl (work_base -> Jfzktbl) -#define headcode (work_base -> Jheadcode) -#define headlen (work_base -> Jheadlen) -#define gobilen (work_base -> Jgobilen) -#define prevclgrm (work_base -> Jprevclgrm) -#define prevclrow (work_base -> Jprevclrow) -#define nextcllen (work_base -> Jnextcllen) -#define khcount (work_base -> Jkhcount) -#define nkhcount (work_base -> Jnkhcount) -#define kouhotbl (work_base -> Jkouhotbl) -#define stdytop (work_base -> Jstdytop) -#define curdict (work_base -> Jcurdict) -#define dictlist (work_base -> Jdictlist) -#define dicbuf (work_base -> Jdicbuf) -#define idxbuf (work_base -> Jidxbuf) -#define idxofs (work_base -> Jidxofs) -#define askknj (work_base -> Jaskknj) -#define askknj_k (work_base -> Jaskknj_k) - -#define grp_ptr (work_base -> Jgrp_ptr) -#define grp_seg (work_base -> Jgrp_seg) -#define grp_grp (work_base -> Jgrp_grp) -#define suuji_wbuf (work_base -> Jsuuji_wbuf) -#define suuji_ubuf (work_base -> Jsuuji_ubuf) -#define suuji_class (work_base -> Jsuuji_class) -#define suuji_comma (work_base -> Jsuuji_comma) -#define suuji_keta (work_base -> Jsuuji_keta) -#define suuji_yptr (work_base -> Jsuuji_yptr) -#define suuji_len (work_base -> Jsuuji_len) -#define suuji_exit (work_base -> Jsuuji_exit) -#define suuji_wkeep (work_base -> Jsuuji_wkeep) -#define suuji_ukeep (work_base -> Jsuuji_ukeep) -#define peepyomi (work_base -> Jpeepyomi) -#define peepknj (work_base -> Jpeepknj) -#define peepgrm (work_base -> Jpeepgrm) -#define peepdptr (work_base -> Jpeepdptr) -#define peephptr (work_base -> Jpeephptr) -#define peepkptr (work_base -> Jpeepkptr) -#define peepidx (work_base -> Jpeepidx) - - - -#define seg_count Jseg_count -#define mkidxtbl Jmkidxtbl -#define initwork Jinitwork - - - -#define free_jlst Jfree_jlst -#define free_clst Jfree_clst -#define free_clall Jfree_clall -#define free_jall Jfree_jall -#define freework Jfreework -#define free_kjall Jfree_kjall - - - -#define set2nd Jset2nd -#define mk2claus Jmk2claus - - - -#define mkbunsetu Jmkbunsetu -#define argclrec Jargclrec - - - -#define mkjiritu Jmkjiritu -#define dic_mu Jdic_mu -#define argjrec Jargjrec -#define dic_cl Jdic_cl - - - -#define mkkouho Jmkkouho -#define getkhtbl Jgetkhtbl -#define cl_kanji Jcl_kanji -#define sameknj Jsameknj -#define skipatr Jskipatr -#define diffknj Jdiffknj -#define chrck_numtbl Jchrck_numtbl -#define sel_sjmode Jsel_sjmode -#define cl_numcmn Jcl_numcmn - - - -#define word2char Jword2char -#define words2num Jwords2num -#define num_type00 Jnum_type00 -#define num_type01 Jnum_type01 -#define num_type02 Jnum_type02 -#define num_type03 Jnum_type03 -#define num_type04 Jnum_type04 -#define num_type05 Jnum_type05 -#define num_type06 Jnum_type06 -#define num_type07 Jnum_type07 -#define kan_num Jkan_num -#define num_type08 Jnum_type08 -#define num_type09 Jnum_type09 -#define num_type10 Jnum_type10 -#define num_type11 Jnum_type11 -#define num_type12 Jnum_type12 -#define num_kurai Jnum_kurai -#define num_type13 Jnum_type13 -#define num_type14 Jnum_type14 - - - -#define getusr Jgetusr -#define nextusr Jnextusr -#define prevusr Jprevusr -#define set_kanji Jset_kanji -#define set_buf Jset_buf -#define prev_kanji Jprev_kanji -#define prev_hinsi Jprev_hinsi -#define prev_douon Jprev_douon -#define next_kanji Jnext_kanji -#define next_hinsi Jnext_hinsi -#define next_douon Jnext_douon -#define add_yomi Jadd_yomi -#define cd2sjh_chr Jcd2sjh_chr - - - -#define ph2knj Jph2knj - - - -#define ph_setsty Jph_setsty -#define nextkptr Jnextkptr -#define maxpset Jmaxpset -#define mkknjmax Jmkknjmax -#define ph_khtbl Jph_khtbl - - - -#define isfukusi Jisfukusi -#define istaigen Jistaigen -#define taicnt Jtaicnt -#define sttcnt Jsttcnt -#define priority Jpriority -#define pritiny Jpritiny - - - -#define selclrec Jselclrec - - - -#define initknjall Jinitknjall -#define knjtouroku Jknjtouroku -#define knjitti Jknjitti -#define hikakusub Jhikakusub -#define knjhikaku Jknjhikaku -#define setgroupai Jsetgroupai -#define select_dsub Jselect_dsub -#define select_tsub Jselect_tsub -#define select_ysub Jselect_ysub -#define selectknj Jselectknj -#define selknj Jselknj - - - -#define cnjstrcmp Jcnjstrcmp -#define cnvrow Jcnvrow -#define setconj Jsetconj - - - -#define setj_atrb Jsetj_atrb -#define setj_ofs Jsetj_ofs -#define setj_knj Jsetj_knj -#define setj_norm1 Jsetj_norm1 -#define setj_norm2 Jsetj_norm2 -#define chkhead Jchkhead -#define setjrec Jsetjrec -#define setnumrec Jsetnumrec -#define setcrec Jsetcrec - - - -#define setkouho Jsetkouho -#define ph_setkouho Jph_setkouho -#define hiraknj Jhiraknj -#define hiraknj_atrb Jhiraknj_atrb -#define hiraknj_ofs Jhiraknj_ofs -#define hiraknj_knj Jhiraknj_knj -#define hiraknj_hask Jhiraknj_hask -#define hiraknj_kask Jhiraknj_kask -#define hiraknj_norm Jhiraknj_norm -#define hiraknj_hira Jhiraknj_hira - - - -#define getstb Jgetstb -#define setubi Jsetubi - - - -#define sj2cd_chr Jsj2cd_chr -#define sj2cd_str Jsj2cd_str - - - -#define retaiofs Jretaiofs -#define srchai2nd Jsrchai2nd -#define srchai1st Jsrchai1st -#define srchai4th Jsrchai4th -#define srchai3rd Jsrchai3rd -#define srchai6th Jsrchai6th -#define srchai5th Jsrchai5th - - - -#define yomicmp_sub Jyomicmp_sub -#define yomicmp Jyomicmp -#define srchdict Jsrchdict - - - -#define srchg_atrb Jsrchg_atrb -#define srchg_ofs Jsrchg_ofs -#define srchg_knj Jsrchg_knj -#define srchg_norm1 Jsrchg_norm1 -#define srchg_norm2 Jsrchg_norm2 -#define srchgrp2nd Jsrchgrp2nd -#define srchgrp1st Jsrchgrp1st - - - -#define srchhead Jsrchhead - - - -#define srchidx Jsrchidx - - - -#define srch_josuu_sub Jsrch_josuu_sub -#define srch_josuu Jsrch_josuu -#define setnrec_sub Jsetnrec_sub -#define setnrec Jsetnrec -#define srchtbl Jsrchtbl -#define isconnect Jisconnect -#define string_cmp Jstring_cmp -#define check_num Jcheck_num -#define srch_number1 Jsrch_number1 -#define srch_kurai1 Jsrch_kurai1 -#define srch_kurai2 Jsrch_kurai2 -#define srch_number2 Jsrch_number2 -#define srchnum_sub Jsrchnum_sub -#define srchnum Jsrchnum -#define setwdnum Jsetwdnum -#define setucnum Jsetucnum - - - -#define study Jstudy -#define srchstdy Jsrchstdy - - - -#define terminate Jterminate - - - -#define wakachi Jwakachi - - - - -#define cmpstr Jcmpstr - - - -#define hzstrlen Jhzstrlen - - - -#define istrcmp Jistrcmp - - - -#define sstrncpy Jsstrncpy - - -#define mvmemd Jmvmemd - - - -#define mvmemi Jmvmemi - - - -#define skiphblk Jskiphblk - - - -#define skipkstr Jskipkstr - - - -#define sstrcmp Jsstrcmp - - - -#define sstrlen Jsstrlen - - - -#define sstrncmp Jsstrncmp - - - - -#define charsize Jcharsize - - - -#define chrtbl Jchrtbl - - - -#define conjadr Jconjadr - - - -#define connadr Jconnadr -#define rigtadr Jrigtadr - - - -#define cvtnum_func Jcvtnum_func -#define getkan_func Jgetkan_func -#define setjrec_func Jsetjrec_func -#define srchg_func Jsrchg_func -#define hiraknj_func Jhiraknj_func - - - -#define fzkadr Jfzkadr - - - -#define taipri Jtaipri -#define sttpri Jsttpri - - - -#define kigou Jkigou - - - -#define selsjadrs Jselsjadrs - - - -#define stbadr Jstbadr - - - -#define settou_ptr Jsettou_ptr -#define scncttbl Jscncttbl - - - -#define suuji_tbl Jsuuji_tbl -#define kurai1_tbl Jkurai1_tbl -#define kurai2_tbl Jkurai2_tbl -#define num1tbl Jnum1tbl -#define num2tbl Jnum2tbl -#define num3tbl Jnum3tbl -#define num4tbl Jnum4tbl -#define num5tbl Jnum5tbl -#define num6tbl Jnum6tbl - - - -#define termtbl Jtermtbl +#define termtbl Jtermtbl #endif diff --git a/sj_right.h b/sj_right.h index e67af14..6edb534 100644 --- a/sj_right.h +++ b/sj_right.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,346 +28,296 @@ */ /* - * $SonyRCSfile: sj_right.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_right.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:15 $ */ - - - - -#ifndef _SJ_RIGHT - -#define _SJ_RIGHT - -#define R_DE 1 -#define R_WO 2 -#define R_KARA1 3 -#define R_GA1 4 -#define R_TO1 5 -#define R_NI1 6 -#define R_NO1 7 -#define R_HA 8 -#define R_HE 9 -#define R_MO1 10 -#define R_YA1 11 -#define R_YORI1 12 -#define R_SAE 13 -#define R_SIKA 14 -#define R_DAKE 15 - -#define R_I 16 -#define R_E 17 -#define R_KAKE 18 -#define R_KANE2 19 -#define R_SUGI 20 -#define R_DEKI 21 -#define R_MI 22 -#define R_SASE 23 -#define R_RARE 24 - - - - -#define R_ITADAKE 25 - - - - -#define R_EXP 26 - - - - -#define R_RENYOU1 27 -#define R_RENYOU5 28 -#define R_SA5RENYOU1 29 - -#define R_RENYOU3 30 -#define R_RENYOU7 31 -#define R_SA5RENYOU3 32 -#define R_RENYOU4 33 -#define R_RENYOU8 34 -#define R_SA5RENYOU4 35 - -#define R_KRENYOU 39 -#define R_DRENYOU1 40 -#define R_DRENYOU2 41 -#define R_DRENYOU3 42 -#define R_ONBIN1 43 -#define R_ONBIN2 44 -#define R_ONBIN3 45 - -#define R_DESHI 46 -#define R_AXTU 47 -#define R_ONBIN6 48 -#define R_ONBIN8 49 -#define R_ARI1 50 -#define R_ARI2 51 -#define R_ARI3 52 -#define R_IKI 53 -#define R_ITASI 54 -#define R_ITADAKI 55 -#define R_ORI2 56 -#define R_GATAKU 57 -#define R_KI 58 -#define R_KUDASAI 59 -#define R_GOZAI 60 -#define R_GOTOKU 61 -#define R_BEKU 62 -#define R_SOUDE 63 -#define R_SOUNI 64 -#define R_TAGARI 65 -#define R_TAKU 66 -#define R_MIZEN1 67 -#define R_NAIDE 68 -#define R_NAKU 69 -#define R_NASAI 70 -#define R_FUUNI 71 -#define R_YORI2 72 -#define R_RASHUU 73 - - - - -#define R_DSHUUSI1 74 -#define R_DSHUUSI2 75 -#define R_GOTOSI 76 -#define R_BESI 77 -#define R_ZU 78 -#define R_SOUDA 79 -#define R_MAI 80 -#define R_MITAIDA 81 - - - - -#define R_SHUUSI 82 -#define R_KSHUUSI 83 -#define R_ZARU 84 -#define R_SOUDESU 85 -#define R_TA 86 -#define R_TAI 87 -#define R_DESU 88 -#define R_NAI 89 -#define R_NU 90 -#define R_MASU 91 -#define R_NN2 92 -#define R_RASII 93 - - - - -#define R_DRENTAI1 94 -#define R_DRENTAI2 95 -#define R_DRENTAI3 96 -#define R_KRENTAI 97 -#define R_GOTOKI 98 -#define R_BEKI 99 -#define R_SOUNA1 100 -#define R_SOUNA2 101 -#define R_NA2 102 - - - - -#define R_KATEI1 103 -#define R_KATEI2 104 -#define R_KATEI3 105 - - - - - -#define R_KAMEI 106 - - - - -#define R_IKE 107 - - - - -#define R_KURE 108 - - - - -#define R_MEIREI1 109 -#define R_MEIREI2 110 - - - - -#define R_DGOKAN 111 -#define R_KGOKAN 112 -#define R_SGOKAN 113 -#define R_GATI 114 -#define R_JYA 115 -#define R_SOU 116 -#define R_MITAI 117 -#define R_YOTTE 118 -#define R_YOU2 119 -#define R_SHO 120 - - - - -#define R_FZKMEISI 121 - - - - -#define R_AISATU 122 -#define R_KOSODO 123 - -#define R_YOU1 124 -#define R_HASI 125 - -#define R_DAIMEISI 126 -#define R_DAIMEISI6 127 - -#define R_FZKKI 128 -#define R_DEHA 129 -#define R_NAGARA2 130 -#define R_WO_S 131 -#define R_WO_MEISI 132 -#define R_SITE 133 -#define R_N_SI 134 -#define R_F_FUKUSI 135 -#define R_CUT 137 - - -#define R_MIZEN2 140 -#define R_MIZEN3 141 -#define R_MIZEN4 142 -#define R_SI1 143 -#define R_JI 144 -#define R_AGE 145 -#define R_MIZEN5 146 -#define R_AROU 147 -#define R_KAROU 148 -#define R_DAROU 149 -#define R_DESHOU 150 -#define R_KO 151 -#define R_BEKARA 152 -#define R_TAGARA 153 - -#define R_SHUUJO 154 -#define R_TTATTE 155 -#define R_TTARA 156 -#define R_TTE1 157 -#define R_TTE2 158 -#define R_PPANASI 159 - -#define R_PPOI 160 -#define R_UE 161 -#define R_UTI 162 -#define R_OITE 163 -#define R_OKERU 164 -#define R_ORI1 165 -#define R_KA1 166 -#define R_KA2 167 -#define R_KATAGATA 168 -#define R_KADOUKA 169 - -#define R_KAMO 170 -#define R_KARA2 171 -#define R_GA2 172 -#define R_GATERA 173 -#define R_KIRI 174 -#define R_KUSENI 175 -#define R_KURAI 176 -#define R_GURUMI 177 -#define R_KEDO 178 -#define R_KOSO 179 - -#define R_KOTO 180 -#define R_SI2 181 -#define R_SURA 182 -#define R_ZUTU 183 -#define R_TAME 184 -#define R_TARI 185 -#define R_DANO 186 -#define R_DARAKE 187 -#define R_TUITE 188 -#define R_TUKI 189 - -#define R_TUTU 190 -#define R_TUMORI 191 -#define R_TE1 192 -#define R_TE2 193 -#define R_TERU 194 -#define R_TO2 195 -#define R_TOTTE 196 -#define R_TOIU 197 -#define R_TOORI 198 -#define R_TOKI 199 - -#define R_TOKORO 200 -#define R_TOTE 201 -#define R_TOHAIE 202 -#define R_TOMO 203 -#define R_DO 204 -#define R_DOORI 205 -#define R_DOKORO 206 -#define R_DOKOROKA 207 -#define R_DOMO 208 -#define R_NAGARA 209 - -#define R_NAZO 210 -#define R_NADO 211 -#define R_NARI 212 -#define R_NANKA 213 -#define R_NANZO 214 -#define R_NANTE 215 -#define R_NI2 216 -#define R_NI3 217 -#define R_NITE 218 -#define R_NIMO 219 - -#define R_NO2 220 -#define R_NODE 221 -#define R_NONI 222 -#define R_NOMI 223 -#define R_NOMINRZ 224 -#define R_HAZU 225 -#define R_BA 226 -#define R_BAKARI 227 -#define R_HOU 228 -#define R_HOKA 229 - -#define R_HODO 230 -#define R_MADE 231 -#define R_MAMA 232 -#define R_MO2 233 -#define R_MOTTE 234 -#define R_MONO 235 -#define R_YA2 236 -#define R_YARA 237 -#define R_YUE 238 -#define R_WAKE 239 - -#define R_NN1 240 - - - -#define R_SUUSI 241 -#define R_SETUZOKU 242 -#define R_KANDOU 243 -#define R_SETTOU 244 -#define R_FUKUSI 245 -#define R_FZKKGU 246 -#define R_MEISI 247 -#define R_DMEISI 248 -#define R_SMEISI1 249 -#define R_SMEISI2 250 -#define R_KSTB 251 -#define R_ICHISETUBI 252 -#define R_JOSUUSI 253 -#define R_RENTAISI 254 -#define R_TANKAN 255 +#ifndef _SJ_RIGHT + +#define _SJ_RIGHT + +#define R_DE 1 +#define R_WO 2 +#define R_KARA1 3 +#define R_GA1 4 +#define R_TO1 5 +#define R_NI1 6 +#define R_NO1 7 +#define R_HA 8 +#define R_HE 9 +#define R_MO1 10 +#define R_YA1 11 +#define R_YORI1 12 +#define R_SAE 13 +#define R_SIKA 14 +#define R_DAKE 15 + +#define R_I 16 +#define R_E 17 +#define R_KAKE 18 +#define R_KANE2 19 +#define R_SUGI 20 +#define R_DEKI 21 +#define R_MI 22 +#define R_SASE 23 +#define R_RARE 24 + +#define R_ITADAKE 25 + +#define R_EXP 26 + +#define R_RENYOU1 27 +#define R_RENYOU5 28 +#define R_SA5RENYOU1 29 + +#define R_RENYOU3 30 +#define R_RENYOU7 31 +#define R_SA5RENYOU3 32 +#define R_RENYOU4 33 +#define R_RENYOU8 34 +#define R_SA5RENYOU4 35 + +#define R_KRENYOU 39 +#define R_DRENYOU1 40 +#define R_DRENYOU2 41 +#define R_DRENYOU3 42 +#define R_ONBIN1 43 +#define R_ONBIN2 44 +#define R_ONBIN3 45 + +#define R_DESHI 46 +#define R_AXTU 47 +#define R_ONBIN6 48 +#define R_ONBIN8 49 +#define R_ARI1 50 +#define R_ARI2 51 +#define R_ARI3 52 +#define R_IKI 53 +#define R_ITASI 54 +#define R_ITADAKI 55 +#define R_ORI2 56 +#define R_GATAKU 57 +#define R_KI 58 +#define R_KUDASAI 59 +#define R_GOZAI 60 +#define R_GOTOKU 61 +#define R_BEKU 62 +#define R_SOUDE 63 +#define R_SOUNI 64 +#define R_TAGARI 65 +#define R_TAKU 66 +#define R_MIZEN1 67 +#define R_NAIDE 68 +#define R_NAKU 69 +#define R_NASAI 70 +#define R_FUUNI 71 +#define R_YORI2 72 +#define R_RASHUU 73 + +#define R_DSHUUSI1 74 +#define R_DSHUUSI2 75 +#define R_GOTOSI 76 +#define R_BESI 77 +#define R_ZU 78 +#define R_SOUDA 79 +#define R_MAI 80 +#define R_MITAIDA 81 + +#define R_SHUUSI 82 +#define R_KSHUUSI 83 +#define R_ZARU 84 +#define R_SOUDESU 85 +#define R_TA 86 +#define R_TAI 87 +#define R_DESU 88 +#define R_NAI 89 +#define R_NU 90 +#define R_MASU 91 +#define R_NN2 92 +#define R_RASII 93 + +#define R_DRENTAI1 94 +#define R_DRENTAI2 95 +#define R_DRENTAI3 96 +#define R_KRENTAI 97 +#define R_GOTOKI 98 +#define R_BEKI 99 +#define R_SOUNA1 100 +#define R_SOUNA2 101 +#define R_NA2 102 + +#define R_KATEI1 103 +#define R_KATEI2 104 +#define R_KATEI3 105 + +#define R_KAMEI 106 + +#define R_IKE 107 + +#define R_KURE 108 + +#define R_MEIREI1 109 +#define R_MEIREI2 110 + +#define R_DGOKAN 111 +#define R_KGOKAN 112 +#define R_SGOKAN 113 +#define R_GATI 114 +#define R_JYA 115 +#define R_SOU 116 +#define R_MITAI 117 +#define R_YOTTE 118 +#define R_YOU2 119 +#define R_SHO 120 + +#define R_FZKMEISI 121 + +#define R_AISATU 122 +#define R_KOSODO 123 + +#define R_YOU1 124 +#define R_HASI 125 + +#define R_DAIMEISI 126 +#define R_DAIMEISI6 127 + +#define R_FZKKI 128 +#define R_DEHA 129 +#define R_NAGARA2 130 +#define R_WO_S 131 +#define R_WO_MEISI 132 +#define R_SITE 133 +#define R_N_SI 134 +#define R_F_FUKUSI 135 +#define R_CUT 137 + +#define R_MIZEN2 140 +#define R_MIZEN3 141 +#define R_MIZEN4 142 +#define R_SI1 143 +#define R_JI 144 +#define R_AGE 145 +#define R_MIZEN5 146 +#define R_AROU 147 +#define R_KAROU 148 +#define R_DAROU 149 +#define R_DESHOU 150 +#define R_KO 151 +#define R_BEKARA 152 +#define R_TAGARA 153 + +#define R_SHUUJO 154 +#define R_TTATTE 155 +#define R_TTARA 156 +#define R_TTE1 157 +#define R_TTE2 158 +#define R_PPANASI 159 + +#define R_PPOI 160 +#define R_UE 161 +#define R_UTI 162 +#define R_OITE 163 +#define R_OKERU 164 +#define R_ORI1 165 +#define R_KA1 166 +#define R_KA2 167 +#define R_KATAGATA 168 +#define R_KADOUKA 169 + +#define R_KAMO 170 +#define R_KARA2 171 +#define R_GA2 172 +#define R_GATERA 173 +#define R_KIRI 174 +#define R_KUSENI 175 +#define R_KURAI 176 +#define R_GURUMI 177 +#define R_KEDO 178 +#define R_KOSO 179 + +#define R_KOTO 180 +#define R_SI2 181 +#define R_SURA 182 +#define R_ZUTU 183 +#define R_TAME 184 +#define R_TARI 185 +#define R_DANO 186 +#define R_DARAKE 187 +#define R_TUITE 188 +#define R_TUKI 189 + +#define R_TUTU 190 +#define R_TUMORI 191 +#define R_TE1 192 +#define R_TE2 193 +#define R_TERU 194 +#define R_TO2 195 +#define R_TOTTE 196 +#define R_TOIU 197 +#define R_TOORI 198 +#define R_TOKI 199 + +#define R_TOKORO 200 +#define R_TOTE 201 +#define R_TOHAIE 202 +#define R_TOMO 203 +#define R_DO 204 +#define R_DOORI 205 +#define R_DOKORO 206 +#define R_DOKOROKA 207 +#define R_DOMO 208 +#define R_NAGARA 209 + +#define R_NAZO 210 +#define R_NADO 211 +#define R_NARI 212 +#define R_NANKA 213 +#define R_NANZO 214 +#define R_NANTE 215 +#define R_NI2 216 +#define R_NI3 217 +#define R_NITE 218 +#define R_NIMO 219 + +#define R_NO2 220 +#define R_NODE 221 +#define R_NONI 222 +#define R_NOMI 223 +#define R_NOMINRZ 224 +#define R_HAZU 225 +#define R_BA 226 +#define R_BAKARI 227 +#define R_HOU 228 +#define R_HOKA 229 + +#define R_HODO 230 +#define R_MADE 231 +#define R_MAMA 232 +#define R_MO2 233 +#define R_MOTTE 234 +#define R_MONO 235 +#define R_YA2 236 +#define R_YARA 237 +#define R_YUE 238 +#define R_WAKE 239 + +#define R_NN1 240 + +#define R_SUUSI 241 +#define R_SETUZOKU 242 +#define R_KANDOU 243 +#define R_SETTOU 244 +#define R_FUKUSI 245 +#define R_FZKKGU 246 +#define R_MEISI 247 +#define R_DMEISI 248 +#define R_SMEISI1 249 +#define R_SMEISI2 250 +#define R_KSTB 251 +#define R_ICHISETUBI 252 +#define R_JOSUUSI 253 +#define R_RENTAISI 254 +#define R_TANKAN 255 #endif diff --git a/sj_stdint.h b/sj_stdint.h index 22a2e87..746875d 100644 --- a/sj_stdint.h +++ b/sj_stdint.h @@ -19,45 +19,45 @@ #include #if !defined(UINT8_MAX) -# if UCHAR_MAX == 255 -typedef signed char int8_t; +#if UCHAR_MAX == 255 +typedef signed char int8_t; typedef unsigned char uint8_t; -# define UINT8_MAX UCHAR_MAX -# else -# error "SJ3 requires an 8-bit unsigned char" -# endif +#define UINT8_MAX UCHAR_MAX +#else +#error "SJ3 requires an 8-bit unsigned char" +#endif #endif #if !defined(UINT16_MAX) -# if USHRT_MAX == 65535 -typedef short int16_t; +#if USHRT_MAX == 65535 +typedef short int16_t; typedef unsigned short uint16_t; -# define UINT16_MAX USHRT_MAX -# else -# error "SJ3 requires a 16-bit unsigned short" -# endif +#define UINT16_MAX USHRT_MAX +#else +#error "SJ3 requires a 16-bit unsigned short" +#endif #endif #if !defined(UINT32_MAX) -# if UINT_MAX == 4294967295U -typedef int int32_t; +#if UINT_MAX == 4294967295U +typedef int int32_t; typedef unsigned int uint32_t; -# define UINT32_MAX UINT_MAX -# elif ULONG_MAX == 4294967295UL -typedef long int32_t; +#define UINT32_MAX UINT_MAX +#elif ULONG_MAX == 4294967295UL +typedef long int32_t; typedef unsigned long uint32_t; -# define UINT32_MAX ULONG_MAX -# else -# error "SJ3 requires a 32-bit integer type" -# endif +#define UINT32_MAX ULONG_MAX +#else +#error "SJ3 requires a 32-bit integer type" +#endif #endif #if !defined(UINT64_MAX) && (ULONG_MAX > 4294967295UL) -typedef long int64_t; +typedef long int64_t; typedef unsigned long uint64_t; -# define UINT64_MAX ULONG_MAX +#define UINT64_MAX ULONG_MAX #elif !defined(UINT64_MAX) && (defined(_MSC_VER) || defined(_WIN32)) -typedef __int64 int64_t; +typedef __int64 int64_t; typedef unsigned __int64 uint64_t; #endif diff --git a/sj_struct.h b/sj_struct.h index 8815441..f500afb 100644 --- a/sj_struct.h +++ b/sj_struct.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,174 +28,149 @@ */ /* - * $SonyRCSfile: sj_struct.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_struct.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:16 $ * * $Id$ */ - -#ifndef _SJ_STRUCT -#define _SJ_STRUCT 1 +#ifndef _SJ_STRUCT +#define _SJ_STRUCT 1 #include #include "sj_typedef.h" -typedef struct jiritu { - struct jiritu *jsort; - TypeDicSeg jseg; - TypeDicOfs jofsst; - TypeDicOfs jofsed; - unsigned short flags; - TypeClass class; - TypeDicID dicid; - unsigned char jlen; - TypeGram hinsi; - unsigned char sttofs; - unsigned char stbofs; - unsigned char count; - unsigned char numlen; +typedef struct jiritu { + struct jiritu* jsort; + TypeDicSeg jseg; + TypeDicOfs jofsst; + TypeDicOfs jofsed; + unsigned short flags; + TypeClass class; + TypeDicID dicid; + unsigned char jlen; + TypeGram hinsi; + unsigned char sttofs; + unsigned char stbofs; + unsigned char count; + unsigned char numlen; } JREC; - - - typedef struct bunsetu { - JREC *jnode; - struct bunsetu *clsort; + JREC* jnode; + struct bunsetu* clsort; unsigned char gobiln; unsigned char cllen; - TypeCnct right; - unsigned char cl2len; - unsigned char kubun; + TypeCnct right; + unsigned char cl2len; + unsigned char kubun; #if __STDC__ - unsigned int fzk_ka : 1; + unsigned int fzk_ka : 1; #else - unsigned char fzk_ka : 1; + unsigned char fzk_ka : 1; #endif } CLREC; - - - -typedef struct kouho { - CLREC *clrec; - TypeDicOfs offs; - TypeStyNum styno; - unsigned char rank; +typedef struct kouho { + CLREC* clrec; + TypeDicOfs offs; + TypeStyNum styno; + unsigned char rank; #if __STDC__ - unsigned int sttfg : 1; - unsigned int sttkj : 1; - unsigned int ka_fg : 1; - unsigned int ka_kj : 1; - unsigned int mode : 4; + unsigned int sttfg : 1; + unsigned int sttkj : 1; + unsigned int ka_fg : 1; + unsigned int ka_kj : 1; + unsigned int mode : 4; #else - unsigned char sttfg : 1; - unsigned char sttkj : 1; - unsigned char ka_fg : 1; - unsigned char ka_kj : 1; - unsigned char mode : 4; + unsigned char sttfg : 1; + unsigned char sttkj : 1; + unsigned char ka_fg : 1; + unsigned char ka_kj : 1; + unsigned char mode : 4; #endif } KHREC; - - - -typedef struct conj { - unsigned char len; - TypeCnct right; +typedef struct conj { + unsigned char len; + TypeCnct right; } CREC; - - - -typedef struct fuzoku { - unsigned char *yomip; - unsigned char *fzkp; +typedef struct fuzoku { + unsigned char* yomip; + unsigned char* fzkp; } FREC; - - typedef struct study_in { - TypeDicOfs offset; - TypeDicSeg seg; - TypeStyNum styno; - TypeDicID dicid; + TypeDicOfs offset; + TypeDicSeg seg; + TypeStyNum styno; + TypeDicID dicid; #if __STDC__ - unsigned int sttkj : 1; - unsigned int ka_kj : 1; - unsigned int nmflg : 1; + unsigned int sttkj : 1; + unsigned int ka_kj : 1; + unsigned int nmflg : 1; #else - unsigned char sttkj : 1; - unsigned char ka_kj : 1; - unsigned char nmflg : 1; + unsigned char sttkj : 1; + unsigned char ka_kj : 1; + unsigned char nmflg : 1; #endif } STDYIN; - - - typedef struct study_out { - STDYIN stdy1; - TypeGram hinshi; - unsigned char len; + STDYIN stdy1; + TypeGram hinshi; + unsigned char len; #if __STDC__ - unsigned int sttlen : 2; - unsigned int sttfg : 1; - unsigned int ka_fg : 1; + unsigned int sttlen : 2; + unsigned int sttfg : 1; + unsigned int ka_fg : 1; #else - unsigned char sttlen : 2; - unsigned char sttfg : 1; - unsigned char ka_fg : 1; + unsigned char sttlen : 2; + unsigned char sttfg : 1; + unsigned char ka_fg : 1; #endif } STDYOUT; - struct dictfile; /* defined later in Struct.h refering DICT */ -typedef int (*IFuncDF)(struct dictfile*); -typedef int (*IFuncDFTD)(struct dictfile*, TypeDicSeg); +typedef int (*IFuncDF)(struct dictfile*); +typedef int (*IFuncDFTD)(struct dictfile*, TypeDicSeg); -typedef struct dict { - TypeDicID dicid; +typedef struct dict { + TypeDicID dicid; - TypeIdxOfs idxlen; + TypeIdxOfs idxlen; - TypeDicOfs seglen; - TypeDicSeg segunit; - TypeDicSeg maxunit; + TypeDicOfs seglen; + TypeDicSeg segunit; + TypeDicSeg maxunit; - IFuncDF getofs; - IFuncDF getidx; - IFuncDFTD getdic; - IFuncDFTD putidx; - IFuncDFTD putdic; - IFuncDFTD rszdic; + IFuncDF getofs; + IFuncDF getidx; + IFuncDFTD getdic; + IFuncDFTD putidx; + IFuncDFTD putdic; + IFuncDFTD rszdic; } DICT; - - - -typedef struct dictl { - DICT *dict; - struct dictl *next; +typedef struct dictl { + DICT* dict; + struct dictl* next; } DICTL; +typedef struct stdy { + short stdycnt; + short stdymax; + STDYIN* stdydic; + short clstdystep; + unsigned short* clstdyidx; - -typedef struct stdy { - short stdycnt; - short stdymax; - STDYIN *stdydic; - - short clstdystep; - unsigned short *clstdyidx; - - short clstdylen; - unsigned char *clstdydic; + short clstdylen; + unsigned char* clstdydic; } STDY; #endif diff --git a/sj_struct2.h b/sj_struct2.h index ed4775c..ec97cb4 100644 --- a/sj_struct2.h +++ b/sj_struct2.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,75 +28,60 @@ */ /* - * $SonyRCSfile: sj_struct.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_struct.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:26 $ */ - - - #include "const.h" -#ifndef _STRUCT_ -#define _STRUCT_ - - +#ifndef _STRUCT_ +#define _STRUCT_ typedef struct kanji_rec { - int klen; - unsigned char *kptr; - int alen; - unsigned char *aptr; - struct kanji_rec *knext; + int klen; + unsigned char* kptr; + int alen; + unsigned char* aptr; + struct kanji_rec* knext; } KanjiRec; - - typedef struct hinsi_rec { - int hinsi; - KanjiRec *krec; - struct hinsi_rec *hnext; + int hinsi; + KanjiRec* krec; + struct hinsi_rec* hnext; } HinsiRec; - - typedef struct douon_rec { - unsigned char *yptr; - int dlen; - int hrec_num; - HinsiRec *hrec; - struct douon_rec *dnext; + unsigned char* yptr; + int dlen; + int hrec_num; + HinsiRec* hrec; + struct douon_rec* dnext; } DouonRec; - - typedef struct hindo_rec { - int klen; - unsigned char *kptr; - int exist; - int hindo; + int klen; + unsigned char* kptr; + int exist; + int hindo; - int offset; + int offset; - struct hindo_rec *anext; - struct assyuku_rec *arec; + struct hindo_rec* anext; + struct assyuku_rec* arec; } HindoRec; - - typedef struct assyuku_rec { - int len; - HindoRec *nrec; - struct assyuku_rec *anext; + int len; + HindoRec* nrec; + struct assyuku_rec* anext; } AssyukuRec; - - typedef struct offset_rec { - int klen; - unsigned char *kptr; - int offset; + int klen; + unsigned char* kptr; + int offset; } OffsetRec; #endif diff --git a/sj_study.h b/sj_study.h index 6c4ec37..d15d2f4 100644 --- a/sj_study.h +++ b/sj_study.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,94 +28,69 @@ */ /* - * $SonyRCSfile: sj_study.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_study.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:18 $ */ +#ifndef _SJ_STUDY +#define _SJ_STUDY +#define StudyExist() (stdy_base) +#define StudyCount (stdy_base->stdycnt) +#define StudyMax (stdy_base->stdymax) +#define StudyDict (stdy_base->stdydic) -#ifndef _SJ_STUDY +#define ClStudyIdx (stdy_base->clstdyidx) +#define ClStudyStep (stdy_base->clstdystep) +#define ClStudyLen (stdy_base->clstdylen) +#define ClStudyDict (stdy_base->clstdydic) -#define _SJ_STUDY +#define StudyTail (StudyDict + StudyMax) +#define StudyRecSize (sizeof(STDYIN)) -#define StudyExist() (stdy_base) +#define ClStudyTail (ClStudyDict + ClStudyLen) -#define StudyCount (stdy_base -> stdycnt) -#define StudyMax (stdy_base -> stdymax) -#define StudyDict (stdy_base -> stdydic) +#define StudyNormEnd 0 +#define StudyNoDict 1 +#define StudyFullArea 2 +#define StudyNotStudy 3 +#define StudyError 4 -#define ClStudyIdx (stdy_base -> clstdyidx) -#define ClStudyStep (stdy_base -> clstdystep) -#define ClStudyLen (stdy_base -> clstdylen) -#define ClStudyDict (stdy_base -> clstdydic) +#define CLSTDY_TMPLEN 256 +#define ClstudyNormEnd 0 +#define ClstudyNoDict 1 +#define ClstudyParaErr 2 +#define ClstudyYomiErr 3 +#define ClstudyNoArea 4 -#define StudyTail (StudyDict + StudyMax) -#define StudyRecSize (sizeof(STDYIN)) +#define CL_YLEN 0 +#define CL_GRAM2 1 +#define CL_Y1LEN 2 +#define CL_NUMH 3 +#define CL_NUML 4 +#define CL_YDATA 5 +#define CL_HDLEN 5 -#define ClStudyTail (ClStudyDict + ClStudyLen) +#define iseocl(p) (!ClYomiLen(p) || (unsigned char*)(p) >= ClStudyTail) +#define ClGramCode(p) *((p) + CL_GRAM2) +#define ClYomiLen(p) *((p) + CL_YLEN) -#define StudyNormEnd 0 -#define StudyNoDict 1 -#define StudyFullArea 2 -#define StudyNotStudy 3 -#define StudyError 4 +#define ClYomi1Len(p) *((p) + CL_Y1LEN) +#define ClHighNum(p) *(p + CL_NUMH) +#define ClLowNum(p) *(p + CL_NUML) +#define ClGetNum(p) (ClHighNum(p) * 0x100 + ClLowNum(p)) +#define ClSetNum(p, n) (ClHighNum(p) = (unsigned char)((n) >> 8), ClLowNum(p) = (unsigned char)(n)) +#define ClYomiPos(p) ((p) + CL_YDATA) +#define ClBlkLen(p) (ClYomiLen(p) + CL_HDLEN) -#define CLSTDY_TMPLEN 256 -#define ClstudyNormEnd 0 -#define ClstudyNoDict 1 -#define ClstudyParaErr 2 -#define ClstudyYomiErr 3 -#define ClstudyNoArea 4 - -#define CL_YLEN 0 -#define CL_GRAM2 1 -#define CL_Y1LEN 2 -#define CL_NUMH 3 -#define CL_NUML 4 -#define CL_YDATA 5 -#define CL_HDLEN 5 - - - -#define iseocl(p) ( !ClYomiLen(p) || (unsigned char *)(p) >= ClStudyTail ) - - - -#define ClGramCode(p) *((p) + CL_GRAM2) - - - -#define ClYomiLen(p) *((p) + CL_YLEN) - - - -#define ClYomi1Len(p) *((p) + CL_Y1LEN) - - - -#define ClHighNum(p) *(p + CL_NUMH) -#define ClLowNum(p) *(p + CL_NUML) -#define ClGetNum(p) (ClHighNum(p) * 0x100 + ClLowNum(p)) -#define ClSetNum(p, n) (ClHighNum(p)=(unsigned char)((n) >> 8), ClLowNum(p)=(unsigned char)(n)) - - - -#define ClYomiPos(p) ((p) + CL_YDATA) - - - -#define ClBlkLen(p) (ClYomiLen(p) + CL_HDLEN) - - - -#define ClNextTag(p) ((p) + ClBlkLen(p)) +#define ClNextTag(p) ((p) + ClBlkLen(p)) #endif diff --git a/sj_suuji.h b/sj_suuji.h index a721386..f1ad820 100644 --- a/sj_suuji.h +++ b/sj_suuji.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,119 +28,95 @@ */ /* - * $SonyRCSfile: sj_suuji.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_suuji.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:19 $ */ +#ifndef _SJ_SUUJI +#define _SJ_SUUJI +#define SjTblRecLen 6 +#define SjTblRecNum 34 +#define SjTblYPos(p) (p) +#define SjTblYLen 3 +#define SjTblModeP(p) (p + 3) +#define SjTblNumber(md) ((md) & 0x0f) +#define SjTblNArabiaF 0x80 +#define SjTblNYomiF 0x40 +#define SjTblNNarabiF 0x20 +#define SjTblNNanSuuF 0x10 +#define SjTblNCont(md) (md & SjTblNContF) +#define SjTblCnctP(p) (p + 4) +#define Kr1TblRecLen 5 +#define Kr1TblRecNum 10 +#define Kr1TblYPos(p) (p) +#define Kr1TblYLen 3 +#define Kr1TblModeP(p) (p + 3) +#define Kr1TblTopF 0x80 +#define Kr1TblTop(md) (md & Kr1TblTopF) +#define Kr1TblKeta(md) (((md) >> 4) & 7) +#define Kr1TblCnct(md) ((md) & 0x0f) +#define Kr1TblCnctP(p) (p + 3) -#ifndef _SJ_SUUJI +#define Kr2TblRecLen 4 +#define Kr2TblRecNum 3 +#define Kr2TblYPos(p) (p) +#define Kr2TblYLen 3 +#define Kr2TblModeP(p) (p + 3) +#define Kr2TblCnct(md) ((md) & 0x0f) +#define Kr2TblKeta(md) (((md) >> 4) & 0x0f) -#define _SJ_SUUJI +#define _Num0 0x01 +#define _Num1 0x02 +#define _Num2 0x03 +#define _Num3 0x04 +#define _Num4 0x05 +#define _Num5 0x06 +#define _Num6 0x07 +#define _Num7 0x08 +#define _Num8 0x09 +#define _Num9 0x0a +#define _Num1S 0x0b +#define _NumS 0x0c +#define _NumN 0x0d +#define CommaHigh 0xa1 +#define CommaLow 0xa4 +#define SelArb 1 +#define SelArb0 2 +#define SelArbCma 3 +#define SelKanSj0 5 +#define SelKanSj20 8 +#define SelKanSjYm 9 +#define SelKanSjYm2 10 +#define SelLongArb 11 +#define SelLongArbCma 12 +#define SelLongSj 13 +#define SelArbKr 14 +#define SelKanSjKr 15 +#define SelNumTerm 0xffff -#define SjTblRecLen 6 -#define SjTblRecNum 34 -#define SjTblYPos(p) (p) -#define SjTblYLen 3 -#define SjTblModeP(p) (p + 3) -#define SjTblNumber(md) ((md) & 0x0f) -#define SjTblNArabiaF 0x80 -#define SjTblNYomiF 0x40 -#define SjTblNNarabiF 0x20 -#define SjTblNNanSuuF 0x10 -#define SjTblNCont(md) (md & SjTblNContF) -#define SjTblCnctP(p) (p + 4) +#define SelKanSj 4 +#define SelKanSj2 7 +#define SelKanSjCma 6 +#define SelNum0123 (JFLAG_N01 | JFLAG_N23) +#define SelNum1_23_10_1 (JFLAG_N_1 | JFLAG_N23 | JFLAG_N10 | JFLAG_NS1) +#define SelNumMust (JFLAG_NK2 | JFLAG_NK4 | JFLAG_NN0 | JFLAG_NSN) +#define SelNumALL (JFLAG_N10 | JFLAG_N_1 | JFLAG_NS1 | JFLAG_N01 | JFLAG_N23 | JFLAG_NK2 | JFLAG_NK4 | JFLAG_NN0 | JFLAG_NSN) +#define SelNumFunc(c) ((c) & (~SelNumALL)) +#define SelNumCond(c) ((c) & SelNumALL) -#define Kr1TblRecLen 5 -#define Kr1TblRecNum 10 -#define Kr1TblYPos(p) (p) -#define Kr1TblYLen 3 -#define Kr1TblModeP(p) (p + 3) -#define Kr1TblTopF 0x80 -#define Kr1TblTop(md) (md & Kr1TblTopF) -#define Kr1TblKeta(md) (((md) >> 4) & 7) -#define Kr1TblCnct(md) ((md) & 0x0f) -#define Kr1TblCnctP(p) (p + 3) - - - -#define Kr2TblRecLen 4 -#define Kr2TblRecNum 3 -#define Kr2TblYPos(p) (p) -#define Kr2TblYLen 3 -#define Kr2TblModeP(p) (p + 3) -#define Kr2TblCnct(md) ((md) & 0x0f) -#define Kr2TblKeta(md) (((md) >> 4) & 0x0f) - -#define _Num0 0x01 -#define _Num1 0x02 -#define _Num2 0x03 -#define _Num3 0x04 -#define _Num4 0x05 -#define _Num5 0x06 -#define _Num6 0x07 -#define _Num7 0x08 -#define _Num8 0x09 -#define _Num9 0x0a -#define _Num1S 0x0b -#define _NumS 0x0c -#define _NumN 0x0d - -#define CommaHigh 0xa1 -#define CommaLow 0xa4 - - - - -#define SelArb 1 -#define SelArb0 2 -#define SelArbCma 3 -#define SelKanSj0 5 -#define SelKanSj20 8 -#define SelKanSjYm 9 -#define SelKanSjYm2 10 -#define SelLongArb 11 -#define SelLongArbCma 12 -#define SelLongSj 13 -#define SelArbKr 14 -#define SelKanSjKr 15 -#define SelNumTerm 0xffff - -#define SelKanSj 4 -#define SelKanSj2 7 -#define SelKanSjCma 6 - - - -#define SelNum0123 (JFLAG_N01 | JFLAG_N23) -#define SelNum1_23_10_1 (JFLAG_N_1 | JFLAG_N23 | JFLAG_N10 | JFLAG_NS1) -#define SelNumMust (JFLAG_NK2 | JFLAG_NK4 | JFLAG_NN0 | JFLAG_NSN) -#define SelNumALL (JFLAG_N10 | JFLAG_N_1 | JFLAG_NS1 | JFLAG_N01 \ - | JFLAG_N23 | JFLAG_NK2 | JFLAG_NK4 \ - | JFLAG_NN0 | JFLAG_NSN) - - - -#define SelNumFunc(c) ((c) & (~SelNumALL)) -#define SelNumCond(c) ((c) & SelNumALL) - - - -#define Number123456789NS ((1<<_Num1)|(1<<_Num2)|(1<<_Num3)|(1<<_Num4) \ - |(1<<_Num5)|(1<<_Num6)|(1<<_Num7)|(1<<_Num8) \ - |(1<<_Num9)|(1<<_Num1S)\ - |(1<<_NumN)|(1<<_NumS)) -#define Number0 (1<<_Num0) -#define Number1 ((1<<_Num1)|(1<<_Num1S)) -#define NumberS1 (1<<_Num1S) -#define Number01 (Number0|Number1) -#define Number23 ((1<<_Num2)|(1<<_Num3)) +#define Number123456789NS ((1 << _Num1) | (1 << _Num2) | (1 << _Num3) | (1 << _Num4) | (1 << _Num5) | (1 << _Num6) | (1 << _Num7) | (1 << _Num8) | (1 << _Num9) | (1 << _Num1S) | (1 << _NumN) | (1 << _NumS)) +#define Number0 (1 << _Num0) +#define Number1 ((1 << _Num1) | (1 << _Num1S)) +#define NumberS1 (1 << _Num1S) +#define Number01 (Number0 | Number1) +#define Number23 ((1 << _Num2) | (1 << _Num3)) #endif diff --git a/sj_sysvdef.h b/sj_sysvdef.h index ebd0f54..18b8327 100644 --- a/sj_sysvdef.h +++ b/sj_sysvdef.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,27 +28,25 @@ */ /* - * $SonyRCSfile: sj_sysvdef.h,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: sj_sysvdef.h,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1995/02/10 06:02:25 $ */ - - #ifndef _SJ_SYSVDEF #define _SJ_SYSVDEF #ifdef SYSV #ifndef SVR4 #define SVR4 -#endif -#endif +#endif +#endif #ifdef SYSTYPE_SYSV #ifndef SVR4 #define SVR4 -#endif -#endif +#endif +#endif #ifdef SVR4 #define SYSV_TERMIOS @@ -56,7 +54,7 @@ #endif /* SVR4 */ #ifdef linux -#if !(defined (__GLIBC__) && (__GLIBC__ >= 2)) +#if !(defined(__GLIBC__) && (__GLIBC__ >= 2)) #define LACKOF_SETLOCALE #endif #define SYSV_TERMIOS @@ -64,4 +62,4 @@ #define SIGTYPE_VOID #endif /* linux */ -#endif +#endif diff --git a/sj_table.h b/sj_table.h index 660dad4..eeb9a5f 100644 --- a/sj_table.h +++ b/sj_table.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,97 +28,96 @@ */ /* - * $SonyRCSfile: sj_table.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_table.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:21 $ * * $Id$ */ - -#ifndef _SJ_TABLE -#define _SJ_TABLE 1 +#ifndef _SJ_TABLE +#define _SJ_TABLE 1 #include "sj_typedef.h" #include "sj_func.h" -#define isdpnd(c) (Chrtbl[c] & DEPEND) +#define isdpnd(c) (Chrtbl[c] & DEPEND) -#define CnjAskLen(p) (((unsigned int) *(p) & 0x70) >> 4) +#define CnjAskLen(p) (((unsigned int)*(p) & 0x70) >> 4) -#define CnjNkrLen(p) (*(p) & 0x0f) +#define CnjNkrLen(p) (*(p) & 0x0f) -#define CnjRight(p) *(p + CnjNkrLen(p) + 1) +#define CnjRight(p) *(p + CnjNkrLen(p) + 1) -#define CnjRecLen(p) (CnjNkrLen(p) + 2) +#define CnjRecLen(p) (CnjNkrLen(p) + 2) -#define FzkAskLen(p) ((unsigned int) *(p) >> 5) +#define FzkAskLen(p) ((unsigned int)*(p) >> 5) -#define FzkNkrLen(p) (*(p) & 0x07) +#define FzkNkrLen(p) (*(p) & 0x07) -#define FzkStrKa(p) (((unsigned int) *(p) >> 3) & 1) +#define FzkStrKa(p) (((unsigned int)*(p) >> 3) & 1) -#define FzkHasCode(p) (*(p) & 0x10) +#define FzkHasCode(p) (*(p) & 0x10) -#define FzkLeft(p) (*((p) + nlen + 1)) +#define FzkLeft(p) (*((p) + nlen + 1)) -#define FzkRight(p) (*((p) + nlen + 2)) +#define FzkRight(p) (*((p) + nlen + 2)) -#define SttYomiLen(p) (*(p) & 0x0f) +#define SttYomiLen(p) (*(p) & 0x0f) -#define SttHiraKnj(p) (*(p) & 0x80) +#define SttHiraKnj(p) (*(p) & 0x80) -#define StbKnjLen(p) (*(p) & 0x07) +#define StbKnjLen(p) (*(p) & 0x07) -#define StbYomiLen(p) (*(p) >> 4) +#define StbYomiLen(p) (*(p) >> 4) -#define StbYomiTop(p) ((p) + 2) +#define StbYomiTop(p) ((p) + 2) -#define StbBakeru(p) (*(p) & 0x08) +#define StbBakeru(p) (*(p) & 0x08) -#define StbHinsi(p) (*((p) + 1)) +#define StbHinsi(p) (*((p) + 1)) -extern unsigned char charsize[], chrtbl[], *conjadr[], connadr[]; -extern unsigned char *fzkadr[], kigou[], kurai1_tbl[], kurai2_tbl[]; -extern unsigned char num1tbl[], num2tbl[], num3tbl[], num4tbl[]; -extern unsigned char num5tbl[], num6tbl[], *rigtadr[], scncttbl[2][24]; -extern unsigned char *settou_ptr[], *stbadr[], sttpri[5][31]; -extern unsigned char suuji_tbl[], taipri[7][45], termtbl[]; -extern unsigned short *selsjadrs[]; -extern UCPFuncGK getkan_func[]; -extern UCPFuncMK makekan_func[]; -extern VFuncNT cvtnum_func[]; -extern IFuncSetj setjrec_func[]; +extern unsigned char charsize[], chrtbl[], *conjadr[], connadr[]; +extern unsigned char * fzkadr[], kigou[], kurai1_tbl[], kurai2_tbl[]; +extern unsigned char num1tbl[], num2tbl[], num3tbl[], num4tbl[]; +extern unsigned char num5tbl[], num6tbl[], *rigtadr[], scncttbl[2][24]; +extern unsigned char * settou_ptr[], *stbadr[], sttpri[5][31]; +extern unsigned char suuji_tbl[], taipri[7][45], termtbl[]; +extern unsigned short* selsjadrs[]; +extern UCPFuncGK getkan_func[]; +extern UCPFuncMK makekan_func[]; +extern VFuncNT cvtnum_func[]; +extern IFuncSetj setjrec_func[]; /* extern IFunc srchg_func[]; */ /* does it exist? */ -extern IFuncHira hiraknj_func[]; -#define Charsize charsize -#define Chrtbl chrtbl -#define Conjadr(i) conjadr[i] -#define Connadr connadr -#define Cvtnum_func cvtnum_func -#define Fzkadr(i) fzkadr[i] -#define Getkan_func getkan_func -#define Hiraknj_func hiraknj_func -#define Kigou kigou -#define Kurai1_tbl kurai1_tbl -#define Kurai2_tbl kurai2_tbl -#define Makekan_func makekan_func -#define Num1tbl num1tbl -#define Num2tbl num2tbl -#define Num3tbl num3tbl -#define Num4tbl num4tbl -#define Num5tbl num5tbl -#define Num6tbl num6tbl -#define Rigtadr(i) rigtadr[i] -#define Scncttbl(i, j) scncttbl[i][j] -#define Selsjadrs(i) selsjadrs[i] -#define Setjrec_func setjrec_func -#define Settou_ptr(i) settou_ptr[i] -#define Srchg_func srchg_func -#define Stbadr(i) stbadr[i] -#define Sttpri(i, j) sttpri[i][j] -#define Suuji_tbl suuji_tbl -#define Taipri(i, j) taipri[i][j] -#define Termtbl termtbl +extern IFuncHira hiraknj_func[]; +#define Charsize charsize +#define Chrtbl chrtbl +#define Conjadr(i) conjadr[i] +#define Connadr connadr +#define Cvtnum_func cvtnum_func +#define Fzkadr(i) fzkadr[i] +#define Getkan_func getkan_func +#define Hiraknj_func hiraknj_func +#define Kigou kigou +#define Kurai1_tbl kurai1_tbl +#define Kurai2_tbl kurai2_tbl +#define Makekan_func makekan_func +#define Num1tbl num1tbl +#define Num2tbl num2tbl +#define Num3tbl num3tbl +#define Num4tbl num4tbl +#define Num5tbl num5tbl +#define Num6tbl num6tbl +#define Rigtadr(i) rigtadr[i] +#define Scncttbl(i, j) scncttbl[i][j] +#define Selsjadrs(i) selsjadrs[i] +#define Setjrec_func setjrec_func +#define Settou_ptr(i) settou_ptr[i] +#define Srchg_func srchg_func +#define Stbadr(i) stbadr[i] +#define Sttpri(i, j) sttpri[i][j] +#define Suuji_tbl suuji_tbl +#define Taipri(i, j) taipri[i][j] +#define Termtbl termtbl #endif /* _SJ_TABLE */ diff --git a/sj_typedef.h b/sj_typedef.h index 87d0df5..0ed1a41 100644 --- a/sj_typedef.h +++ b/sj_typedef.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,34 +28,32 @@ */ /* - * $SonyRCSfile: sj_typedef.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_typedef.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:22 $ * * $Id$ */ - -#ifndef _SJ_TYPEDEF -#define _SJ_TYPEDEF 1 +#ifndef _SJ_TYPEDEF +#define _SJ_TYPEDEF 1 #include #include "sj_stdint.h" -typedef uint8_t TypeGroup; -typedef uint8_t TypeGram; -typedef uint16_t TypeIdxOfs; -typedef short TypeDicSeg; -typedef uint16_t TypeDicOfs; -typedef ino_t TypeDicID; -typedef uint8_t TypeCnct; -typedef uint16_t TypeStyNum; -typedef uint8_t TypeClass; -typedef uint8_t TypeBunNum; +typedef uint8_t TypeGroup; +typedef uint8_t TypeGram; +typedef uint16_t TypeIdxOfs; +typedef short TypeDicSeg; +typedef uint16_t TypeDicOfs; +typedef ino_t TypeDicID; +typedef uint8_t TypeCnct; +typedef uint16_t TypeStyNum; +typedef uint8_t TypeClass; +typedef uint8_t TypeBunNum; -#ifndef NULL -# define NULL 0 +#ifndef NULL +#define NULL 0 #endif #endif /* _SJ_TYPEDEF */ - diff --git a/sj_var.h b/sj_var.h index f9e9fb5..88225cc 100644 --- a/sj_var.h +++ b/sj_var.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,37 +28,22 @@ */ /* - * $SonyRCSfile: sj_var.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_var.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:23 $ */ +#ifndef _SJ_VAR +#define _SJ_VAR +#define MaxKouhoNumber 255 +#define MaxPhInputLen 256 +#define MaxClInputLen 64 -#ifndef _SJ_VAR +#define MinClOutputLen 512 -#define _SJ_VAR - - - -#define MaxKouhoNumber 255 - - - - -#define MaxPhInputLen 256 -#define MaxClInputLen 64 - - - - -#define MinClOutputLen 512 - - - - -#define MinPhOutputLen 288 +#define MinPhOutputLen 288 #endif diff --git a/sj_yomi.h b/sj_yomi.h index 79f507a..225c2c3 100644 --- a/sj_yomi.h +++ b/sj_yomi.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,190 +28,186 @@ */ /* - * $SonyRCSfile: sj_yomi.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sj_yomi.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:01:24 $ */ +#ifndef _SJ_YOMICODE +#define _SJ_YOMICODE +#define _TYOUON 0x01 +#define _IGETA 0x02 +#define _ATTO 0x03 +#define _YUUBIN 0x04 +#define N_0 0x10 +#define N_1 0x11 +#define N_2 0x12 +#define N_3 0x13 +#define N_4 0x14 +#define N_5 0x15 +#define N_6 0x16 +#define N_7 0x17 +#define N_8 0x18 +#define N_9 0x19 -#ifndef _SJ_YOMICODE +#define A_A 0x1A +#define A_B 0x1B +#define A_C 0x1C +#define A_D 0x1D +#define A_E 0x1E +#define A_F 0x1F +#define A_G 0x20 +#define A_H 0x21 +#define A_I 0x22 +#define A_J 0x23 +#define A_K 0x24 +#define A_L 0x25 +#define A_M 0x26 +#define A_N 0x27 +#define A_O 0x28 +#define A_P 0x29 +#define A_Q 0x2A +#define A_R 0x2B +#define A_S 0x2C +#define A_T 0x2D +#define A_U 0x2E +#define A_V 0x2F +#define A_W 0x30 +#define A_X 0x31 +#define A_Y 0x32 +#define A_Z 0x33 -#define _SJ_YOMICODE +#define A_a 0x34 +#define A_b 0x35 +#define A_c 0x36 +#define A_d 0x37 +#define A_e 0x38 +#define A_f 0x39 +#define A_g 0x3A +#define A_h 0x3B +#define A_i 0x3C +#define A_j 0x3D +#define A_k 0x3E +#define A_l 0x3F +#define A_m 0x40 +#define A_n 0x41 +#define A_o 0x42 +#define A_p 0x43 +#define A_q 0x44 +#define A_r 0x45 +#define A_s 0x46 +#define A_t 0x47 +#define A_u 0x48 +#define A_v 0x49 +#define A_w 0x4A +#define A_x 0x4B +#define A_y 0x4C +#define A_z 0x4D -#define _TYOUON 0x01 -#define _IGETA 0x02 -#define _ATTO 0x03 -#define _YUUBIN 0x04 +#define _XA 0x4E +#define _A 0x4F +#define _XI 0x50 +#define _I 0x51 +#define _XU 0x52 +#define _U 0x53 +#define _XE 0x54 +#define _E 0x55 +#define _XO 0x56 +#define _O 0x57 +#define _KA 0x58 +#define _GA 0x59 +#define _KI 0x5A +#define _GI 0x5B +#define _KU 0x5C +#define _GU 0x5D +#define _KE 0x5E +#define _GE 0x5F +#define _KO 0x60 +#define _GO 0x61 +#define _SA 0x62 +#define _ZA 0x63 +#define _SI 0x64 +#define _ZI 0x65 +#define _SU 0x66 +#define _ZU 0x67 +#define _SE 0x68 +#define _ZE 0x69 +#define _SO 0x6A +#define _ZO 0x6B +#define _TA 0x6C +#define _DA 0x6D +#define _TI 0x6E +#define _DI 0x6F +#define _XTU 0x70 +#define _TU 0x71 +#define _DU 0x72 +#define _TE 0x73 +#define _DE 0x74 +#define _TO 0x75 +#define _DO 0x76 +#define _NA 0x77 +#define _NI 0x78 +#define _NU 0x79 +#define _NE 0x7A +#define _NO 0x7B +#define _HA 0x7C +#define _BA 0x7D +#define _PA 0x7E +#define _HI 0x7F +#define _BI 0x80 +#define _PI 0x81 +#define _HU 0x82 +#define _BU 0x83 +#define _PU 0x84 +#define _HE 0x85 +#define _BE 0x86 +#define _PE 0x87 +#define _HO 0x88 +#define _BO 0x89 +#define _PO 0x8A +#define _MA 0x8B +#define _MI 0x8C +#define _MU 0x8D +#define _ME 0x8E +#define _MO 0x8F +#define _XYA 0x90 +#define _YA 0x91 +#define _XYU 0x92 +#define _YU 0x93 +#define _XYO 0x94 +#define _YO 0x95 +#define _RA 0x96 +#define _RI 0x97 +#define _RU 0x98 +#define _RE 0x99 +#define _RO 0x9A +#define _XWA 0x9B +#define _WA 0x9C +#define _WI 0x9D +#define _WE 0x9E +#define _WO 0x9F +#define _NN 0xA0 +#define _VU 0xA1 +#define _XKA 0xA2 +#define _XKE 0xA3 -#define N_0 0x10 -#define N_1 0x11 -#define N_2 0x12 -#define N_3 0x13 -#define N_4 0x14 -#define N_5 0x15 -#define N_6 0x16 -#define N_7 0x17 -#define N_8 0x18 -#define N_9 0x19 +#define Y_KUTEN 0xF2 +#define Y_TOUTEN 0xF3 +#define Y_COMMA 0xF4 +#define Y_PERIOD 0xF5 +#define Y_QUOTA 0xF6 +#define Y_BIKKURI 0xF7 +#define Y_S_KIGOU1 0xF8 +#define Y_S_KIGOU2 0xF9 +#define Y_L_KAKKO 0xFA +#define Y_R_KAKKO 0xFB +#define Y_KIGOU 0xFC +#define Y_HANKAKU 0xFD +#define Y_ZENKAKU 0xFE -#define A_A 0x1A -#define A_B 0x1B -#define A_C 0x1C -#define A_D 0x1D -#define A_E 0x1E -#define A_F 0x1F -#define A_G 0x20 -#define A_H 0x21 -#define A_I 0x22 -#define A_J 0x23 -#define A_K 0x24 -#define A_L 0x25 -#define A_M 0x26 -#define A_N 0x27 -#define A_O 0x28 -#define A_P 0x29 -#define A_Q 0x2A -#define A_R 0x2B -#define A_S 0x2C -#define A_T 0x2D -#define A_U 0x2E -#define A_V 0x2F -#define A_W 0x30 -#define A_X 0x31 -#define A_Y 0x32 -#define A_Z 0x33 - -#define A_a 0x34 -#define A_b 0x35 -#define A_c 0x36 -#define A_d 0x37 -#define A_e 0x38 -#define A_f 0x39 -#define A_g 0x3A -#define A_h 0x3B -#define A_i 0x3C -#define A_j 0x3D -#define A_k 0x3E -#define A_l 0x3F -#define A_m 0x40 -#define A_n 0x41 -#define A_o 0x42 -#define A_p 0x43 -#define A_q 0x44 -#define A_r 0x45 -#define A_s 0x46 -#define A_t 0x47 -#define A_u 0x48 -#define A_v 0x49 -#define A_w 0x4A -#define A_x 0x4B -#define A_y 0x4C -#define A_z 0x4D - -#define _XA 0x4E -#define _A 0x4F -#define _XI 0x50 -#define _I 0x51 -#define _XU 0x52 -#define _U 0x53 -#define _XE 0x54 -#define _E 0x55 -#define _XO 0x56 -#define _O 0x57 -#define _KA 0x58 -#define _GA 0x59 -#define _KI 0x5A -#define _GI 0x5B -#define _KU 0x5C -#define _GU 0x5D -#define _KE 0x5E -#define _GE 0x5F -#define _KO 0x60 -#define _GO 0x61 -#define _SA 0x62 -#define _ZA 0x63 -#define _SI 0x64 -#define _ZI 0x65 -#define _SU 0x66 -#define _ZU 0x67 -#define _SE 0x68 -#define _ZE 0x69 -#define _SO 0x6A -#define _ZO 0x6B -#define _TA 0x6C -#define _DA 0x6D -#define _TI 0x6E -#define _DI 0x6F -#define _XTU 0x70 -#define _TU 0x71 -#define _DU 0x72 -#define _TE 0x73 -#define _DE 0x74 -#define _TO 0x75 -#define _DO 0x76 -#define _NA 0x77 -#define _NI 0x78 -#define _NU 0x79 -#define _NE 0x7A -#define _NO 0x7B -#define _HA 0x7C -#define _BA 0x7D -#define _PA 0x7E -#define _HI 0x7F -#define _BI 0x80 -#define _PI 0x81 -#define _HU 0x82 -#define _BU 0x83 -#define _PU 0x84 -#define _HE 0x85 -#define _BE 0x86 -#define _PE 0x87 -#define _HO 0x88 -#define _BO 0x89 -#define _PO 0x8A -#define _MA 0x8B -#define _MI 0x8C -#define _MU 0x8D -#define _ME 0x8E -#define _MO 0x8F -#define _XYA 0x90 -#define _YA 0x91 -#define _XYU 0x92 -#define _YU 0x93 -#define _XYO 0x94 -#define _YO 0x95 -#define _RA 0x96 -#define _RI 0x97 -#define _RU 0x98 -#define _RE 0x99 -#define _RO 0x9A -#define _XWA 0x9B -#define _WA 0x9C -#define _WI 0x9D -#define _WE 0x9E -#define _WO 0x9F -#define _NN 0xA0 -#define _VU 0xA1 -#define _XKA 0xA2 -#define _XKE 0xA3 - -#define Y_KUTEN 0xF2 -#define Y_TOUTEN 0xF3 -#define Y_COMMA 0xF4 -#define Y_PERIOD 0xF5 -#define Y_QUOTA 0xF6 -#define Y_BIKKURI 0xF7 -#define Y_S_KIGOU1 0xF8 -#define Y_S_KIGOU2 0xF9 -#define Y_L_KAKKO 0xFA -#define Y_R_KAKKO 0xFB -#define Y_KIGOU 0xFC -#define Y_HANKAKU 0xFD -#define Y_ZENKAKU 0xFE - -#define _NIL 0 +#define _NIL 0 #endif diff --git a/sjctype.h b/sjctype.h index 1b13e21..7b01023 100644 --- a/sjctype.h +++ b/sjctype.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,55 +28,52 @@ */ /* - * $SonyRCSfile: sjctype.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: sjctype.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:39 $ */ - - #ifndef __sony_news #ifndef __SJCTYPE #define __SJCTYPE #include "sj_sysvdef.h" -#define sjis2euc sj3_sjis2euc -#define jis2sjis sj3_jis2sjis -#define euctosjis sj3_euctosjis -#define sjis2jis sj3_sjis2jis -#define euc2sjis sj3_euc2sjis -#define jis2euc sj3_jis2euc -#define sjistoeuc sj3_sjistoeuc +#define sjis2euc sj3_sjis2euc +#define jis2sjis sj3_jis2sjis +#define euctosjis sj3_euctosjis +#define sjis2jis sj3_sjis2jis +#define euc2sjis sj3_euc2sjis +#define jis2euc sj3_jis2euc +#define sjistoeuc sj3_sjistoeuc -#define issjis1(c) (((0x81 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0x9f)) || \ - ((0xe0 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xfc))) +#define issjis1(c) (((0x81 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0x9f)) || \ + ((0xe0 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xfc))) -#define issjis2(c) (((0x40 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xfc)) && (((unsigned char)(c)) != 0x7f)) +#define issjis2(c) (((0x40 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xfc)) && (((unsigned char)(c)) != 0x7f)) -#define iseuc(c) ((0xa1 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xfe)) +#define iseuc(c) ((0xa1 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xfe)) #define iseuckana(c) (((unsigned char)(c)) == 0x8e) -#define iskana2(c) ((0xa1 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xdf)) +#define iskana2(c) ((0xa1 <= ((unsigned char)(c))) && (((unsigned char)(c)) <= 0xdf)) -#define jiszen(c) (issjis1(((c) >> 8) & 0xff) && issjis2((c) & 0xff)) +#define jiszen(c) (issjis1(((c) >> 8) & 0xff) && issjis2((c) & 0xff)) -#define isjjis(c) ((0x21 <= (c)) && ((c) <= 0x7e)) +#define isjjis(c) ((0x21 <= (c)) && ((c) <= 0x7e)) -#define jstrlen(s) euclen(s, 65535) +#define jstrlen(s) euclen(s, 65535) #define iseuc3byte(c) ((c) == 0x8f) #define iseuc2byte(c) (iseuc(c) || ((c) == 0x8e)) -#define iskanji issjis1 -#define iskanji2 issjis2 -#define iskana iskana2 +#define iskanji issjis1 +#define iskanji2 issjis2 +#define iskana iskana2 #endif #else #ifndef SVR4 -#define euctosjis sj3_euctosjis -#define sjistoeuc sj3_sjistoeuc -#endif -#endif - +#define euctosjis sj3_euctosjis +#define sjistoeuc sj3_sjistoeuc +#endif +#endif diff --git a/sjgetchar.c b/sjgetchar.c index 6ed9988..986d216 100644 --- a/sjgetchar.c +++ b/sjgetchar.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: sjgetchar.c,v $ - * $SonyRevision: 1.5 $ + * $SonyRCSfile: sjgetchar.c,v $ + * $SonyRevision: 1.5 $ * $SonyDate: 1997/01/23 11:26:31 $ */ - - #include "sj_sysvdef.h" #include "wchar16.h" #include "kctype.h" @@ -49,7 +47,7 @@ #include #endif #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__) -#define USE_OLD_TTY +#define USE_OLD_TTY #include #endif @@ -59,154 +57,150 @@ #include "select.h" #if !defined(FREAD) && defined(O_RDONLY) -#define FREAD (O_RDONLY+1) -#define FWRITE (O_WRONLY+1) +#define FREAD (O_RDONLY + 1) +#define FWRITE (O_WRONLY + 1) #endif -#define Isknj1(s) ((eucmode) ? (iseuc(s) || (SS2 == (s))) : (issjis1(s))) -#define Isknj2(s) ((eucmode) ? (SS3 == (s)) : 0) +#define Isknj1(s) ((eucmode) ? (iseuc(s) || (SS2 == (s))) : (issjis1(s))) +#define Isknj2(s) ((eucmode) ? (SS3 == (s)) : 0) -static wchar16_t backup = (wchar16_t) 0; +static wchar16_t backup = (wchar16_t)0; -static int eucmode = 0; -extern int master; +static int eucmode = 0; +extern int master; -wchar16_t SJ_getchar() -{ - SELECT_FD ifds; - wchar16_t c; +wchar16_t SJ_getchar() { + SELECT_FD ifds; + wchar16_t c; - if (backup) { - if (SJ_read (&c, 1) > 0) + if(backup) { + if(SJ_read(&c, 1) > 0) return (c); } - for (;;) { - FD_ZERO (&ifds); - FD_SET (STDIN, &ifds); - FD_SET (master, &ifds); - if (select (master + 1, &ifds, 0, 0, 0) <= 0) { - if (errno == EINTR) { + for(;;) { + FD_ZERO(&ifds); + FD_SET(STDIN, &ifds); + FD_SET(master, &ifds); + if(select(master + 1, &ifds, 0, 0, 0) <= 0) { + if(errno == EINTR) { errno = 0; continue; } else return (EOF); } - if (FD_ISSET (STDIN, &ifds)) { - if (SJ_read (&c, 1) > 0) { - if (FD_ISSET (master, &ifds)) { + if(FD_ISSET(STDIN, &ifds)) { + if(SJ_read(&c, 1) > 0) { + if(FD_ISSET(master, &ifds)) { output_master(); } return (c); } return (EOF); } - if (FD_ISSET (master, &ifds)) { + if(FD_ISSET(master, &ifds)) { output_master(); } } } #ifdef SVR4 -#define TIOCPKT_DOSTOP 0x10 -#define TIOCPKT_NOSTOP 0x20 +#define TIOCPKT_DOSTOP 0x10 +#define TIOCPKT_NOSTOP 0x20 -static int stopmode = TIOCPKT_DOSTOP; -static char stopc = CTRL('s'); -static char startc = CTRL('q'); -static char outbuf[BUFSIZ]; -extern int slave; +static int stopmode = TIOCPKT_DOSTOP; +static char stopc = CTRL('s'); +static char startc = CTRL('q'); +static char outbuf[BUFSIZ]; +extern int slave; extern char *slave_name, *ptsname(int); -output_master() -{ - struct strbuf ctlbuf; - struct strbuf databuf; - int flags = 0; - unsigned char ctlstuff; - int f, stop, ixon, ret; - struct iocblk *ioc; - struct termios *tp; - struct termio *ti; +output_master() { + struct strbuf ctlbuf; + struct strbuf databuf; + int flags = 0; + unsigned char ctlstuff; + int f, stop, ixon, ret; + struct iocblk* ioc; + struct termios* tp; + struct termio* ti; struct tchars tc, tc1; - memset((char *)&ctlbuf, '\0', sizeof(ctlbuf)); - memset((char *)&databuf,'\0', sizeof(databuf)); - ctlbuf.maxlen = sizeof(ctlstuff); - ctlbuf.buf = (char *)&ctlstuff; + memset((char*)&ctlbuf, '\0', sizeof(ctlbuf)); + memset((char*)&databuf, '\0', sizeof(databuf)); + ctlbuf.maxlen = sizeof(ctlstuff); + ctlbuf.buf = (char*)&ctlstuff; databuf.maxlen = BUFSIZ; - databuf.buf = outbuf; - if ((ret = getmsg(master, &ctlbuf, &databuf, &flags)) == -1) { + databuf.buf = outbuf; + if((ret = getmsg(master, &ctlbuf, &databuf, &flags)) == -1) { return; } - if (ctlbuf.len <= 0) { + if(ctlbuf.len <= 0) { errno = EWOULDBLOCK; return; } - if (ret & MORECTL) { + if(ret & MORECTL) { errno = EWOULDBLOCK; return; } - if ((ctlstuff != M_DATA) && (ret & MOREDATA)) { + if((ctlstuff != M_DATA) && (ret & MOREDATA)) { errno = EWOULDBLOCK; return; } - if (ctlbuf.len != sizeof(ctlstuff)) { + if(ctlbuf.len != sizeof(ctlstuff)) { errno = EWOULDBLOCK; return; } - switch (ctlstuff) { + switch(ctlstuff) { case M_DATA: - - write_stdout((unsigned char *)&outbuf[0], databuf.len); - fflush (stdout); - while (ret & MOREDATA) { - if ((ret = getmsg(master, &ctlbuf, &databuf, &flags)) == -1) { - return; + + write_stdout((unsigned char*)&outbuf[0], databuf.len); + fflush(stdout); + while(ret & MOREDATA) { + if((ret = getmsg(master, &ctlbuf, &databuf, &flags)) == -1) { + return; } - write_stdout((unsigned char *)&outbuf[0], databuf.len); - fflush (stdout); + write_stdout((unsigned char*)&outbuf[0], databuf.len); + fflush(stdout); } return; break; case M_FLUSH: - if (databuf.len <= 0) { + if(databuf.len <= 0) { errno = EWOULDBLOCK; return; } - fflush (stdout); + fflush(stdout); break; case M_IOCTL: - ioc = (struct iocblk *)databuf.buf; - if (databuf.len <= sizeof(struct iocblk)) { + ioc = (struct iocblk*)databuf.buf; + if(databuf.len <= sizeof(struct iocblk)) { errno = EWOULDBLOCK; return; } - switch (ioc->ioc_cmd) { + switch(ioc->ioc_cmd) { case TCSETS: case TCSETSW: case TCSETSF: - if (databuf.len < (sizeof(struct termios) - + sizeof(struct iocblk))) { + if(databuf.len < (sizeof(struct termios) + sizeof(struct iocblk))) { errno = EWOULDBLOCK; return; } - tp = (struct termios *)(databuf.buf + sizeof (struct iocblk)); - stopc = tp->c_cc[VSTOP]; + tp = (struct termios*)(databuf.buf + sizeof(struct iocblk)); + stopc = tp->c_cc[VSTOP]; startc = tp->c_cc[VSTART]; - ixon = tp->c_iflag & IXON; + ixon = tp->c_iflag & IXON; break; case TCSETA: case TCSETAW: case TCSETAF: - if (databuf.len < (sizeof (struct termio) - + sizeof (struct iocblk))) { + if(databuf.len < (sizeof(struct termio) + sizeof(struct iocblk))) { errno = EWOULDBLOCK; return; } - ti = (struct termio *)(databuf.buf + sizeof (struct iocblk)); + ti = (struct termio*)(databuf.buf + sizeof(struct iocblk)); ixon = ti->c_iflag & IXON; break; @@ -215,27 +209,26 @@ output_master() return; } stop = (ixon && (stopc == CTRL('s')) && (startc == CTRL('q'))); - if (stopmode == TIOCPKT_NOSTOP) { - if (stop) { - ioctl (STDOUT, TIOCGETC, &tc); - + if(stopmode == TIOCPKT_NOSTOP) { + if(stop) { + ioctl(STDOUT, TIOCGETC, &tc); - if (slave == 0) { - slave_name = ptsname(master); - slave = open(slave_name, O_RDWR); + if(slave == 0) { + slave_name = ptsname(master); + slave = open(slave_name, O_RDWR); } - ioctl (slave, TIOCGETC, &tc1); - tc.t_stopc = tc1.t_stopc; + ioctl(slave, TIOCGETC, &tc1); + tc.t_stopc = tc1.t_stopc; tc.t_startc = tc1.t_startc; - ioctl (STDOUT, TIOCSETC, &tc); + ioctl(STDOUT, TIOCSETC, &tc); stopmode = TIOCPKT_DOSTOP; } } else { - if (!stop) { - ioctl (STDOUT, TIOCGETC, &tc); - tc.t_stopc = -1; + if(!stop) { + ioctl(STDOUT, TIOCGETC, &tc); + tc.t_stopc = -1; tc.t_startc = -1; - ioctl (STDOUT, TIOCSETC, &tc); + ioctl(STDOUT, TIOCSETC, &tc); stopmode = TIOCPKT_NOSTOP; } } @@ -243,245 +236,236 @@ output_master() return; break; default: - + errno = EWOULDBLOCK; return; break; } } -#else -#if defined(linux) && defined (__GLIBC__) && (__GLIBC__ >= 2) +#else +#if defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2) #include #endif -output_master() -{ - int n, m; - char outbuf[BUFSIZ]; - int f; +output_master() { + int n, m; + char outbuf[BUFSIZ]; + int f; #ifdef SYSV_TERMIOS - struct termios tc, tc1; + struct termios tc, tc1; #else - struct tchars tc, tc1; + struct tchars tc, tc1; #endif - extern int master; + extern int master; - if ((n = read (master, outbuf, BUFSIZ)) > 0) { + if((n = read(master, outbuf, BUFSIZ)) > 0) { m = outbuf[0]; - if (m == TIOCPKT_DATA) { - - write_stdout((unsigned char *)&outbuf[1], n - 1); - - fflush (stdout); + if(m == TIOCPKT_DATA) { + + write_stdout((unsigned char*)&outbuf[1], n - 1); + + fflush(stdout); return; - } - else if (m & (TIOCPKT_FLUSHREAD | TIOCPKT_FLUSHWRITE)) { + } else if(m & (TIOCPKT_FLUSHREAD | TIOCPKT_FLUSHWRITE)) { f = 0; - if (m & TIOCPKT_FLUSHREAD) + if(m & TIOCPKT_FLUSHREAD) f |= FREAD; - if (m & TIOCPKT_FLUSHWRITE) + if(m & TIOCPKT_FLUSHWRITE) f |= FWRITE; - fflush (stdout); + fflush(stdout); #ifdef TCFLSH - ioctl (STDOUT, TCFLSH, &f); + ioctl(STDOUT, TCFLSH, &f); #else - ioctl (STDOUT, TIOCFLUSH, &f); + ioctl(STDOUT, TIOCFLUSH, &f); #endif - } - else if (m & TIOCPKT_NOSTOP) { + } else if(m & TIOCPKT_NOSTOP) { #ifdef SYSV_TERMIOS - ioctl (1, TCGETS, &tc); - tc.c_cc[VSTOP] = 0; + ioctl(1, TCGETS, &tc); + tc.c_cc[VSTOP] = 0; tc.c_cc[VSTART] = 0; - ioctl (STDOUT, TCSETS, &tc); + ioctl(STDOUT, TCSETS, &tc); #else - - ioctl (1, TIOCGETC, &tc); - tc.t_stopc = -1; + + ioctl(1, TIOCGETC, &tc); + tc.t_stopc = -1; tc.t_startc = -1; - ioctl (STDOUT, TIOCSETC, &tc); + ioctl(STDOUT, TIOCSETC, &tc); #endif - } - else if (m & TIOCPKT_DOSTOP) { + } else if(m & TIOCPKT_DOSTOP) { #ifdef SYSV_TERMIOS - ioctl (master, TCGETS, &tc1); - ioctl (STDOUT, TCGETS, &tc); - tc.c_cc[VSTOP] = tc1.c_cc[VSTOP]; + ioctl(master, TCGETS, &tc1); + ioctl(STDOUT, TCGETS, &tc); + tc.c_cc[VSTOP] = tc1.c_cc[VSTOP]; tc.c_cc[VSTART] = tc1.c_cc[VSTART]; - ioctl (STDOUT, TCSETS, &tc); + ioctl(STDOUT, TCSETS, &tc); #else - ioctl (master, TIOCGETC, &tc1); - ioctl (STDOUT, TIOCGETC, &tc); - tc.t_stopc = tc1.t_stopc; + ioctl(master, TIOCGETC, &tc1); + ioctl(STDOUT, TIOCGETC, &tc); + tc.t_stopc = tc1.t_stopc; tc.t_startc = tc1.t_startc; - ioctl (STDOUT, TIOCSETC, &tc); + ioctl(STDOUT, TIOCSETC, &tc); #endif } } } -#endif +#endif -set_eucmode () -{ - eucmode = 1; +set_eucmode() { + eucmode = 1; } -SJ_write (s, n) -wchar16_t *s; -int n; +SJ_write(s, n) + wchar16_t* s; +int n; { - int val; - wchar16_t wb[BUFFLENGTH]; - unsigned char buff[BUFFLENGTH * 3]; + int val; + wchar16_t wb[BUFFLENGTH]; + unsigned char buff[BUFFLENGTH * 3]; wsncpy(wb, s, n); wb[n] = 0; - val = wcstombs((char *) buff, wb, (size_t) n * 3); - if ((val == 0) && n) { + val = wcstombs((char*)buff, wb, (size_t)n * 3); + if((val == 0) && n) { int i; val = n; - for (i = 0; i <= n; i++) - buff[i] = 0; + for(i = 0; i <= n; i++) + buff[i] = 0; } - if (val > 0) - val = write(master, buff, val); - return(val); + if(val > 0) + val = write(master, buff, val); + return (val); } -write_stdout(s, n) -unsigned char *s; +write_stdout(s, n) unsigned char* s; int n; { - static unsigned char knj1st = 0, knj2nd = 0; + static unsigned char knj1st = 0, knj2nd = 0; - while (n-- > 0) { - if (knj1st) { - if (knj2nd) { - putchar(knj2nd); - putchar(knj1st); - putchar(*s++); - knj2nd = 0; - knj1st = 0; - } else { - putchar(knj1st); - putchar(*s++); - knj1st = 0; - } - } else if (knj2nd) { - knj1st = *s++; - } else if (Isknj2(*s)) { - knj2nd = *s++; - } else if (Isknj1(*s)) - knj1st = *s++; - else - putchar(*s++); - } + while(n-- > 0) { + if(knj1st) { + if(knj2nd) { + putchar(knj2nd); + putchar(knj1st); + putchar(*s++); + knj2nd = 0; + knj1st = 0; + } else { + putchar(knj1st); + putchar(*s++); + knj1st = 0; + } + } else if(knj2nd) { + knj1st = *s++; + } else if(Isknj2(*s)) { + knj2nd = *s++; + } else if(Isknj1(*s)) + knj1st = *s++; + else + putchar(*s++); + } } - -SJ_read (s, n) -wchar16_t *s; -int n; +SJ_read(s, n) + wchar16_t* s; +int n; { unsigned char buff[BUFFLENGTH]; - wchar16_t wcbuff[BUFFLENGTH]; - int i, count, remain, c; - size_t wnum; - extern int current_locale; + wchar16_t wcbuff[BUFFLENGTH]; + int i, count, remain, c; + size_t wnum; + extern int current_locale; - if (backup) { - *s = backup; + if(backup) { + *s = backup; backup = 0; return (1); } - if ((count = read(STDIN, buff, n)) <= 0) - return (count); + if((count = read(STDIN, buff, n)) <= 0) + return (count); remain = 0; - for (i = 0; i < count; i++) { + for(i = 0; i < count; i++) { c = buff[i]; #ifdef __sony_news - if (is3byte(c)) { - if (i + 2 >= count) { - if (i + 2 == count) { + if(is3byte(c)) { + if(i + 2 >= count) { + if(i + 2 == count) { remain = 1; break; } else - remain = 2; - } else - i += 2; - } else if (is2byte(c)) { - if (i + 1 >= count) - remain = 1; + remain = 2; + } else + i += 2; + } else if(is2byte(c)) { + if(i + 1 >= count) + remain = 1; else - i++; + i++; } #else - if (current_locale == LC_CTYPE_EUC) { - if (iseuc3byte(c)) { - if (i + 2 >= count) { - if (i + 2 == count) { - remain = 1; - break; + if(current_locale == LC_CTYPE_EUC) { + if(iseuc3byte(c)) { + if(i + 2 >= count) { + if(i + 2 == count) { + remain = 1; + break; } else - remain = 2; + remain = 2; } else - i += 2; - } else if (iseuc2byte(c)) { - if (i + 1 >= count) - remain = 1; + i += 2; + } else if(iseuc2byte(c)) { + if(i + 1 >= count) + remain = 1; else - i++; + i++; } } else { - if (issjis1(c)) { - if (i + 1 >= count) - remain = 1; + if(issjis1(c)) { + if(i + 1 >= count) + remain = 1; else - i++; + i++; } } #endif - } - if (remain) { - if ((i = read(STDIN, &buff[count], remain)) > 0) - count += i; + if(remain) { + if((i = read(STDIN, &buff[count], remain)) > 0) + count += i; } buff[count] = 0; - wnum = mbstowcs((wchar16_t *) wcbuff, (char *) buff, count); - if ((wnum == 0) && count) { + wnum = mbstowcs((wchar16_t*)wcbuff, (char*)buff, count); + if((wnum == 0) && count) { wnum = count; - for ( i = 0; i <= count; i++) - wcbuff[i] = (wchar16_t) 0; + for(i = 0; i <= count; i++) + wcbuff[i] = (wchar16_t)0; } - if (wnum > n) { + if(wnum > n) { backup = wcbuff[--wnum]; } - memcpy((void *) s, (void *) wcbuff, wnum * sizeof(wchar16_t)); - return(wnum); + memcpy((void*)s, (void*)wcbuff, wnum * sizeof(wchar16_t)); + return (wnum); } -SJ_warnning (s) -wchar16_t *s; +SJ_warnning(s) + wchar16_t* s; { - SJ_print (s); + SJ_print(s); } -SJ_print (s) -wchar16_t *s; +SJ_print(s) + wchar16_t* s; { unsigned char buff[BUFFLENGTH * 3]; - size_t num; + size_t num; - num = wcstombs((char *) buff, s, (size_t ) (BUFFLENGTH * 3)); - if ((int) num > 0) - printf("%s", buff); + num = wcstombs((char*)buff, s, (size_t)(BUFFLENGTH * 3)); + if((int)num > 0) + printf("%s", buff); } -SJ_through (s, n) -wchar16_t *s; -int n; +SJ_through(s, n) + wchar16_t* s; +int n; { - SJ_write (s, n); + SJ_write(s, n); } - diff --git a/sjrc.c b/sjrc.c index 197c8cf..e87f053 100644 --- a/sjrc.c +++ b/sjrc.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,11 @@ */ /* - * $SonyRCSfile: sjrc.c,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: sjrc.c,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1997/01/23 11:26:31 $ */ - - - #include #include #include @@ -45,96 +42,89 @@ #include "sjtool.h" struct wordent { - char word_str[MAXWORD]; - }; - -extern char home_dir[]; -extern char term_name[]; - -char RCfile[LONGLENGTH]; - -static char *rcfile = ".sjrc"; - - -static int user_euc = 0; -static int file_code = SYS_SJIS; - -void setrc(); -int set_dict(), set_server(); - -struct functbl { - char *keyword; - int (*func)(); -} funcs[] = { - {"dictionary", set_dict}, - {"userdic", set_dict}, - {"server", set_server}, - {NULL, NULL} + char word_str[MAXWORD]; }; -#define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) +extern char home_dir[]; +extern char term_name[]; -int -sjset_code() -{ - char *loc; +char RCfile[LONGLENGTH]; -#ifdef LACKOF_SETLOCALE - loc = getenv("LANG"); +static char* rcfile = ".sjrc"; + +static int user_euc = 0; +static int file_code = SYS_SJIS; + +void setrc(); +int set_dict(), set_server(); + +struct functbl { + char* keyword; + int (*func)(); +} funcs[] = { + {"dictionary", set_dict}, + {"userdic", set_dict}, + {"server", set_server}, + {NULL, NULL}}; + +#define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) + +int sjset_code() { + char* loc; + +#ifdef LACKOF_SETLOCALE + loc = getenv("LANG"); #else loc = setlocale(LC_CTYPE, ""); #endif - if (!loc) { + if(!loc) { fprintf(stderr, "Error: can't get current locale\n"); exit(1); } - if (strncmp(loc, "ja_JP.SJIS", 10) == 0) { + if(strncmp(loc, "ja_JP.SJIS", 10) == 0) { user_euc = 0; - } else if (strncmp(loc, "ja", 2) == 0 || - strncmp(loc, "Ja", 2) == 0) { - user_euc = 1; + } else if(strncmp(loc, "ja", 2) == 0 || + strncmp(loc, "Ja", 2) == 0) { + user_euc = 1; file_code = -1; - } else + } else #ifdef __sony_news - return 0; + return 0; #else - { - fprintf(stderr, "Warrning: In this locale japanese will not be used.\n"); - user_euc = 1; - file_code = -1; - } + { + fprintf(stderr, "Warrning: In this locale japanese will not be used.\n"); + user_euc = 1; + file_code = -1; + } #endif return 1; } - -int -getsjrc () -{ - FILE *fd; - char *p; +int getsjrc() { + FILE* fd; + char* p; sjset_code(); RCfile[0] = '\0'; - if ((p = getenv("SJRC")) != NULL && *p != '\0') { - if (*p != '/') { + if((p = getenv("SJRC")) != NULL && *p != '\0') { + if(*p != '/') { strcpy(RCfile, home_dir); strcat(RCfile, "/"); } strcat(RCfile, p); - if ((fd = fopen (RCfile, "r")) != NULL) { - setrc (RCfile, fd); - fclose (fd); + if((fd = fopen(RCfile, "r")) != NULL) { + setrc(RCfile, fd); + fclose(fd); return TRUE; } - } - if (home_dir[0] != '\0') { + } + if(home_dir[0] != '\0') { strcpy(RCfile, home_dir); strcat(RCfile, "/"); strcat(RCfile, rcfile); - if ((fd = fopen (RCfile, "r")) != NULL) { - setrc (RCfile, fd); - fclose (fd); + if((fd = fopen(RCfile, "r")) != NULL) { + setrc(RCfile, fd); + fclose(fd); return TRUE; } } @@ -142,81 +132,76 @@ getsjrc () return FALSE; } - void -setrc (file, fd) -char *file; -FILE *fd; + setrc(file, fd) char* file; +FILE* fd; { char line[MAXLINE]; - int w; - struct wordent word[WORDN]; - char *p; - struct functbl *functp; + int w; + struct wordent word[WORDN]; + char* p; + struct functbl* functp; - while ((p = fgets (line, MAXLINE, fd)) != NULL) { - if ((w = getword(line, word)) <= 0) + while((p = fgets(line, MAXLINE, fd)) != NULL) { + if((w = getword(line, word)) <= 0) continue; functp = funcs; - p = word[0].word_str; - while (functp->keyword != NULL) { - if (much(p, functp->keyword)) { - if (functp->func) (*(functp->func))(word); - break;; + p = word[0].word_str; + while(functp->keyword != NULL) { + if(much(p, functp->keyword)) { + if(functp->func) (*(functp->func))(word); + break; + ; } functp++; } } } - -int -much(s1, s2) +int much(s1, s2) char *s1, *s2; { char c1, c2; - if (s1 == NULL) + if(s1 == NULL) return 0; - while (*s2 != '\0') { + while(*s2 != '\0') { c1 = *s1++; c2 = *s2++; - if (TOLOWER(c1) != TOLOWER(c2)) + if(TOLOWER(c1) != TOLOWER(c2)) return 0; } return 1; } - -int -getword (s, word) -char *s; -struct wordent word[]; +int getword(s, word) +char* s; +struct wordent word[]; { - unsigned char c, cc; - char *p; - int i, wcount; + unsigned char c, cc; + char* p; + int i, wcount; - if (IsDelimitor(*s)) { + if(IsDelimitor(*s)) { s++; } else { p = s; while(!IsDelimitor(*s)) { - if (IsTerminator(*s) || isTerminator(*s)) + if(IsTerminator(*s) || isTerminator(*s)) break; s++; } *s++ = '\0'; - if (much(p, term_name) == 0) + if(much(p, term_name) == 0) return 0; } i = wcount = 0; - p = word[wcount].word_str; - while (*s != '\0') { + p = word[wcount].word_str; + while(*s != '\0') { c = *s++; - if (file_code == SYS_SJIS) { - if (issjis1(c) && issjis2(*s)) { - if (i < MAXWORD - 2) { + if(file_code == SYS_SJIS) { + if(issjis1(c) && issjis2(*s)) { + if(i < MAXWORD - 2) { *p++ = c; *p++ = *s; i += 2; @@ -224,98 +209,92 @@ struct wordent word[]; s++; continue; } - } else if (file_code == SYS_EUC) { - if (iseuc(c) && iseuc(*s)) { - if (i < MAXWORD - 2) { - cc = (c << 8) + (*s & 0xff); - cc = euc2sjis(cc); + } else if(file_code == SYS_EUC) { + if(iseuc(c) && iseuc(*s)) { + if(i < MAXWORD - 2) { + cc = (c << 8) + (*s & 0xff); + cc = euc2sjis(cc); *p++ = (cc >> 8) & 0xff; *p++ = cc & 0xff; i += 2; } s++; continue; - } - if (iseuckana(c) && iskana2(*s)) + } + if(iseuckana(c) && iskana2(*s)) c = *s++; } else { - if (issjis1(c) && issjis2(*s)) { + if(issjis1(c) && issjis2(*s)) { file_code = SYS_SJIS; s--; continue; } - if ((iseuc(c) && iseuc(*s)) || - (iseuckana(c) && iskana2(*s))) { + if((iseuc(c) && iseuc(*s)) || + (iseuckana(c) && iskana2(*s))) { file_code = SYS_EUC; s--; continue; } } - if (isTerminator(c)) + if(isTerminator(c)) break; - if (IsDelimitor(c)) { - if (i > 0) { - if (++wcount >= WORDN - 1) + if(IsDelimitor(c)) { + if(i > 0) { + if(++wcount >= WORDN - 1) break; *p = '\0'; - i = 0; - p = word[wcount].word_str; + i = 0; + p = word[wcount].word_str; } continue; } - if (IsEscape(c)) + if(IsEscape(c)) c = *s++; - if (IsTerminator(c)) + if(IsTerminator(c)) break; - if (i < MAXWORD - 1) { + if(i < MAXWORD - 1) { *p++ = c; i++; } } *p = '\0'; - if (word[wcount].word_str[0] != '\0') + if(word[wcount].word_str[0] != '\0') word[++wcount].word_str[0] = '\0'; return wcount; } -int -IsTerminator (c) -unsigned char c; +int IsTerminator(c) +unsigned char c; { return (c == '\n') ? 1 : 0; } -int -isTerminator (c) -unsigned char c; +int isTerminator(c) +unsigned char c; { return (c == '#') ? 1 : 0; } -int -IsEscape (c) -unsigned char c; +int IsEscape(c) +unsigned char c; { return (c == '\\') ? 1 : 0; } -int -IsDelimitor (c) -unsigned char c; +int IsDelimitor(c) +unsigned char c; { return (c == ' ' || c == '\t' || c == '.') ? 1 : 0; } -int -set_dict (word) -struct wordent word[]; +int set_dict(word) +struct wordent word[]; { setdicname(word[1].word_str); } -int -set_server(word) -struct wordent word[]; +int set_server(word) +struct wordent word[]; { setsjserv(word[1].word_str); } diff --git a/sjrc2.c b/sjrc2.c index e6b9912..89a8dcb 100644 --- a/sjrc2.c +++ b/sjrc2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,13 +28,11 @@ */ /* - * $SonyRCSfile: sjrc.c,v $ - * $SonyRevision: 1.4 $ + * $SonyRCSfile: sjrc.c,v $ + * $SonyRevision: 1.4 $ * $SonyDate: 1997/01/23 11:20:54 $ */ - - #include "wchar16.h" #include "kctype.h" #if defined(__sony_news) && defined(SVR4) @@ -45,488 +43,460 @@ #include #include "Paths.h" -int vflag = 1; -extern int shell_flag; +int vflag = 1; +extern int shell_flag; -char RCfile[LONGLENGTH]; -extern char shellprog[]; -extern char home[]; -extern char term_name[]; -extern int current_locale; +char RCfile[LONGLENGTH]; +extern char shellprog[]; +extern char home[]; +extern char term_name[]; +extern int current_locale; -#define GUIDELEN 80 +#define GUIDELEN 80 -wchar16_t guide_sj2[GUIDELEN]; -wchar16_t guide_buffer[GUIDELEN]; -wchar16_t guide_unbuffer[GUIDELEN]; -wchar16_t guide_hira[GUIDELEN]; -wchar16_t guide_zkata[GUIDELEN]; -wchar16_t guide_hkata[GUIDELEN]; -wchar16_t guide_halpha[GUIDELEN]; -wchar16_t guide_zalpha[GUIDELEN]; -wchar16_t guide_shift[GUIDELEN]; -wchar16_t guide_jis[GUIDELEN]; -wchar16_t guide_kuten[GUIDELEN]; -wchar16_t guide_etc[GUIDELEN]; -wchar16_t guide_etcfunc[GUIDELEN]; -wchar16_t guide_function[GUIDELEN]; +wchar16_t guide_sj2[GUIDELEN]; +wchar16_t guide_buffer[GUIDELEN]; +wchar16_t guide_unbuffer[GUIDELEN]; +wchar16_t guide_hira[GUIDELEN]; +wchar16_t guide_zkata[GUIDELEN]; +wchar16_t guide_hkata[GUIDELEN]; +wchar16_t guide_halpha[GUIDELEN]; +wchar16_t guide_zalpha[GUIDELEN]; +wchar16_t guide_shift[GUIDELEN]; +wchar16_t guide_jis[GUIDELEN]; +wchar16_t guide_kuten[GUIDELEN]; +wchar16_t guide_etc[GUIDELEN]; +wchar16_t guide_etcfunc[GUIDELEN]; +wchar16_t guide_function[GUIDELEN]; -wchar16_t guide_euc[GUIDELEN]; -wchar16_t guide_euc2[GUIDELEN]; -wchar16_t guide_jis2[GUIDELEN]; -wchar16_t guide_kuten2[GUIDELEN]; -static char *rcfile = ".sjrc"; -static char *rkfile = ".sjrk"; +wchar16_t guide_euc[GUIDELEN]; +wchar16_t guide_euc2[GUIDELEN]; +wchar16_t guide_jis2[GUIDELEN]; +wchar16_t guide_kuten2[GUIDELEN]; +static char* rcfile = ".sjrc"; +static char* rkfile = ".sjrk"; -static int intr_code = 0x03; -static char goto_code[LONGLENGTH]; -static int goto_num = 0; -static char trap_code[LONGLENGTH]; -static int trap_num = 0; -static int def_muhenkan = KEY_HALPHA; -static int def_muedit = KEY_ZHIRA; -static int muhenkan_toggle = 1; -static int bstudy = 1; +static int intr_code = 0x03; +static char goto_code[LONGLENGTH]; +static int goto_num = 0; +static char trap_code[LONGLENGTH]; +static int trap_num = 0; +static int def_muhenkan = KEY_HALPHA; +static int def_muedit = KEY_ZHIRA; +static int muhenkan_toggle = 1; +static int bstudy = 1; -char **dict_list = NULL; -int dict_num = 0; +char** dict_list = NULL; +int dict_num = 0; -#define SJ3_NO -1 -#define SJ3_SJIS 0 -#define SJ3_EUC 1 +#define SJ3_NO -1 +#define SJ3_SJIS 0 +#define SJ3_EUC 1 - -static int user_euc = 0; -static int file_code = SJ3_NO; -static int locale_code = SJ3_SJIS; -extern wchar16_t *Key, *Escape, *Sjxkey, *Etckey, *Intr, *Bskey, *Delkey, - *Setnormal, *Throughnext, *Initialmode, *Helpmode, - *Defaultcode, *Muhenkanmode, *Muhenkaninedit, *Muhenkantoggle, - *Guide, *Forkshell, *Execshell, *Dictionary, *Userdic, - *Maindic, *Romaji, *Bstrudy, *Silent, *Flushafterconversion, - *Rkerrbell, *Server; -extern wchar16_t *Halpha, *Zalpha, *Hkata, *Zkata, *Hira; +static int user_euc = 0; +static int file_code = SJ3_NO; +static int locale_code = SJ3_SJIS; +extern wchar16_t *Key, *Escape, *Sjxkey, *Etckey, *Intr, *Bskey, *Delkey, + *Setnormal, *Throughnext, *Initialmode, *Helpmode, + *Defaultcode, *Muhenkanmode, *Muhenkaninedit, *Muhenkantoggle, + *Guide, *Forkshell, *Execshell, *Dictionary, *Userdic, + *Maindic, *Romaji, *Bstrudy, *Silent, *Flushafterconversion, + *Rkerrbell, *Server; +extern wchar16_t *Halpha, *Zalpha, *Hkata, *Zkata, *Hira; extern wchar16_t *Shiftjis, *Sjis, *Euc, *Euc2, *Jis, *Jis2, *Kuten, *Kuten2; -int set_func(), set_etckeys(), set_intr(), - set_delkey(), set_goto(), set_trap(), set_init_mode(), - set_helpmenu(), set_defcode(), set_muhenkan(), set_muedit(), - set_m_toggle(), set_guide(), set_forkshell(), set_bstudy(), - set_silent(), set_flush_conversion(), set_rkebell(), set_server(), - set_dicts(); - +int set_func(), set_etckeys(), set_intr(), + set_delkey(), set_goto(), set_trap(), set_init_mode(), + set_helpmenu(), set_defcode(), set_muhenkan(), set_muedit(), + set_m_toggle(), set_guide(), set_forkshell(), set_bstudy(), + set_silent(), set_flush_conversion(), set_rkebell(), set_server(), + set_dicts(); extern struct functbl funcs[]; -extern struct valtbl mode_val[], code_val[]; +extern struct valtbl mode_val[], code_val[]; -#define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) +#define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) -sjset_code() -{ - char *loc; +sjset_code() { + char* loc; - if (current_locale == LC_CTYPE_EUC) { + if(current_locale == LC_CTYPE_EUC) { locale_code = SJ3_EUC; - user_euc = 1; - file_code = SJ3_NO; + user_euc = 1; + file_code = SJ3_NO; } else user_euc = 0; } - -sjrc_init () -{ - clear_del (); - clear_key (); - intr_code = 0x03; - goto_num = 0; - trap_num = 0; - def_muhenkan = KEY_HALPHA; - def_muedit = KEY_ZHIRA; - muhenkan_toggle = 1; - bstudy = 1; + +sjrc_init() { + clear_del(); + clear_key(); + intr_code = 0x03; + goto_num = 0; + trap_num = 0; + def_muhenkan = KEY_HALPHA; + def_muedit = KEY_ZHIRA; + muhenkan_toggle = 1; + bstudy = 1; flush_conversion = 0; - if (dict_list) { - if (dict_list[0]) free(dict_list[0]); + if(dict_list) { + if(dict_list[0]) free(dict_list[0]); free(dict_list); dict_list = NULL; } dict_num = 0; } - - -getsjrc () -{ - char *p; - char *getenv(); +getsjrc() { + char* p; + char* getenv(); sjset_code(); mk_cvtkey(term_name); RCfile[0] = '\0'; - if ((p = getenv("SJRC")) != NULL && *p != '\0') { - if (*p != '/') { + if((p = getenv("SJRC")) != NULL && *p != '\0') { + if(*p != '/') { strcpy(RCfile, home); strcat(RCfile, "/"); } strcat(RCfile, p); - if (setrc(RCfile) == TRUE) + if(setrc(RCfile) == TRUE) return; - } - if (home[0] != '\0') { + } + if(home[0] != '\0') { strcpy(RCfile, home); strcat(RCfile, "/"); strcat(RCfile, rcfile); - if (setrc(RCfile) == TRUE) + if(setrc(RCfile) == TRUE) return; } - strcpy(RCfile, DEFRCFILE); - if (setrc(RCfile) == TRUE) - return; + strcpy(RCfile, DEFRCFILE); + if(setrc(RCfile) == TRUE) + return; RCfile[0] = '\0'; } - - -setrc (file) -char *file; +setrc(file) char* file; { - wchar16_t *p; + wchar16_t* p; char line[MAXLINE]; struct wordent word[WORDN]; - struct functbl *functp; - FILE *fd, *fopen(); + struct functbl* functp; + FILE * fd, *fopen(); - if (vflag > 1) - aprintf ("sjrc file is %s\n", file); + if(vflag > 1) + aprintf("sjrc file is %s\n", file); - if ((fd = fopen(RCfile, "r")) == NULL) - return(FALSE); - sjrc_init (); - while (fgets (line, MAXLINE, fd) != NULL) { - if (getword(line, word) <= 0) + if((fd = fopen(RCfile, "r")) == NULL) + return (FALSE); + sjrc_init(); + while(fgets(line, MAXLINE, fd) != NULL) { + if(getword(line, word) <= 0) continue; functp = funcs; - p = word[0].word_str; - while (functp->keyword != NULL) { - if (match(p, functp->keyword)) { + p = word[0].word_str; + while(functp->keyword != NULL) { + if(match(p, functp->keyword)) { (*(functp->func))(word); - break;; + break; + ; } functp++; } } fclose(fd); - return(TRUE); + return (TRUE); } - - -getsjrk (erase) -int erase; +getsjrk(erase) int erase; { - char *p; - int i; - char *getenv(); - char RKfile[LONGLENGTH]; + char* p; + int i; + char* getenv(); + char RKfile[LONGLENGTH]; RKfile[0] = '\0'; sj3_rkcode(1); - if ((p = getenv("SJRK")) != NULL && *p != '\0') { - if (*p != '/') { + if((p = getenv("SJRK")) != NULL && *p != '\0') { + if(*p != '/') { strcpy(RKfile, home); strcat(RKfile, "/"); } strcat(RKfile, p); - if ((i = sj3_rkinit2(RKfile, erase)) == TRUE) { - if (!oasys) + if((i = sj3_rkinit2(RKfile, erase)) == TRUE) { + if(!oasys) mkkigou(); return; } - if (i == FALSE) + if(i == FALSE) done3(); - } - if (home[0] != '\0') { + } + if(home[0] != '\0') { strcpy(RKfile, home); strcat(RKfile, "/"); strcat(RKfile, rkfile); - if ((i = sj3_rkinit2(RKfile, erase)) == TRUE) { - if (!oasys) + if((i = sj3_rkinit2(RKfile, erase)) == TRUE) { + if(!oasys) mkkigou(); return; } - if (i == FALSE) + if(i == FALSE) done3(); } sj3_rkcode(0); - if ((i = sj3_rkinit2(DEFRKFILE, erase)) != TRUE) { - if (i == 1) { + if((i = sj3_rkinit2(DEFRKFILE, erase)) != TRUE) { + if(i == 1) { fprintf(stderr, "Warning cannot open rule file %s\n\r", DEFRKFILE); (void)sj3_rkinit2("/dev/null", erase); } else done3(); } - if (!oasys) + if(!oasys) mkkigou(); } - - match(s1, s2) -wchar16_t *s1, *s2; + wchar16_t* s1, + *s2; { wchar16_t c1, c2; - if (s1 == NULL) - return(0); - while (*s2 != '\0') { + if(s1 == NULL) + return (0); + while(*s2 != '\0') { c1 = *s1++; c2 = *s2++; - if (TOLOWER(WcLowByte(c1)) != TOLOWER(WcLowByte(c2))) - return(0); + if(TOLOWER(WcLowByte(c1)) != TOLOWER(WcLowByte(c2))) + return (0); } - return(1); + return (1); } - -getword (s, word) -unsigned char *s; -struct wordent word[]; +getword(s, word) unsigned char* s; +struct wordent word[]; { - unsigned char c; - wchar16_t *w; - wchar16_t wcbuf[MAXLINE*2]; - wchar16_t ttmp[MAXLINE]; - unsigned char buf[MAXLINE*2]; - unsigned char *p; - int i, wcount; + unsigned char c; + wchar16_t* w; + wchar16_t wcbuf[MAXLINE * 2]; + wchar16_t ttmp[MAXLINE]; + unsigned char buf[MAXLINE * 2]; + unsigned char* p; + int i, wcount; unsigned short cc; - if (IsDelimitor(*s)) { + if(IsDelimitor(*s)) { s++; } else { p = s; while(!IsDelimitor(*s)) { - if (IsTerminator(*s) || isTerminator(*s)) + if(IsTerminator(*s) || isTerminator(*s)) break; s++; } *s++ = '\0'; - if (file_code == locale_code) { - (void) mbstowcs(wcbuf, (char *)p, MAXLINE*2); + if(file_code == locale_code) { + (void)mbstowcs(wcbuf, (char*)p, MAXLINE * 2); } else { - if (file_code == SJ3_SJIS) { - (void) sjistoeuc(buf, MAXLINE*2, (unsigned char *)p, MAXLINE); - } else if (file_code == SJ3_EUC) { - (void) euctosjis(buf, MAXLINE*2, (unsigned char *)p, MAXLINE); + if(file_code == SJ3_SJIS) { + (void)sjistoeuc(buf, MAXLINE * 2, (unsigned char*)p, MAXLINE); + } else if(file_code == SJ3_EUC) { + (void)euctosjis(buf, MAXLINE * 2, (unsigned char*)p, MAXLINE); } else { - (void) strcpy(buf, p); + (void)strcpy(buf, p); } - (void) mbstowcs(wcbuf, (char *)buf, MAXLINE*2); + (void)mbstowcs(wcbuf, (char*)buf, MAXLINE * 2); } - (void) mbstowcs(ttmp, term_name, MAXLINE); - if (match(wcbuf, ttmp) == 0) - return(0); + (void)mbstowcs(ttmp, term_name, MAXLINE); + if(match(wcbuf, ttmp) == 0) + return (0); } i = wcount = 0; - w = word[wcount].word_str; - while (*s != '\0') { + w = word[wcount].word_str; + while(*s != '\0') { c = *s++; - if (file_code == SJ3_SJIS) { - if (issjis1(c) && issjis2(*s)) { - if (i < MAXWORD - 1) { - cc = (c << 8) + *s; + if(file_code == SJ3_SJIS) { + if(issjis1(c) && issjis2(*s)) { + if(i < MAXWORD - 1) { + cc = (c << 8) + *s; *w++ = sjis2euc(cc); - i ++ ; + i++; } s++; continue; } - } else if (file_code == SJ3_EUC) { - if (iseuc(c) && iseuc(*s)) { - if (i < MAXWORD - 1) { + } else if(file_code == SJ3_EUC) { + if(iseuc(c) && iseuc(*s)) { + if(i < MAXWORD - 1) { *w++ = (c << 8) + (*s & 0xff); - i ++; + i++; } s++; continue; - } - if (iseuckana(c) && iskana2(*s)) + } + if(iseuckana(c) && iskana2(*s)) c = *s++; - if (IsEUCHojo(c) && iseuc(*s) && iseuc(s[1])) { - cc = WcSetX0212(*s, s[1]); + if(IsEUCHojo(c) && iseuc(*s) && iseuc(s[1])) { + cc = WcSetX0212(*s, s[1]); *w++ = cc; - s += 2; + s += 2; continue; } } else { - if (issjis1(c) && issjis2(*s)) { + if(issjis1(c) && issjis2(*s)) { file_code = SJ3_SJIS; s--; continue; } - if ((iseuc(c) && iseuc(*s)) || - (iseuckana(c) && iskana2(*s)) || - (IsEUCHojo(c) && iseuc(*s) && iseuc(s[1]))) { + if((iseuc(c) && iseuc(*s)) || + (iseuckana(c) && iskana2(*s)) || + (IsEUCHojo(c) && iseuc(*s) && iseuc(s[1]))) { file_code = SJ3_EUC; s--; continue; } } - if (isTerminator(c)) + if(isTerminator(c)) break; - if (IsDelimitor(c)) { - if (i > 0) { - if (++wcount >= WORDN - 1) + if(IsDelimitor(c)) { + if(i > 0) { + if(++wcount >= WORDN - 1) break; *w = '\0'; - i = 0; - w = word[wcount].word_str; + i = 0; + w = word[wcount].word_str; } continue; } - if (IsEscape(c)) + if(IsEscape(c)) c = *s++; - if (IsTerminator(c)) + if(IsTerminator(c)) break; - if (i < MAXWORD - 1) { + if(i < MAXWORD - 1) { *w++ = c; i++; } } *w = '\0'; - if (word[wcount].word_str[0] != '\0') + if(word[wcount].word_str[0] != '\0') word[++wcount].word_str[0] = '\0'; - return(wcount); + return (wcount); } -IsTerminator (c) -unsigned char c; +IsTerminator(c) unsigned char c; { - if (c == '\n') + if(c == '\n') return (1); else return (0); } -isTerminator (c) -unsigned char c; +isTerminator(c) unsigned char c; { - if (c == '#') + if(c == '#') return (1); else return (0); } -IsEscape (c) -unsigned char c; +IsEscape(c) unsigned char c; { - if (c == '\\') + if(c == '\\') return (1); else return (0); } -IsDelimitor (c) -unsigned char c; +IsDelimitor(c) unsigned char c; { - if (c == ' ' || c == '\t' || c == '.') + if(c == ' ' || c == '\t' || c == '.') return (1); else return (0); } -set_forkshell (word) -struct wordent word[]; +set_forkshell(word) struct wordent word[]; { - if (word[1].word_str[0] != '\0' && shellprog[0] == '\0') { -/* - * Remove warning. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ - strcpy (shellprog, (char *)word[1].word_str); + if(word[1].word_str[0] != '\0' && shellprog[0] == '\0') { + /* + * Remove warning. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 + */ + strcpy(shellprog, (char*)word[1].word_str); shell_flag++; } } -set_intr (word) -struct wordent word[]; +set_intr(word) struct wordent word[]; { - int c; + int c; - if (word[1].word_str[0] != '\0') - if ((c = eval_key (word[1].word_str)) != -1) + if(word[1].word_str[0] != '\0') + if((c = eval_key(word[1].word_str)) != -1) intr_code = c; } -set_delkey (word) -struct wordent word[]; +set_delkey(word) struct wordent word[]; { - int c; + int c; - if (word[1].word_str[0] != '\0') - if ((c = eval_key (word[1].word_str)) != -1) - set_del (c); + if(word[1].word_str[0] != '\0') + if((c = eval_key(word[1].word_str)) != -1) + set_del(c); } -isintr (c) -unsigned char c; +isintr(c) unsigned char c; { - if (c == intr_code) + if(c == intr_code) return (1); else return (0); } -set_goto (word) -struct wordent word[]; +set_goto(word) struct wordent word[]; { - int c; + int c; - if (word[1].word_str[0] != '\0') - if ((c = eval_key (word[1].word_str)) != -1) - goto_code[goto_num ++] = c; + if(word[1].word_str[0] != '\0') + if((c = eval_key(word[1].word_str)) != -1) + goto_code[goto_num++] = c; } -IsGoto (c) -unsigned char c; +IsGoto(c) unsigned char c; { - int i; + int i; - for (i = 0 ; i < goto_num ; i ++) { - if (c == goto_code[i]) + for(i = 0; i < goto_num; i++) { + if(c == goto_code[i]) return (1); } return (0); } -set_trap (word) -struct wordent word[]; +set_trap(word) struct wordent word[]; { - int c; + int c; - if (word[1].word_str[0] != '\0') - if ((c = eval_key (word[1].word_str)) != -1) - trap_code[trap_num ++] = c; + if(word[1].word_str[0] != '\0') + if((c = eval_key(word[1].word_str)) != -1) + trap_code[trap_num++] = c; } -IsTrap (c) -unsigned char c; +IsTrap(c) unsigned char c; { - int i; + int i; - for (i = 0 ; i < trap_num ; i ++) { - if (c == trap_code[i]) + for(i = 0; i < trap_num; i++) { + if(c == trap_code[i]) return (1); } return (0); } -mode_key (mode) -int mode; +mode_key(mode) int mode; { - switch (mode) { + switch(mode) { case MODE_HALPHA: return (KEY_HALPHA); break; @@ -546,28 +516,27 @@ int mode; } } -int Direct = 0; +int Direct = 0; -set_init_mode (word) -struct wordent word[]; +set_init_mode(word) struct wordent word[]; { - Conversion *cv; - int i, j; - wchar16_t *p; + Conversion* cv; + int i, j; + wchar16_t* p; - cv = GetConversion (); - j = 1; - p = word[j].word_str; - while (*p != '\0') { - if (match (p, WCBuff)) + cv = GetConversion(); + j = 1; + p = word[j].word_str; + while(*p != '\0') { + if(match(p, WCBuff)) cv->BuffMode = BUFF; - else if (match (p, WCUnbuff)) + else if(match(p, WCUnbuff)) cv->BuffMode = UNBUFF; - else if (match (p, WCDirect)) + else if(match(p, WCDirect)) Direct = 1; else { - for (i = 0 ; i < 5 ; i ++) { - if (match (p, mode_val[i].keyword)) { + for(i = 0; i < 5; i++) { + if(match(p, mode_val[i].keyword)) { cv->Imode = mode_val[i].ivalue; break; } @@ -577,283 +546,250 @@ struct wordent word[]; } } -set_helpmenu (word) -struct wordent word[]; +set_helpmenu(word) struct wordent word[]; { - if (match (word[1].word_str, WCOff)) + if(match(word[1].word_str, WCOff)) HHlevel = Hlevel = 1; - else if (match (word[1].word_str, WCOn)) + else if(match(word[1].word_str, WCOn)) HHlevel = Hlevel = 2; } -set_defcode (word) -struct wordent word[]; +set_defcode(word) struct wordent word[]; { - wchar16_t *p; - int i; - + wchar16_t* p; + int i; + p = word[1].word_str; - for (i = 0; i < 5; i++) { - if (match(p, code_val[i].keyword)) { + for(i = 0; i < 5; i++) { + if(match(p, code_val[i].keyword)) { SetCode(code_val[i].ivalue); break; } } } -set_muhenkan (word) -struct wordent word[]; +set_muhenkan(word) struct wordent word[]; { - int i; - wchar16_t *p; + int i; + wchar16_t* p; p = word[1].word_str; - for (i = 0 ; i < 5 ; i ++) { - if (match (p, mode_val[i].keyword)) { - def_muhenkan = mode_key (mode_val[i].ivalue); + for(i = 0; i < 5; i++) { + if(match(p, mode_val[i].keyword)) { + def_muhenkan = mode_key(mode_val[i].ivalue); break; } } } -set_muedit (word) -struct wordent word[]; +set_muedit(word) struct wordent word[]; { - int i; - wchar16_t *p; + int i; + wchar16_t* p; p = word[1].word_str; - for (i = 0 ; i < 5 ; i ++) { - if (match (p, mode_val[i].keyword)) { - def_muedit = mode_key (mode_val[i].ivalue); + for(i = 0; i < 5; i++) { + if(match(p, mode_val[i].keyword)) { + def_muedit = mode_key(mode_val[i].ivalue); break; } } } -set_m_toggle (word) -struct wordent word[]; +set_m_toggle(word) struct wordent word[]; { - if (match (word[1].word_str, WCOn)) + if(match(word[1].word_str, WCOn)) muhenkan_toggle = 1; - if (match (word[1].word_str, WCOff)) + if(match(word[1].word_str, WCOff)) muhenkan_toggle = 0; } -set_silent (word) -struct wordent word[]; +set_silent(word) struct wordent word[]; { vflag = 0; } -set_bstudy (word) -struct wordent word[]; +set_bstudy(word) struct wordent word[]; { - if (match (word[1].word_str, WCOn)) + if(match(word[1].word_str, WCOn)) bstudy = 1; - if (match (word[1].word_str, WCOff)) + if(match(word[1].word_str, WCOff)) bstudy = 0; } -is_bstudy () -{ +is_bstudy() { return (bstudy); } -eval_muhenkan () -{ - Conversion *cv; +eval_muhenkan() { + Conversion* cv; - cv = GetConversion (); - if (muhenkan_toggle && (KEY_ZHIRA != mode_key (cv->Imode))) + cv = GetConversion(); + if(muhenkan_toggle && (KEY_ZHIRA != mode_key(cv->Imode))) return (KEY_ZHIRA); else return (def_muhenkan); } -value_muhenkan () -{ +value_muhenkan() { return (def_muedit); } -set_guide (word) -struct wordent word[]; +set_guide(word) struct wordent word[]; { - int i; + int i; - if (*word[2].word_str == '\0') { + if(*word[2].word_str == '\0') { return; - } - else if (match (word[1].word_str, WCSj2)) { - wscpy (guide_sj2, word[2].word_str); + } else if(match(word[1].word_str, WCSj2)) { + wscpy(guide_sj2, word[2].word_str); WCSJrun = guide_sj2; - } - else if (match (word[1].word_str, WCBuffer)) { - wscpy (guide_buffer, word[2].word_str); + } else if(match(word[1].word_str, WCBuffer)) { + wscpy(guide_buffer, word[2].word_str); WCMode_buff = guide_buffer; - } - else if (match (word[1].word_str, WCUnbuffer)) { - wscpy (guide_unbuffer, word[2].word_str); + } else if(match(word[1].word_str, WCUnbuffer)) { + wscpy(guide_unbuffer, word[2].word_str); WCMode_unbuff = guide_unbuffer; - } - else if (match (word[1].word_str, WCHira)) { - wscpy (guide_hira, word[2].word_str); + } else if(match(word[1].word_str, WCHira)) { + wscpy(guide_hira, word[2].word_str); WCMode_Zhira = guide_hira; - } - else if (match (word[1].word_str, WCZkata)) { - wscpy (guide_zkata, word[2].word_str); + } else if(match(word[1].word_str, WCZkata)) { + wscpy(guide_zkata, word[2].word_str); WCMode_Zkata = guide_zkata; - } - else if (match (word[1].word_str, WCHkata)) { - wscpy (guide_hkata, word[2].word_str); + } else if(match(word[1].word_str, WCHkata)) { + wscpy(guide_hkata, word[2].word_str); WCMode_Hkata = guide_hkata; - } - else if (match (word[1].word_str, WCHalpha)) { - wscpy (guide_halpha, word[2].word_str); + } else if(match(word[1].word_str, WCHalpha)) { + wscpy(guide_halpha, word[2].word_str); WCMode_Halpha = guide_halpha; - } - else if (match (word[1].word_str, WCZalpha)) { - wscpy (guide_zalpha, word[2].word_str); + } else if(match(word[1].word_str, WCZalpha)) { + wscpy(guide_zalpha, word[2].word_str); WCMode_Zalpha = guide_zalpha; - } - else if (match (word[1].word_str, WCShift)) { - wscpy (guide_shift, word[2].word_str); + } else if(match(word[1].word_str, WCShift)) { + wscpy(guide_shift, word[2].word_str); WCGCshift = guide_shift; - } - else if (match (word[1].word_str, WCJis)) { - wscpy (guide_jis, word[2].word_str); + } else if(match(word[1].word_str, WCJis)) { + wscpy(guide_jis, word[2].word_str); WCGCjis = guide_jis; - } - else if (match (word[1].word_str, WCJis2)) { - wscpy (guide_jis2, word[2].word_str); + } else if(match(word[1].word_str, WCJis2)) { + wscpy(guide_jis2, word[2].word_str); WCGCjis2 = guide_jis2; - } - else if (match (word[1].word_str, WCKuten)) { - wscpy (guide_kuten, word[2].word_str); + } else if(match(word[1].word_str, WCKuten)) { + wscpy(guide_kuten, word[2].word_str); WCGCkuten = guide_kuten; - } - else if (match (word[1].word_str, WCKuten2)) { - wscpy (guide_kuten2, word[2].word_str); + } else if(match(word[1].word_str, WCKuten2)) { + wscpy(guide_kuten2, word[2].word_str); WCGCkuten2 = guide_kuten2; - } - else if (match (word[1].word_str, WCEuc)) { - wscpy (guide_euc, word[2].word_str); + } else if(match(word[1].word_str, WCEuc)) { + wscpy(guide_euc, word[2].word_str); WCGCeuc = guide_euc; - } - else if (match (word[1].word_str, WCEuc2)) { - wscpy (guide_euc2, word[2].word_str); + } else if(match(word[1].word_str, WCEuc2)) { + wscpy(guide_euc2, word[2].word_str); WCGCeuc2 = guide_euc2; - } - else if (match (word[1].word_str, WCEtc)) { - wscpy (guide_etc, word[2].word_str); + } else if(match(word[1].word_str, WCEtc)) { + wscpy(guide_etc, word[2].word_str); WCGEtc = guide_etc; - } - else if (match (word[1].word_str, WCFuncetc)) { - i = 2; + } else if(match(word[1].word_str, WCFuncetc)) { + i = 2; *guide_etcfunc = '\0'; - while (*word[i].word_str != '\0') { - if (i == 2) - wscat (guide_etcfunc, WCSpace2); + while(*word[i].word_str != '\0') { + if(i == 2) + wscat(guide_etcfunc, WCSpace2); else - wscat (guide_etcfunc, WCSpace); - wscat (guide_etcfunc, word[i].word_str); - i ++; + wscat(guide_etcfunc, WCSpace); + wscat(guide_etcfunc, word[i].word_str); + i++; } WCGetc = guide_etcfunc; - } - else if (match (word[1].word_str, WCFunction)) { - i = 2; + } else if(match(word[1].word_str, WCFunction)) { + i = 2; *guide_function = '\0'; - while (*word[i].word_str != '\0') { - if (i == 2) - wscat (guide_function, WCSpace2); + while(*word[i].word_str != '\0') { + if(i == 2) + wscat(guide_function, WCSpace2); else - wscat (guide_function, WCSpace); - wscat (guide_function, word[i].word_str); - i ++; + wscat(guide_function, WCSpace); + wscat(guide_function, word[i].word_str); + i++; } WCGmode = guide_function; } } -set_flush_conversion (word) -struct wordent word[]; +set_flush_conversion(word) struct wordent word[]; { - if (match (word[1].word_str, WCOn)) + if(match(word[1].word_str, WCOn)) flush_conversion = 1; - if (match (word[1].word_str, WCOff)) + if(match(word[1].word_str, WCOff)) flush_conversion = 0; } -set_server(word) -struct wordent word[]; +set_server(word) struct wordent word[]; { - int i, j, size; - char *p; - char *sbuf; - extern char *cur_serv, **serv_list; - char host[LONGLENGTH]; - - if (cur_serv != NULL && *cur_serv != '\0') - return; - size = 0; - i = 0; - while (word[i + 1].word_str[0] != '\0') { - if (i >= MAXSERVER) - break; - size += wslen(word[++i].word_str); - size++; - } - if ((sbuf = malloc(size)) == NULL) { - fprintf (stderr, "set_server: can't alloc memory\n\r"); - done3(); - } - p = sbuf; - for (j = 0; j < i; j++) { - serv_list[j] = p; - (void) wcstombs(host, word[j+1].word_str, LONGLENGTH); - strcpy(p, host); - size = strlen(p) + 1; - p += size; - } - cur_serv = serv_list[0]; + int i, j, size; + char* p; + char* sbuf; + extern char *cur_serv, **serv_list; + char host[LONGLENGTH]; + + if(cur_serv != NULL && *cur_serv != '\0') + return; + size = 0; + i = 0; + while(word[i + 1].word_str[0] != '\0') { + if(i >= MAXSERVER) + break; + size += wslen(word[++i].word_str); + size++; + } + if((sbuf = malloc(size)) == NULL) { + fprintf(stderr, "set_server: can't alloc memory\n\r"); + done3(); + } + p = sbuf; + for(j = 0; j < i; j++) { + serv_list[j] = p; + (void)wcstombs(host, word[j + 1].word_str, LONGLENGTH); + strcpy(p, host); + size = strlen(p) + 1; + p += size; + } + cur_serv = serv_list[0]; } #define DICT_SUFFIX ".dic" -set_dict(word) -struct wordent word[]; +set_dict(word) struct wordent word[]; { - int i, j, size, suffix_len; - char *p; - char *sbuf; - char dict[LONGLENGTH]; + int i, j, size, suffix_len; + char* p; + char* sbuf; + char dict[LONGLENGTH]; suffix_len = strlen(DICT_SUFFIX); - size = 0; - i = 0; - while (word[i + 1].word_str[0] != '\0') { - size += wslen(word[++i].word_str) + suffix_len; - size++; - } - if ((sbuf = malloc(size)) == NULL) { - fprintf (stderr, "set_dict: can't alloc memory\n\r"); - done3(); - } - if ((dict_list = (char **)malloc(sizeof(char *) * i)) == NULL) { + size = 0; + i = 0; + while(word[i + 1].word_str[0] != '\0') { + size += wslen(word[++i].word_str) + suffix_len; + size++; + } + if((sbuf = malloc(size)) == NULL) { + fprintf(stderr, "set_dict: can't alloc memory\n\r"); + done3(); + } + if((dict_list = (char**)malloc(sizeof(char*) * i)) == NULL) { free(sbuf); - fprintf (stderr, "set_dict: can't alloc memory\n\r"); - done3(); - } + fprintf(stderr, "set_dict: can't alloc memory\n\r"); + done3(); + } dict_num = i; - p = sbuf; - for (j = 0; j < i; j++) { - dict_list[j] = p; - (void) wcstombs(dict, word[j+1].word_str, LONGLENGTH); - strcpy(p, dict); + p = sbuf; + for(j = 0; j < i; j++) { + dict_list[j] = p; + (void)wcstombs(dict, word[j + 1].word_str, LONGLENGTH); + strcpy(p, dict); strcat(p, DICT_SUFFIX); - size = strlen(p) + 1; - p += size; - } - + size = strlen(p) + 1; + p += size; + } } diff --git a/sjtool.h b/sjtool.h index 70dfc52..f542748 100644 --- a/sjtool.h +++ b/sjtool.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,8 +28,8 @@ */ /* - * $SonyRCSfile: sjtool.h,v $ - * $SonyRevision: 1.2 $ + * $SonyRCSfile: sjtool.h,v $ + * $SonyRevision: 1.2 $ * $SonyDate: 1996/02/15 02:22:59 $ */ @@ -37,27 +37,27 @@ #define LACKOF_SETLOCALE #endif -#define LONGLENGTH 256 -#define MAXLINE 256 -#define MAXWORD 256 -#define WORDN 32 +#define LONGLENGTH 256 +#define MAXLINE 256 +#define MAXWORD 256 +#define WORDN 32 -#ifndef SYS_SJIS -# define SYS_SJIS 0 +#ifndef SYS_SJIS +#define SYS_SJIS 0 #endif -#ifndef SYS_EUC -# define SYS_EUC 1 +#ifndef SYS_EUC +#define SYS_EUC 1 #endif -#define TRUE -1 -#define FALSE !(TRUE) +#define TRUE -1 +#define FALSE !(TRUE) -#define EXEC_TEXT 1 -#define EXEC_DICT 2 -#define EXEC_CONV 3 -#define EXEC_INIT 10 -#define EXEC_VERBOSE 11 -#define EXEC_SERVER 12 -#define EXEC_FORCE 13 +#define EXEC_TEXT 1 +#define EXEC_DICT 2 +#define EXEC_CONV 3 +#define EXEC_INIT 10 +#define EXEC_VERBOSE 11 +#define EXEC_SERVER 12 +#define EXEC_FORCE 13 -#define SingleShift2 0x8e +#define SingleShift2 0x8e diff --git a/skiphblk.c b/skiphblk.c index e7f5fb7..c7ee230 100644 --- a/skiphblk.c +++ b/skiphblk.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,28 +28,25 @@ */ /* - * $SonyRCSfile: skiphblk.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: skiphblk.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:24 $ */ - - #include "sj_rename.h" #include "sj_typedef.h" #include "sj_dict.h" -unsigned char *skipkstr(); +unsigned char* skipkstr(); -unsigned char *skiphblk(ptr) -unsigned char *ptr; +unsigned char* skiphblk(ptr) +unsigned char* ptr; { ptr++; - while (*ptr != HinsiBlkTerm) ptr = skipkstr(ptr); + while(*ptr != HinsiBlkTerm) ptr = skipkstr(ptr); ptr++; return ptr; } - diff --git a/skipkstr.c b/skipkstr.c index 591efda..7bc34dd 100644 --- a/skipkstr.c +++ b/skipkstr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -35,18 +35,16 @@ #include "sj_table.h" #include "kanakan.h" - unsigned char* -skipkstr(unsigned char* ptr) -{ - int contf = TRUE, csize; +skipkstr(unsigned char* ptr) { + int contf = TRUE, csize; do { csize = codesize(*ptr); - if (ptr[csize] == KanjiStrEnd) contf = FALSE; + if(ptr[csize] == KanjiStrEnd) contf = FALSE; ptr += csize; - } while (contf); - ptr++; + } while(contf); + ptr++; return ptr; } diff --git a/srchdict.c b/srchdict.c index 8627829..036fe3a 100644 --- a/srchdict.c +++ b/srchdict.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,55 +28,50 @@ */ /* - * $SonyRCSfile: srchdict.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: srchdict.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:26 $ * * $Id$ */ - #include #include #include "sj_kcnv.h" #include "kanakan.h" - -int -yomicmp(unsigned char* ptr1, unsigned char* ptr2, unsigned char* saml) -{ - int i, j; - int same; +int yomicmp(unsigned char* ptr1, unsigned char* ptr2, unsigned char* saml) { + int i, j; + int same; same = *saml; i = getplen(ptr2); j = getnlen(ptr2); - if (j == 0) { + if(j == 0) { ptr2 = get_idxptr(prevseg); - for (i = same ; i ; i--) - if (*ptr1++ != *ptr2++) return OVER; + for(i = same; i; i--) + if(*ptr1++ != *ptr2++) return OVER; j = strlen(ptr2); } - else if (i > same) + else if(i > same) return CONT; else { - if (i < same) same = i; + if(i < same) same = i; ptr1 += same; ptr2 += DouonBlkSizeNumber; } - while (j-- > 0) { - if (*ptr1 > *ptr2) { + while(j-- > 0) { + if(*ptr1 > *ptr2) { *saml = same; return CONT; - } - else if (*ptr1++ < *ptr2++) { + } else if(*ptr1++ < *ptr2++) { return OVER; } same++; @@ -86,24 +81,21 @@ yomicmp(unsigned char* ptr1, unsigned char* ptr2, unsigned char* saml) return MATCH; } - unsigned char* -srchdict(unsigned char* tagp) -{ - TypeDicSeg segno; - int cmp; - int maxlen; +srchdict(unsigned char* tagp) { + TypeDicSeg segno; + int cmp; + int maxlen; maxlen = (cnvlen > MaxWdYomiLen) ? MaxWdYomiLen : cnvlen; - while ((int)dicinl <= maxlen) { - + while((int)dicinl <= maxlen) { segno = srchidx(prevseg, (int)dicinl); (*curdict->getdic)(curdict, segno); - if (prevseg != segno) { + if(prevseg != segno) { prevseg = segno; @@ -114,11 +106,11 @@ srchdict(unsigned char* tagp) tagp = getntag(tagp); - if (segend(tagp)) { + if(segend(tagp)) { prevseg = ++segno; - if (segno >= curdict->segunit) return NULL; + if(segno >= curdict->segunit) return NULL; (*curdict->getdic)(curdict, segno); @@ -126,23 +118,23 @@ srchdict(unsigned char* tagp) } } - if (tagp == dicbuf) { + if(tagp == dicbuf) { get_askknj(); tagp += *tagp + 1; } - while (!segend(tagp)) { + while(!segend(tagp)) { cmp = yomicmp(cnvstart, tagp, &dicsaml); - if ((int)dicsaml > maxlen) return NULL; + if((int)dicsaml > maxlen) return NULL; - if (cmp == OVER) + if(cmp == OVER) return NULL; - else if (cmp == MATCH) { + else if(cmp == MATCH) { - if (isdpnd(*(cnvstart + dicsaml))) { + if(isdpnd(*(cnvstart + dicsaml))) { break; } @@ -158,4 +150,3 @@ srchdict(unsigned char* tagp) return NULL; } - diff --git a/srchhead.c b/srchhead.c index b96c408..1368600 100644 --- a/srchhead.c +++ b/srchhead.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,37 +28,33 @@ */ /* - * $SonyRCSfile: srchhead.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: srchhead.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:28 $ */ - - #include "sj_kcnv.h" #include "sj_yomi.h" -int srchhead() -{ - if (*cnvstart == _O) { +int srchhead() { + if(*cnvstart == _O) { headcode = SETTOU_O; - headlen = 1; + headlen = 1; return TRUE; } - else if (*cnvstart == _GO) { + else if(*cnvstart == _GO) { headcode = SETTOU_GO; - headlen = 1; + headlen = 1; return TRUE; } - else if ((*cnvstart == _DA) && (*(cnvstart + 1) == _I)) { + else if((*cnvstart == _DA) && (*(cnvstart + 1) == _I)) { headcode = SETTOU_DAI; - headlen = 2; + headlen = 2; return TRUE; } headcode = headlen = 0; return FALSE; } - diff --git a/srchidx.c b/srchidx.c index 9b79569..ad936b0 100644 --- a/srchidx.c +++ b/srchidx.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,34 +28,32 @@ */ /* - * $SonyRCSfile: srchidx.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: srchidx.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:29 $ * * $Id$ */ - #include #include #include "sj_kcnv.h" #include "kanakan.h" -int istrcmp(); +int istrcmp(); TypeDicSeg -srchidx(TypeDicSeg low, int len) -{ - TypeDicSeg high; - TypeDicSeg mid; - int cmp; - unsigned char *target; +srchidx(TypeDicSeg low, int len) { + TypeDicSeg high; + TypeDicSeg mid; + int cmp; + unsigned char* target; - if ((high = curdict->segunit - 1) < 1) return 0; + if((high = curdict->segunit - 1) < 1) return 0; - if (low == (TypeDicSeg)-1) low = 0; + if(low == (TypeDicSeg)-1) low = 0; - while (low <= high) { + while(low <= high) { mid = (low + high) >> 1; @@ -63,11 +61,11 @@ srchidx(TypeDicSeg low, int len) cmp = istrcmp(cnvstart, target, len, strlen(target)); - if (cmp == OVER) { + if(cmp == OVER) { high = mid - 1; } - else if(cmp != MATCH){ + else if(cmp != MATCH) { low = mid + 1; } @@ -78,4 +76,3 @@ srchidx(TypeDicSeg low, int len) return (cmp == OVER && mid != DicSegBase) ? mid - 1 : mid; } - diff --git a/srchnum.c b/srchnum.c index b93f850..edad1f8 100644 --- a/srchnum.c +++ b/srchnum.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,14 +28,13 @@ */ /* - * $SonyRCSfile: srchnum.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: srchnum.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:30 $ * * $Id$ */ - #include #include #include "sj_kcnv.h" @@ -44,141 +43,133 @@ #include "sj_suuji.h" #include "kanakan.h" - static void srch_kurai1(unsigned char* ptr, unsigned char* cnct); static void srch_kurai2(unsigned char* ptr, unsigned char* cnct); static void -srch_josuu_sub(JREC *jrec, TypeGram gram) -{ - unsigned char *tagp; - DICTL *dp; +srch_josuu_sub(JREC* jrec, TypeGram gram) { + unsigned char* tagp; + DICTL* dp; - for (dp = dictlist ; dp ; dp = dp -> next) { - curdict = dp -> dict; - dicinl = 1; + for(dp = dictlist; dp; dp = dp->next) { + curdict = dp->dict; + dicinl = 1; dicsaml = 0; prevseg = -1; - while ((tagp = srchdict(tagp)) != NULL) + while((tagp = srchdict(tagp)) != NULL) setnumrec(tagp, jrec, gram); } } static void -srch_josuu(JREC *jrec) -{ - unsigned char *kp; - int klen; - int len; +srch_josuu(JREC* jrec) { + unsigned char* kp; + int klen; + int len; - if (headcode && headcode != SETTOU_DAI) return; + if(headcode && headcode != SETTOU_DAI) return; kp = cnvstart; klen = cnvlen; - cnvstart += (len = jrec -> numlen); - cnvlen -= len; + cnvstart += (len = jrec->numlen); + cnvlen -= len; srch_josuu_sub(jrec, JOSUUSI); - if (!headcode) srch_josuu_sub(jrec, JOSUUSI2); + if(!headcode) srch_josuu_sub(jrec, JOSUUSI2); cnvstart = kp; - cnvlen = klen; + cnvlen = klen; } static void -setnrec_sub(unsigned char* p, unsigned short flag, int stb) -{ - JREC *rec; - int len1; - int len2; +setnrec_sub(unsigned char* p, unsigned short flag, int stb) { + JREC* rec; + int len1; + int len2; len1 = len2 = p - suuji_yptr; - if (headcode) len1 += headlen; - if (stb) len2--; + if(headcode) len1 += headlen; + if(stb) len2--; - if ((int)suuji_len == len2) { - if (suuji_wkeep) { + if((int)suuji_len == len2) { + if(suuji_wkeep) { memcpy((unsigned char*)suuji_wbuf, (unsigned char*)suuji_wkeep, - sizeof(suuji_wbuf[0]) * NumWordBuf); + sizeof(suuji_wbuf[0]) * NumWordBuf); } - if (suuji_ukeep) { + if(suuji_ukeep) { memcpy(suuji_ubuf, suuji_ukeep, NumKetaLength); } suuji_exit = suuji_keta; return; } - if ((rec = argjrec(len1, (JREC *)NULL)) != NULL) { - rec -> class = suuji_class; - rec -> hinsi = SUUSI; - rec -> sttofs = headcode; - rec -> stbofs = (unsigned char)stb; - rec -> flags = flag; - rec -> numlen = (unsigned char)len2; + if((rec = argjrec(len1, (JREC*)NULL)) != NULL) { + rec->class = suuji_class; + rec->hinsi = SUUSI; + rec->sttofs = headcode; + rec->stbofs = (unsigned char)stb; + rec->flags = flag; + rec->numlen = (unsigned char)len2; - if (!stb) srch_josuu(rec); + if(!stb) srch_josuu(rec); } } static void -setnrec(unsigned char* p, unsigned short flag) -{ +setnrec(unsigned char* p, unsigned short flag) { setnrec_sub(p, flag, 0); - if (!headcode && (*p == Y_S_KIGOU2)) { + if(!headcode && (*p == Y_S_KIGOU2)) { setnrec_sub(p + 1, flag, -1); } } static unsigned char* -srchtbl(unsigned char ch, unsigned char* tbl, int rec, int n) -{ - int high, low, mid; - unsigned char *p; +srchtbl(unsigned char ch, unsigned char* tbl, int rec, int n) { + int high, low, mid; + unsigned char* p; - if (!ch) return NULL; + if(!ch) return NULL; - low = 0; + low = 0; high = n - 1; - while (low <= high) { + while(low <= high) { mid = (low + high) / 2; - p = tbl + mid * rec; + p = tbl + mid * rec; - if (ch == *p) + if(ch == *p) break; - else if (ch < *p) + else if(ch < *p) high = mid - 1; else low = mid + 1; } - if (low > high) return NULL; + if(low > high) return NULL; - while (mid-- > 0 && ch == *(p - rec)) p -= rec; + while(mid-- > 0 && ch == *(p - rec)) p -= rec; return p; } static int -isconnect(unsigned char* cnct, int num) -{ +isconnect(unsigned char* cnct, int num) { return (cnct[num / 8] & (0x80 >> (num % 8))); } static int -string_cmp(unsigned char* s, int l, unsigned char* d) -{ - unsigned char *p; +string_cmp(unsigned char* s, int l, unsigned char* d) { + unsigned char* p; p = s; - while (*s && l-- > 0) { - if (*s != *d) return 0; + while(*s && l-- > 0) { + if(*s != *d) return 0; s++; d++; } @@ -187,47 +178,46 @@ string_cmp(unsigned char* s, int l, unsigned char* d) } static int -check_num(unsigned char* ptr) -{ - int i; - int j; - int k; - int tmp; - int hketa; - int lketa; - int flg = FALSE; - int cnt; - unsigned short flag; +check_num(unsigned char* ptr) { + int i; + int j; + int k; + int tmp; + int hketa; + int lketa; + int flg = FALSE; + int cnt; + unsigned short flag; memset((unsigned char*)suuji_wbuf, 0, sizeof(unsigned short) * NumWordBuf); flag = 0; hketa = lketa = cnt = 0; - for (i = suuji_keta ; --i >= 0 ;) { - if (hketa >= 4) return FALSE; + for(i = suuji_keta; --i >= 0;) { + if(hketa >= 4) return FALSE; tmp = suuji_ubuf[i]; - if ((j = ((tmp >> 6) & 3)) != 0) { - if (j < hketa) return FALSE; - if (j > hketa) { + if((j = ((tmp >> 6) & 3)) != 0) { + if(j < hketa) return FALSE; + if(j > hketa) { flag |= JFLAG_N01; do { - suuji_wbuf[hketa] |= (_Num0<<(lketa*4)); - if (++lketa >= 4) { + suuji_wbuf[hketa] |= (_Num0 << (lketa * 4)); + if(++lketa >= 4) { lketa = 0; hketa++; } - } while (j > hketa); + } while(j > hketa); } } k = ((tmp >> 4) & 3); - if (j || k) { - if (k < lketa) return FALSE; - if (k > lketa) { + if(j || k) { + if(k < lketa) return FALSE; + if(k > lketa) { flag |= JFLAG_N01; do { - suuji_wbuf[hketa] |= (_Num0<<(lketa*4)); + suuji_wbuf[hketa] |= (_Num0 << (lketa * 4)); lketa++; - } while (k > lketa); + } while(k > lketa); } flg = TRUE; } @@ -236,16 +226,16 @@ check_num(unsigned char* ptr) cnt++; j = (1 << tmp); - if (j & NumberS1) flag |= JFLAG_NS1; - if (j & Number01) flag |= JFLAG_N01; - if (j & Number23) flag |= JFLAG_N23; + if(j & NumberS1) flag |= JFLAG_NS1; + if(j & Number01) flag |= JFLAG_N01; + if(j & Number23) flag |= JFLAG_N23; - if (tmp != _Num0) { + if(tmp != _Num0) { flg = FALSE; - switch (lketa) { + switch(lketa) { case 0: - if (tmp == _Num1) flag |= JFLAG_N_1; + if(tmp == _Num1) flag |= JFLAG_N_1; break; case 1: @@ -253,22 +243,22 @@ check_num(unsigned char* ptr) break; } } - if (++lketa >= 4) { + if(++lketa >= 4) { lketa = 0; hketa++; } } - if (flg) return FALSE; + if(flg) return FALSE; - if (suuji_keta == 1 || tmp != _Num0) flag |= JFLAG_NN0; + if(suuji_keta == 1 || tmp != _Num0) flag |= JFLAG_NN0; - if (hketa) + if(hketa) flag |= (JFLAG_NK4 | JFLAG_NK2); - else if (lketa > 1) + else if(lketa > 1) flag |= JFLAG_NK2; - if (cnt > 1) flag |= JFLAG_NSN; + if(cnt > 1) flag |= JFLAG_NSN; setnrec(ptr, flag); @@ -276,35 +266,34 @@ check_num(unsigned char* ptr) } static void -srch_number1(unsigned char* ptr) -{ - unsigned char ch; - unsigned char mode; - unsigned char *p; - int l; - TypeClass cls; - int len; - unsigned char *tptr; +srch_number1(unsigned char* ptr) { + unsigned char ch; + unsigned char mode; + unsigned char* p; + int l; + TypeClass cls; + int len; + unsigned char* tptr; - if (suuji_keta >= NumKetaLength) return; + if(suuji_keta >= NumKetaLength) return; - if (!(p = srchtbl((ch = *ptr), Suuji_tbl, SjTblRecLen, SjTblRecNum))) + if(!(p = srchtbl((ch = *ptr), Suuji_tbl, SjTblRecLen, SjTblRecNum))) return; len = suuji_yptr + MaxClInputLen - ptr; - for ( ; *SjTblYPos(p) == ch ; p += SjTblRecLen) { - if (!(l = string_cmp(SjTblYPos(p), SjTblYLen, ptr))) continue; + for(; *SjTblYPos(p) == ch; p += SjTblRecLen) { + if(!(l = string_cmp(SjTblYPos(p), SjTblYLen, ptr))) continue; - if (l > len) continue; + if(l > len) continue; - mode = *SjTblModeP(p); + mode = *SjTblModeP(p); suuji_ubuf[suuji_keta++] = SjTblNumber(mode); - tptr = ptr + l; + tptr = ptr + l; - switch (suuji_class) { + switch(suuji_class) { case C_N_ARABIA: - if (!(mode & SjTblNArabiaF)) break; + if(!(mode & SjTblNArabiaF)) break; check_num(tptr); srch_number1(tptr); @@ -313,7 +302,7 @@ srch_number1(unsigned char* ptr) break; case C_N_SUUJI: - if (mode & (SjTblNArabiaF | SjTblNYomiF)) break; + if(mode & (SjTblNArabiaF | SjTblNYomiF)) break; check_num(tptr); srch_number1(tptr); @@ -324,9 +313,9 @@ srch_number1(unsigned char* ptr) case C_N_KAZU: case C_N_NANSUU: - if (mode & SjTblNNarabiF) break; - if (mode & SjTblNNanSuuF) { - cls = suuji_class; + if(mode & SjTblNNarabiF) break; + if(mode & SjTblNNanSuuF) { + cls = suuji_class; suuji_class = C_N_NANSUU; } @@ -334,32 +323,29 @@ srch_number1(unsigned char* ptr) srch_kurai1(tptr, SjTblCnctP(p)); srch_kurai2(tptr, SjTblCnctP(p)); - if (mode & SjTblNNanSuuF) suuji_class = cls; + if(mode & SjTblNNanSuuF) suuji_class = cls; break; default: - if (mode & SjTblNArabiaF) { + if(mode & SjTblNArabiaF) { suuji_class = C_N_ARABIA; check_num(tptr); srch_number1(tptr); srch_kurai2(tptr, (unsigned char*)NULL); suuji_class = C_N_KAZU; - } - else if (mode & SjTblNYomiF) { - if (mode & SjTblNNanSuuF) + } else if(mode & SjTblNYomiF) { + if(mode & SjTblNNanSuuF) suuji_class = C_N_NANSUU; else suuji_class = C_N_KAZU; check_num(tptr); - } - else if (mode & SjTblNNarabiF) { + } else if(mode & SjTblNNarabiF) { suuji_class = C_N_SUUJI; check_num(tptr); srch_number1(tptr); break; - } - else { + } else { suuji_class = C_N_SUUJI; srch_number1(tptr); @@ -376,35 +362,33 @@ srch_number1(unsigned char* ptr) } static void -srch_kurai1(unsigned char* ptr, unsigned char* cnct) -{ - unsigned char ch; - unsigned char *p; - int l; - int keta; - int mode; - TypeClass cls; - int len; - unsigned char *tptr; +srch_kurai1(unsigned char* ptr, unsigned char* cnct) { + unsigned char ch; + unsigned char* p; + int l; + int keta; + int mode; + TypeClass cls; + int len; + unsigned char* tptr; - if (!(p = srchtbl((ch = *ptr), Kurai1_tbl, Kr1TblRecLen, Kr1TblRecNum))) + if(!(p = srchtbl((ch = *ptr), Kurai1_tbl, Kr1TblRecLen, Kr1TblRecNum))) return; len = suuji_yptr + MaxClInputLen - ptr; - for ( ; *Kr1TblYPos(p) == ch ; p += Kr1TblRecLen) { - if (!(l = string_cmp(Kr1TblYPos(p), Kr1TblYLen, ptr))) continue; + for(; *Kr1TblYPos(p) == ch; p += Kr1TblRecLen) { + if(!(l = string_cmp(Kr1TblYPos(p), Kr1TblYLen, ptr))) continue; - if (l > len) continue; + if(l > len) continue; mode = *Kr1TblModeP(p); keta = Kr1TblKeta(mode); tptr = ptr + l; - if (suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) { - cls = suuji_class; - suuji_class = (suuji_class == C_N_ARABIA) ? - C_N_ARAKURA : C_N_KANKURA; + if(suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) { + cls = suuji_class; + suuji_class = (suuji_class == C_N_ARABIA) ? C_N_ARAKURA : C_N_KANKURA; suuji_ubuf[suuji_keta - 1] |= (keta << 4); check_num(tptr); suuji_class = cls; @@ -412,13 +396,12 @@ srch_kurai1(unsigned char* ptr, unsigned char* cnct) continue; } - if (cnct) { - if (!isconnect(cnct, (int)Kr1TblCnct(mode))) continue; + if(cnct) { + if(!isconnect(cnct, (int)Kr1TblCnct(mode))) continue; suuji_ubuf[suuji_keta - 1] |= (keta << 4); - } - else { - if (!Kr1TblTop(mode)) continue; - if (suuji_keta >= NumKetaLength) continue; + } else { + if(!Kr1TblTop(mode)) continue; + if(suuji_keta >= NumKetaLength) continue; suuji_ubuf[suuji_keta++] = (_Num1 | (keta << 4)); } @@ -428,7 +411,7 @@ srch_kurai1(unsigned char* ptr, unsigned char* cnct) srch_kurai1(tptr, (unsigned char*)NULL); srch_kurai2(tptr, Kr1TblCnctP(p)); - if (cnct) + if(cnct) suuji_ubuf[suuji_keta - 1] &= 0xcf; else suuji_keta--; @@ -436,50 +419,47 @@ srch_kurai1(unsigned char* ptr, unsigned char* cnct) } static void -srch_kurai2(unsigned char* ptr, unsigned char* cnct) -{ - unsigned char ch; - unsigned char *p; - int l; - int keta; - int mode; - TypeClass cls; - int len; - unsigned char *tptr; +srch_kurai2(unsigned char* ptr, unsigned char* cnct) { + unsigned char ch; + unsigned char* p; + int l; + int keta; + int mode; + TypeClass cls; + int len; + unsigned char* tptr; - if ((suuji_ubuf[0] & 0x0f) == _Num0) return; + if((suuji_ubuf[0] & 0x0f) == _Num0) return; - if (!(p = srchtbl((ch = *ptr), Kurai2_tbl, Kr2TblRecLen, Kr2TblRecNum))) + if(!(p = srchtbl((ch = *ptr), Kurai2_tbl, Kr2TblRecLen, Kr2TblRecNum))) return; len = suuji_yptr + MaxClInputLen - ptr; - for ( ; *Kr2TblYPos(p) == ch ; p += Kr2TblRecLen) { - if (!(l = string_cmp(Kr2TblYPos(p), Kr2TblYLen, ptr))) continue; + for(; *Kr2TblYPos(p) == ch; p += Kr2TblRecLen) { + if(!(l = string_cmp(Kr2TblYPos(p), Kr2TblYLen, ptr))) continue; - if (l > len) continue; + if(l > len) continue; mode = *Kr2TblModeP(p); keta = Kr2TblKeta(mode); tptr = ptr + l; - if (suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) { + if(suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) { suuji_ubuf[suuji_keta - 1] |= (keta << 6); - cls = suuji_class; - suuji_class = (suuji_class == C_N_ARABIA) ? - C_N_ARAKURA : C_N_KANKURA; + cls = suuji_class; + suuji_class = (suuji_class == C_N_ARABIA) ? C_N_ARAKURA : C_N_KANKURA; check_num(tptr); suuji_class = cls; suuji_ubuf[suuji_keta - 1] &= 0x3f; continue; } - if (cnct) { - if (!isconnect(cnct, (int)Kr2TblCnct(mode))) continue; + if(cnct) { + if(!isconnect(cnct, (int)Kr2TblCnct(mode))) continue; suuji_ubuf[suuji_keta - 1] |= (keta << 6); - } - else { - if (suuji_keta >= NumKetaLength) continue; + } else { + if(suuji_keta >= NumKetaLength) continue; suuji_ubuf[suuji_keta++] = (_Num1 | (keta << 6)); } @@ -488,7 +468,7 @@ srch_kurai2(unsigned char* ptr, unsigned char* cnct) srch_number1(tptr); srch_kurai1(tptr, (unsigned char*)NULL); - if (cnct) + if(cnct) suuji_ubuf[suuji_keta - 1] &= 0x3f; else suuji_keta--; @@ -496,53 +476,47 @@ srch_kurai2(unsigned char* ptr, unsigned char* cnct) } static void -srch_number2(unsigned char* p) -{ - unsigned char ch; - int i; +srch_number2(unsigned char* p) { + unsigned char ch; + int i; suuji_class = (*p == N_0) ? C_N_SUUJILONG : C_N_KAZULONG; suuji_keta = suuji_comma = 0; - for (i = 0 ; i < MaxClInputLen ; i++) { - if ((ch = *p++) == Y_COMMA) { - if (suuji_keta) { - if (suuji_comma) { - if (suuji_comma != 3) break; + for(i = 0; i < MaxClInputLen; i++) { + if((ch = *p++) == Y_COMMA) { + if(suuji_keta) { + if(suuji_comma) { + if(suuji_comma != 3) break; + } else { + if(suuji_keta >= 4) break; + if(*suuji_yptr == N_0) break; } - else { - if (suuji_keta >= 4) break; - if (*suuji_yptr == N_0) break; - } - } - else + } else break; suuji_comma = 1; - ch = *p++; - } - else if (suuji_comma) { + ch = *p++; + } else if(suuji_comma) { suuji_comma++; } - if (suuji_comma > 3) break; + if(suuji_comma > 3) break; - if (!(Chrtbl[ch] & NUMBER)) break; + if(!(Chrtbl[ch] & NUMBER)) break; - if (suuji_keta < NumKetaLength) { + if(suuji_keta < NumKetaLength) { suuji_ubuf[suuji_keta] = ch - N_0 + _Num0; } suuji_keta++; - if (!suuji_comma && suuji_keta > NumKetaLength) { + if(!suuji_comma && suuji_keta > NumKetaLength) { setnrec(p, 0); - } - else if (suuji_comma == 3) { - if (suuji_keta <= NumKetaLength) { + } else if(suuji_comma == 3) { + if(suuji_keta <= NumKetaLength) { suuji_class = C_N_ARACMA; check_num(p); - } - else { + } else { suuji_class = C_N_KAZULCMA; setnrec(p, 0); } @@ -551,32 +525,29 @@ srch_number2(unsigned char* p) } static void -srchnum_sub(unsigned char* p) -{ +srchnum_sub(unsigned char* p) { suuji_yptr = p; suuji_comma = suuji_keta = 0; - suuji_class = 0; + suuji_class = 0; srch_number1(p); - suuji_keta = 0; + suuji_keta = 0; suuji_class = C_N_KAZU; srch_kurai1(p, (unsigned char*)NULL); - if (suuji_exit) return; + if(suuji_exit) return; srch_number2(p); } -void -srchnum(void) -{ +void srchnum(void) { suuji_len = suuji_exit = 0; srchnum_sub(cnvstart); - if (!headcode && (*cnvstart == Y_S_KIGOU1)) { + if(!headcode && (*cnvstart == Y_S_KIGOU1)) { headcode = SETTOU_KIGOU; - headlen = 1; + headlen = 1; srchnum_sub(cnvstart + 1); @@ -584,29 +555,24 @@ srchnum(void) } } -void -setwdnum(unsigned char* p, int len, unsigned short* wd) -{ +void setwdnum(unsigned char* p, int len, unsigned short* wd) { suuji_len = (unsigned char)len; suuji_wkeep = wd; suuji_ukeep = NULL; headcode = headlen = 0; - suuji_exit = 0; + suuji_exit = 0; srchnum_sub(p); } -int -setucnum(unsigned char* p, int len, unsigned char* ud) -{ +int setucnum(unsigned char* p, int len, unsigned char* ud) { suuji_len = (unsigned char)len; suuji_wkeep = NULL; suuji_ukeep = ud; headcode = headlen = 0; - suuji_exit = 0; + suuji_exit = 0; srchnum_sub(p); return (int)suuji_exit; } - diff --git a/stat_conv.c b/stat_conv.c index e27f29c..0478439 100644 --- a/stat_conv.c +++ b/stat_conv.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,46 +28,41 @@ */ /* - * $SonyRCSfile: stat_conv.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: stat_conv.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:28 $ */ - - #include "common.h" #include "key.h" #include "rk.h" +extern int keyvalue; +int rkerrbell = 0; +static int delkey = -1; +static int bskey; -extern int keyvalue; +#define SPAN_FLUSH 0 +#define SPAN_END 1 -int rkerrbell = 0; -static int delkey = -1; -static int bskey; - -#define SPAN_FLUSH 0 -#define SPAN_END 1 - -save_span (mode) -int mode; +save_span(mode) int mode; { - Conversion *cv; + Conversion* cv; - cv = GetConversion (); - switch (mode) { + cv = GetConversion(); + switch(mode) { case SPAN_FLUSH: cv->span_point = 0; - cv->ha_point = 0; - cv->out_point = 0; - save_span_p (); + cv->ha_point = 0; + cv->out_point = 0; + save_span_p(); break; case SPAN_END: - if (cv->out_point < cv->out_epoint) { + if(cv->out_point < cv->out_epoint) { Clear_EOL(); cv->out_point = cv->out_epoint; - cv->ha_point = cv->ha_epoint; + cv->ha_point = cv->ha_epoint; } break; default: @@ -75,222 +70,200 @@ int mode; } } -save_span_p () -{ - Conversion *cv; +save_span_p() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); cv->span_p[cv->span_point] = &(cv->out_buf[cv->out_point]); cv->span_l[cv->span_point] = 0; } -isspaned () -{ - Conversion *cv; +isspaned() { + Conversion* cv; - cv = GetConversion (); - if (cv->out_buf[0] != '\0') + cv = GetConversion(); + if(cv->out_buf[0] != '\0') return (1); else return (0); } +buffers_clear() { + Conversion* cv; - -buffers_clear () -{ - Conversion *cv; - - cv = GetConversion (); - pointer_clear (); - if (flush_conversion) + cv = GetConversion(); + pointer_clear(); + if(flush_conversion) cv->CurBun = -1; else cv->CurBun = 0; } -pointer_clear () -{ - Conversion *cv; +pointer_clear() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); cv->ha_point = cv->ha_epoint = 0; - *(cv->Halpha) = '\0'; - os_point = 0; + *(cv->Halpha) = '\0'; + os_point = 0; cv->out_point = cv->out_epoint = 0; - *(cv->out_buf) = '\0'; - cv->Kanji = 0; - save_span (SPAN_FLUSH); + *(cv->out_buf) = '\0'; + cv->Kanji = 0; + save_span(SPAN_FLUSH); sj3_rkclear(); } -typedef struct _SaveSet { - wchar16_t out_buf[BUFFLENGTH * 2]; +typedef struct _SaveSet { + wchar16_t out_buf[BUFFLENGTH * 2]; unsigned short out_mode[BUFFLENGTH * 2]; unsigned short out_point; unsigned short ha_point; - wchar16_t Halpha[BUFFLENGTH]; - unsigned char in_mode[BUFFLENGTH * 2]; + wchar16_t Halpha[BUFFLENGTH]; + unsigned char in_mode[BUFFLENGTH * 2]; } SaveSet; -static SaveSet save_set0; +static SaveSet save_set0; -StoreSaveSet () -{ - Conversion *cv; - SaveSet *sv; +StoreSaveSet() { + Conversion* cv; + SaveSet* sv; - cv = GetConversion (); - if (cv->out_point) { - sv = &save_set0; + cv = GetConversion(); + if(cv->out_point) { + sv = &save_set0; sv->out_point = cv->out_point; - sv->ha_point = cv->ha_point; - memcpy (sv->out_mode, cv->out_mode, - cv->out_point * sizeof(unsigned short)); - memcpy (sv->in_mode, cv->in_mode, - cv->out_point * sizeof(unsigned char)); - wscpy (sv->Halpha, cv->Halpha); - wscpy (sv->out_buf, cv->out_buf); + sv->ha_point = cv->ha_point; + memcpy(sv->out_mode, cv->out_mode, + cv->out_point * sizeof(unsigned short)); + memcpy(sv->in_mode, cv->in_mode, + cv->out_point * sizeof(unsigned char)); + wscpy(sv->Halpha, cv->Halpha); + wscpy(sv->out_buf, cv->out_buf); } } -RestoreSaveSet () -{ - Conversion *cv; - SaveSet *sv; +RestoreSaveSet() { + Conversion* cv; + SaveSet* sv; - sv = &save_set0; - if (sv->out_point) { - cv = GetConversion (); + sv = &save_set0; + if(sv->out_point) { + cv = GetConversion(); cv->out_point = sv->out_point; - cv->ha_point = sv->ha_point; - memcpy (cv->out_mode, sv->out_mode, - sv->out_point * sizeof(unsigned short)); - memcpy (cv->in_mode, sv->in_mode, - sv->out_point * sizeof(unsigned char)); - wscpy (cv->Halpha, sv->Halpha); - wscpy (cv->out_buf, sv->out_buf); + cv->ha_point = sv->ha_point; + memcpy(cv->out_mode, sv->out_mode, + sv->out_point * sizeof(unsigned short)); + memcpy(cv->in_mode, sv->in_mode, + sv->out_point * sizeof(unsigned char)); + wscpy(cv->Halpha, sv->Halpha); + wscpy(cv->out_buf, sv->out_buf); } } -history_empty () -{ - SaveSet *sv; +history_empty() { + SaveSet* sv; - sv = &save_set0; - if (sv->out_point) + sv = &save_set0; + if(sv->out_point) return (0); else return (1); } -History () -{ - Conversion *cv; - SaveSet *sv; +History() { + Conversion* cv; + SaveSet* sv; - sv = &save_set0; - if (sv->out_point) { - RestoreSaveSet (); - cv = GetConversion (); - if (flush_conversion) + sv = &save_set0; + if(sv->out_point) { + RestoreSaveSet(); + cv = GetConversion(); + if(flush_conversion) cv->CurBun = -1; else cv->CurBun = 0; } } -ClearBuffer () -{ +ClearBuffer() { Clear_EOL(); - Ccheck (); - Cclear (1); - all_set_up (); + Ccheck(); + Cclear(1); + all_set_up(); } +SetCflag() { + Conversion* cv; - -SetCflag () -{ - Conversion *cv; - - cv = GetConversion (); + cv = GetConversion(); cv->Cflag = 1; } -ClearCflag () -{ - Conversion *cv; +ClearCflag() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); cv->Cflag = 0; } -IsCflag () -{ - Conversion *cv; +IsCflag() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); return (cv->Cflag); } -exec_kettei () -{ - Conversion *cv; - int len; - wchar16_t kanji[BUFFLENGTH * 2]; +exec_kettei() { + Conversion* cv; + int len; + wchar16_t kanji[BUFFLENGTH * 2]; - cv = GetConversion (); + cv = GetConversion(); save_span(SPAN_END); - if (cv->Kanji != 0) { - len = Bkanji (kanji); - Ccheck (); - Cclear (1); - master_write (kanji, len); - if (cv->word_regist) { + if(cv->Kanji != 0) { + len = Bkanji(kanji); + Ccheck(); + Cclear(1); + master_write(kanji, len); + if(cv->word_regist) { cv->word_regist = 0; - } - else { - if (is_bstudy ()) { - cl_gakusyuu (); + } else { + if(is_bstudy()) { + cl_gakusyuu(); } } - } else if (isspaned ()) { - if (BuffYes ()) { - Ccheck (); - Cclear (1); + } else if(isspaned()) { + if(BuffYes()) { + Ccheck(); + Cclear(1); } - if (!BuffYes ()) - vbackchar (cv->out_point); - if (cv->out_point) - master_write (cv->out_buf, cv->out_point); - - if (BuffYes ()) - master_flush (); - StoreSaveSet (); + if(!BuffYes()) + vbackchar(cv->out_point); + if(cv->out_point) + master_write(cv->out_buf, cv->out_point); + + if(BuffYes()) + master_flush(); + StoreSaveSet(); } - buffers_clear (); - ResetHenkan (); - SetCflag (); + buffers_clear(); + ResetHenkan(); + SetCflag(); } -set_rkebell(word) -struct wordent word[]; +set_rkebell(word) struct wordent word[]; { - if (match (word[1].word_str, WCOn)) + if(match(word[1].word_str, WCOn)) rkerrbell = 1; - if (match (word[1].word_str, WCOff)) + if(match(word[1].word_str, WCOff)) rkerrbell = 0; } +ChangeBuffMode() { + Conversion* cv; - -ChangeBuffMode () -{ - Conversion *cv; - - cv = GetConversion (); - if (cv->BuffMode == BUFF) { + cv = GetConversion(); + if(cv->BuffMode == BUFF) { sj3_rkebell(0); cv->BuffMode = UNBUFF; } else { @@ -299,252 +272,233 @@ ChangeBuffMode () } } -BuffYes () -{ - Conversion *cv; +BuffYes() { + Conversion* cv; - cv = GetConversion (); - if (cv->BuffMode == BUFF) + cv = GetConversion(); + if(cv->BuffMode == BUFF) return (1); else return (0); } +#define STAT_HENKAN 1 +#define STAT_MUHENKAN 2 +IsHenkan() { + Conversion* cv; -#define STAT_HENKAN 1 -#define STAT_MUHENKAN 2 - -IsHenkan () -{ - Conversion *cv; - - cv = GetConversion (); + cv = GetConversion(); return (cv->henkanflag); } -IsMuhenkan () -{ - Conversion *cv; +IsMuhenkan() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); return (cv->henkanflag & STAT_MUHENKAN); } -SetMuhenkan () -{ - Conversion *cv; +SetMuhenkan() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); cv->henkanflag |= STAT_MUHENKAN; } -SetHenkan () -{ - Conversion *cv; +SetHenkan() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); cv->henkanflag = STAT_HENKAN; } -ResetHenkan () -{ - Conversion *cv; +ResetHenkan() { + Conversion* cv; - cv = GetConversion (); + cv = GetConversion(); cv->henkanflag = 0; } -all_set_up () -{ - buffers_clear (); - SetCflag (); - ResetHenkan (); +all_set_up() { + buffers_clear(); + SetCflag(); + ResetHenkan(); } +static int convertflag; +static int small; -static int convertflag; -static int small; - -stat_conv_on () -{ - convertflag = 1; +stat_conv_on() { + convertflag = 1; } -stat_init () -{ - stat_conv_on (); - all_set_up (); - disp_mode (); +stat_init() { + stat_conv_on(); + all_set_up(); + disp_mode(); small = 0; } -get_pseq () -{ - return (write_pseq (1)); +get_pseq() { + return (write_pseq(1)); } -stat_conv () -{ - Conversion *cv; - extern int allways_buff; - int inc; - int i; - unsigned short svlen; +stat_conv() { + Conversion* cv; + extern int allways_buff; + int inc; + int i; + unsigned short svlen; - cv = GetConversion (); + cv = GetConversion(); cv->word_regist = 0; - while (convertflag) { - if ((inc = inkey ()) == EOF) + while(convertflag) { + if((inc = inkey()) == EOF) break; - - - - cv = GetConversion (); - if (allways_buff) + cv = GetConversion(); + if(allways_buff) cv->BuffMode = BUFF; -more: - switch (keyvalue) { - + more: + switch(keyvalue) { case KEY_NORMAL: small = 0; - if (inc == EOF) + if(inc == EOF) break; - if (IsHenkan ()) { - if (is_bsdel (inc)) { - Bdelete (); + if(IsHenkan()) { + if(is_bsdel(inc)) { + Bdelete(); break; - } else if (inc < ' ' && inc != '\n' && - inc != '\r' && inc != '\t' && - !IsESC (inc) && !isintr (inc)){ - beep (); + } else if(inc < ' ' && inc != '\n' && + inc != '\r' && inc != '\t' && + !IsESC(inc) && !isintr(inc)) { + beep(); break; } else { - exec_kettei (); + exec_kettei(); } } - - save_obuf(); - svlen = cv->Vlen; - while (exec_romaji(inc)) { - if (os_point > 0 && svlen != cv->Vlen) { - i = svlen - cv->Vlen; - svlen = cv->Vlen; - vprintU(osave_buf, 1); - if (i > 0) - Clear_EOL(); - Cgoto(svlen); + + save_obuf(); + svlen = cv->Vlen; + while(exec_romaji(inc)) { + if(os_point > 0 && svlen != cv->Vlen) { + i = svlen - cv->Vlen; + svlen = cv->Vlen; + vprintU(osave_buf, 1); + if(i > 0) + Clear_EOL(); + Cgoto(svlen); } - inc = inkey(); - if (keyvalue != KEY_NORMAL && - (exec_romaji(0)==0||keyvalue == KEY_CONV)){ - restore_obuf(); - goto more; + inc = inkey(); + if(keyvalue != KEY_NORMAL && + (exec_romaji(0) == 0 || keyvalue == KEY_CONV)) { + restore_obuf(); + goto more; + } + } + restore_obuf(); + if(is_del(inc) && (!IsCflag() && isspaned())) { + if(cv->out_point < cv->out_epoint) { + move_cur(KEY_RIGHT); + inc = bskey; + goto more; } - } - restore_obuf(); - if (is_del(inc) && (!IsCflag() && isspaned())) { - if (cv->out_point < cv->out_epoint) { - move_cur(KEY_RIGHT); - inc = bskey; - goto more; - } } else - exec_ctrl(inc); + exec_ctrl(inc); break; case KEY_KETTEI: small = 0; - if (!IsCflag ()) { - exec_kettei (); - } else if (cv->Imode != MODE_HALPHA || BuffYes ()) { - if (cv->Imode != MODE_HALPHA) - exec_mode (KEY_HALPHA); - if (BuffYes ()) - ChangeBuffMode (); - disp_mode (); + if(!IsCflag()) { + exec_kettei(); + } else if(cv->Imode != MODE_HALPHA || BuffYes()) { + if(cv->Imode != MODE_HALPHA) + exec_mode(KEY_HALPHA); + if(BuffYes()) + ChangeBuffMode(); + disp_mode(); } break; case KEY_CONV: small = 0; - if (!no_flush) - exec_kettei (); + if(!no_flush) + exec_kettei(); convertflag = 0; break; case KEY_CANCEL: small = 0; - if (!IsCflag ()) - ClearBuffer (); - else if ((inc = get_pseq ()) != 0) - exec_ctrl(inc); + if(!IsCflag()) + ClearBuffer(); + else if((inc = get_pseq()) != 0) + exec_ctrl(inc); break; case KEY_RECONV: small = 0; - if (IsCflag ()) { - if (history_empty ()) { - if ((inc = get_pseq ()) != 0) - exec_ctrl(inc); - break; + if(IsCflag()) { + if(history_empty()) { + if((inc = get_pseq()) != 0) + exec_ctrl(inc); + break; } else { - History (); - Csave (); - ClearCflag (); + History(); + Csave(); + ClearCflag(); } } else { - if (IsHenkan ()) { - History (); - ResetHenkan (); + if(IsHenkan()) { + History(); + ResetHenkan(); } else { - beep (); + beep(); break; - } } - exec_henkan (); - SetHenkan (); + exec_henkan(); + SetHenkan(); break; case KEY_HENKAN: small = 0; - if (!IsCflag ()) { - if (IsMuhenkan ()) { - exec_henkan (); - SetHenkan (); + if(!IsCflag()) { + if(IsMuhenkan()) { + exec_henkan(); + SetHenkan(); } - if (IsHenkan ()) { - exec_douon (); + if(IsHenkan()) { + exec_douon(); } else { - save_span (SPAN_END); - Ccheck (); - StoreSaveSet (); - exec_henkan (); - SetHenkan (); + save_span(SPAN_END); + Ccheck(); + StoreSaveSet(); + exec_henkan(); + SetHenkan(); } - } else if ((inc = write_pseq (3)) >= ' ' && inc <= '~') + } else if((inc = write_pseq(3)) >= ' ' && inc <= '~') exec_ctrl(inc); - else if (cv->Imode != MODE_ZHIRA || !BuffYes ()) { - if (cv->Imode != MODE_ZHIRA) { - exec_mode (KEY_ZHIRA); + else if(cv->Imode != MODE_ZHIRA || !BuffYes()) { + if(cv->Imode != MODE_ZHIRA) { + exec_mode(KEY_ZHIRA); } - if (!BuffYes ()) { - ChangeBuffMode (); + if(!BuffYes()) { + ChangeBuffMode(); } - disp_mode (); + disp_mode(); } break; case KEY_MUHENKAN: small = 0; - if (flush_conversion && !IsCflag () && - cv->CurBun == -1) { - if (IsHenkan ()) { - exec_muhenkan (0); - SetHenkan (); + if(flush_conversion && !IsCflag() && + cv->CurBun == -1) { + if(IsHenkan()) { + exec_muhenkan(0); + SetHenkan(); } else { - save_span (SPAN_END); - Ccheck (); - exec_muhenkan (1); - SetHenkan (); - SetMuhenkan (); + save_span(SPAN_END); + Ccheck(); + exec_muhenkan(1); + SetHenkan(); + SetMuhenkan(); } break; } @@ -556,91 +510,91 @@ more: case KEY_ZKATA: case KEY_CODE: small = 0; - if (cv->CurBun == -1) - exec_kettei (); - else if (IsHenkan ()) { - Bchange (keyvalue); + if(cv->CurBun == -1) + exec_kettei(); + else if(IsHenkan()) { + Bchange(keyvalue); break; } - if (keyvalue == KEY_TOGGLE) - keyvalue = toggle_mode (cv->Imode); - exec_mode (keyvalue); - disp_mode (); + if(keyvalue == KEY_TOGGLE) + keyvalue = toggle_mode(cv->Imode); + exec_mode(keyvalue); + disp_mode(); break; case KEY_WRAP: small = 0; - if (IsHenkan ()) - wrap_douon (0); - else if ((inc = get_pseq ()) != 0) + if(IsHenkan()) + wrap_douon(0); + else if((inc = get_pseq()) != 0) exec_ctrl(inc); break; case KEY_WRAPBACK: small = 0; - if (IsHenkan ()) - wrap_douon (1); - else if ((inc = get_pseq ()) != 0) + if(IsHenkan()) + wrap_douon(1); + else if((inc = get_pseq()) != 0) exec_ctrl(inc); break; case KEY_LEFT: case KEY_RIGHT: case KEY_UP: case KEY_DOWN: - if (IsHenkan ()) { - switch (keyvalue) { + if(IsHenkan()) { + switch(keyvalue) { case KEY_LEFT: - Bleft (); + Bleft(); small = 0; break; case KEY_RIGHT: - Bright (); + Bright(); small = 0; break; case KEY_UP: - small = Bbig (); + small = Bbig(); break; case KEY_DOWN: - small = Bsmall (small); + small = Bsmall(small); break; } - } else if (cv->Imode == MODE_CODE) { + } else if(cv->Imode == MODE_CODE) { small = 0; - if (BuffYes () && IsCflag ()) { - Csave (); - ClearCflag (); + if(BuffYes() && IsCflag()) { + Csave(); + ClearCflag(); } - kigou (); - if (flush_conversion) - exec_kettei (); - } else if (!IsCflag() && (keyvalue == KEY_LEFT || - keyvalue == KEY_RIGHT)) { + kigou(); + if(flush_conversion) + exec_kettei(); + } else if(!IsCflag() && (keyvalue == KEY_LEFT || + keyvalue == KEY_RIGHT)) { small = 0; move_cur(keyvalue); - } else if (!BuffYes() && cv->Imode == MODE_HALPHA) { - small = 0; - write_pseq(0); + } else if(!BuffYes() && cv->Imode == MODE_HALPHA) { + small = 0; + write_pseq(0); - } else if (IsCflag() && (inc = get_pseq ()) != 0) { + } else if(IsCflag() && (inc = get_pseq()) != 0) { small = 0; exec_ctrl(inc); } break; case KEY_TOP: case KEY_END: - if (IsHenkan ()) { - switch (keyvalue) { + if(IsHenkan()) { + switch(keyvalue) { case KEY_TOP: - Btop (); + Btop(); small = 0; break; case KEY_END: - Blast (); + Blast(); small = 0; break; } - } else if (!IsCflag()) { + } else if(!IsCflag()) { small = 0; move_cur(keyvalue); - } else if ((inc = get_pseq ()) != 0) { + } else if((inc = get_pseq()) != 0) { small = 0; exec_ctrl(inc); } @@ -649,181 +603,170 @@ more: case KEY_TOROKU: case KEY_SYOUKYO: small = 0; - if (IsCflag () && (inc = get_pseq ()) != 0) + if(IsCflag() && (inc = get_pseq()) != 0) exec_ctrl(inc); case KEY_ETC: case KEY_HELP: case KEY_SJRC: case KEY_RECONNECT: small = 0; - i = exec_etc (keyvalue); - disp_mode (); - if (i != KEY_NORMAL) { - keyvalue = i; + i = exec_etc(keyvalue); + disp_mode(); + if(i != KEY_NORMAL) { + keyvalue = i; goto more; } break; case KEY_BUFFER: small = 0; - if (BuffYes ()) - exec_kettei (); - ChangeBuffMode (); - disp_mode (); + if(BuffYes()) + exec_kettei(); + ChangeBuffMode(); + disp_mode(); break; case KEY_HA_KET: small = 0; - if (!IsCflag ()) { - if (cv->Imode != MODE_HALPHA || BuffYes ()) { - if (BuffYes ()) { - exec_kettei (); - ChangeBuffMode (); + if(!IsCflag()) { + if(cv->Imode != MODE_HALPHA || BuffYes()) { + if(BuffYes()) { + exec_kettei(); + ChangeBuffMode(); + } + if(cv->Imode != MODE_HALPHA) + exec_mode(KEY_HALPHA); + disp_mode(); } - if (cv->Imode != MODE_HALPHA) - exec_mode (KEY_HALPHA); - disp_mode (); - } - } else if ((inc = get_pseq ()) != 0) + } else if((inc = get_pseq()) != 0) exec_ctrl(inc); break; case KEY_FLUSH: small = 0; - if (!IsCflag ()) { - exec_kettei (); - } else if ((inc = get_pseq ()) != 0) + if(!IsCflag()) { + exec_kettei(); + } else if((inc = get_pseq()) != 0) exec_ctrl(inc); break; default: small = 0; - if ((inc = get_pseq ()) != 0) + if((inc = get_pseq()) != 0) exec_ctrl(inc); break; } - if (keyvalue == KEY_CONV) { - if (!no_flush) - exec_kettei (); + if(keyvalue == KEY_CONV) { + if(!no_flush) + exec_kettei(); convertflag = 0; } } } +save_obuf() { + Conversion* cv; + int i, cur; -save_obuf() -{ - Conversion *cv; - int i, cur; + cv = GetConversion(); - cv = GetConversion(); + if(cv->out_point < cv->out_epoint) { - if (cv->out_point < cv->out_epoint) { - - - cur = cv->out_point; - if (!(cv->out_mode[cur] & OMODE_MASK)) { - chhstr(cv->Halpha, cv->out_buf, cv->out_mode, cur); - cv->ha_epoint = wslen(cv->Halpha); + cur = cv->out_point; + if(!(cv->out_mode[cur] & OMODE_MASK)) { + chhstr(cv->Halpha, cv->out_buf, cv->out_mode, cur); + cv->ha_epoint = wslen(cv->Halpha); } - cv->ha_point = getipos(cur); - hs_point = 0; - for (i = cv->ha_point; i < cv->ha_epoint; i++) - hsave_buf[hs_point++] = cv->Halpha[i]; - hsave_buf[hs_point] = '\0'; + cv->ha_point = getipos(cur); + hs_point = 0; + for(i = cv->ha_point; i < cv->ha_epoint; i++) + hsave_buf[hs_point++] = cv->Halpha[i]; + hsave_buf[hs_point] = '\0'; - - os_point = 0; - for (i = cv->out_point; i < cv->out_epoint; i++) { - osave_buf[os_point] = cv->out_buf[i]; - osave_mode[os_point] = cv->out_mode[i]; - isave_mode[os_point] = cv->in_mode[i]; - os_point++; - } - osave_buf[os_point] = '\0'; - } -} - - -restore_obuf() -{ - Conversion *cv; - int i; - - cv = GetConversion(); - - cv->out_epoint = cv->out_point; - cv->ha_epoint = cv->ha_point; - - - if (os_point > 0) { - for (i = 0; i < (unsigned int)os_point; i++) { - cv->out_buf[cv->out_epoint] = osave_buf[i]; - cv->out_mode[cv->out_epoint] = osave_mode[i]; - cv->in_mode[cv->out_epoint] = isave_mode[i]; - cv->out_epoint++; + os_point = 0; + for(i = cv->out_point; i < cv->out_epoint; i++) { + osave_buf[os_point] = cv->out_buf[i]; + osave_mode[os_point] = cv->out_mode[i]; + isave_mode[os_point] = cv->in_mode[i]; + os_point++; } - cv->out_buf[cv->out_epoint] = '\0'; - for (i = 0; i < (unsigned int)hs_point; i++) - cv->Halpha[cv->ha_epoint++] = hsave_buf[i]; - cv->Halpha[cv->ha_epoint] = '\0'; - } -} - -exec_ctrl(c) -int c; -{ - Conversion *cv; - wchar16_t s[3]; - extern wchar16_t pars_seq[]; - - cv = GetConversion (); - - *s = c; - s[1] = 0; - exec_kettei(); - if (c == ' ' && keyvalue == KEY_HENKAN && cv->Imode & MODE_ZEN) { - s[0] = 0xa1a1; - s[1] = 0; - master_write (s, 1); - } else - master_write (s, 1); - - - if (IsGoto (c) && (BuffYes() || cv->Imode != MODE_HALPHA)) { - cv->BuffMode = UNBUFF; - cv->Imode = MODE_HALPHA; - disp_mode(); - sj3_rkebell(0); - } - - if (IsTrap (c)) { - *s = inkey (); - if (keyvalue != KEY_NORMAL) - *s = pars_seq[0]; - master_write (s, 1); + osave_buf[os_point] = '\0'; } } -exec_mode (key) -int key; -{ - Conversion *cv; +restore_obuf() { + Conversion* cv; + int i; - cv = GetConversion (); - if (key == KEY_MUHENKAN) - key = eval_muhenkan (); - if (key == KEY_CODE) { - if (cv->Imode == MODE_CODE) - ChangeCode(); - else - cv->Imode = MODE_CODE; - } else - cv->Imode = eval_mode(key); + cv = GetConversion(); + + cv->out_epoint = cv->out_point; + cv->ha_epoint = cv->ha_point; + + if(os_point > 0) { + for(i = 0; i < (unsigned int)os_point; i++) { + cv->out_buf[cv->out_epoint] = osave_buf[i]; + cv->out_mode[cv->out_epoint] = osave_mode[i]; + cv->in_mode[cv->out_epoint] = isave_mode[i]; + cv->out_epoint++; + } + cv->out_buf[cv->out_epoint] = '\0'; + for(i = 0; i < (unsigned int)hs_point; i++) + cv->Halpha[cv->ha_epoint++] = hsave_buf[i]; + cv->Halpha[cv->ha_epoint] = '\0'; + } } -toggle_mode (mod) -int mod; +exec_ctrl(c) int c; { - int value; + Conversion* cv; + wchar16_t s[3]; + extern wchar16_t pars_seq[]; - switch (mod) { + cv = GetConversion(); + + *s = c; + s[1] = 0; + exec_kettei(); + if(c == ' ' && keyvalue == KEY_HENKAN && cv->Imode & MODE_ZEN) { + s[0] = 0xa1a1; + s[1] = 0; + master_write(s, 1); + } else + master_write(s, 1); + + if(IsGoto(c) && (BuffYes() || cv->Imode != MODE_HALPHA)) { + cv->BuffMode = UNBUFF; + cv->Imode = MODE_HALPHA; + disp_mode(); + sj3_rkebell(0); + } + + if(IsTrap(c)) { + *s = inkey(); + if(keyvalue != KEY_NORMAL) + *s = pars_seq[0]; + master_write(s, 1); + } +} + +exec_mode(key) int key; +{ + Conversion* cv; + + cv = GetConversion(); + if(key == KEY_MUHENKAN) + key = eval_muhenkan(); + if(key == KEY_CODE) { + if(cv->Imode == MODE_CODE) + ChangeCode(); + else + cv->Imode = MODE_CODE; + } else + cv->Imode = eval_mode(key); +} + +toggle_mode(mod) int mod; +{ + int value; + + switch(mod) { case MODE_ZHIRA: value = KEY_ZKATA; break; @@ -843,12 +786,11 @@ int mod; return (value); } -eval_mode (key) -int key; +eval_mode(key) int key; { - int mod; + int mod; - switch (key) { + switch(key) { case KEY_ZHIRA: mod = MODE_ZHIRA; break; @@ -868,77 +810,70 @@ int key; return (mod); } -IsESC (c) -wchar16_t c; +IsESC(c) + wchar16_t c; { - if (c == ESC) + if(c == ESC) return (1); else return (0); } -Strncpy (d, s, len) -wchar16_t *d, *s; -int len; +Strncpy(d, s, len) + wchar16_t* d, + *s; +int len; { - if ((len > 0) && (s != (wchar16_t *) NULL)) - (void)wsncpy(d, s, len); + if((len > 0) && (s != (wchar16_t*)NULL)) + (void)wsncpy(d, s, len); } -is_bsdel (c) -int c; +is_bsdel(c) int c; { - if (is_bs (c) || is_del (c)) + if(is_bs(c) || is_del(c)) return (1); else return (0); } -clear_del () -{ +clear_del() { delkey = -1; } -set_bs (c) -int c; +set_bs(c) int c; { bskey = c; } -set_del (c) -int c; +set_del(c) int c; { delkey = c; } -is_bs (c) -int c; +is_bs(c) int c; { - if (c == bskey) + if(c == bskey) return (1); else return (0); } -is_del (c) -int c; +is_del(c) int c; { - if (c == delkey) + if(c == delkey) return (1); else return (0); } -static Conversion *saved_conversion; +static Conversion* saved_conversion; -SaveConversion () -{ - saved_conversion = GetConversion (); +SaveConversion() { + saved_conversion = GetConversion(); } -AnotherConversion () -{ - if (saved_conversion == GetConversion ()) +AnotherConversion() { + if(saved_conversion == GetConversion()) return (0); else return (1); diff --git a/stbtbl.c b/stbtbl.c index f3e4b79..ae7bfcc 100644 --- a/stbtbl.c +++ b/stbtbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,117 +28,127 @@ */ /* - * $SonyRCSfile: stbtbl.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: stbtbl.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:34 $ */ - - - #include "sj_rename.h" #include "sj_typedef.h" #include "sj_yomi.h" #include "sj_hinsi.h" -static unsigned char name_stb[] = { - 0x22, MEISI_1, _KU, _NN, - 0xb7, 0xaf, - 0x22, MEISI_1, _SA, _MA, - 0xcd, 0xcd, - 0x24, MEISI_1, _SA, _NN, - 0xa4, 0xb5, 0xa4, 0xf3, - 0x12, MEISI_1, _SI, - 0xbb, 0xe1, - 0x36, MEISI_1, _TI, _XYA, _NN, - 0xa4, 0xc1, 0xa4, 0xe3, 0xa4, 0xf3, - 0x22, MEISI_1, _DO, _NO, - 0xc5, 0xc2, - 0x00 -}; +static unsigned char name_stb[] = { + 0x22, MEISI_1, _KU, _NN, + 0xb7, 0xaf, + 0x22, MEISI_1, _SA, _MA, + 0xcd, 0xcd, + 0x24, MEISI_1, _SA, _NN, + 0xa4, 0xb5, 0xa4, 0xf3, + 0x12, MEISI_1, _SI, + 0xbb, 0xe1, + 0x36, MEISI_1, _TI, _XYA, _NN, + 0xa4, 0xc1, 0xa4, 0xe3, 0xa4, 0xf3, + 0x22, MEISI_1, _DO, _NO, + 0xc5, 0xc2, + 0x00}; -static unsigned char timei_stb[] = { - 0x22, MEISI_1, _E, _KI, - 0xb1, 0xd8, - 0x44, MEISI_1, _E, _KI, _HA, _TU, - 0xb1, 0xd8, 0xc8, 0xaf, - 0x44, MEISI_1, _E, _KI, _YU, _KI, - 0xb1, 0xd8, 0xb9, 0xd4, - 0x22, MEISI_1, _GU, _NN, - 0xb7, 0xb4, - 0x12, MEISI_1, _SI, - 0xbb, 0xd4, - 0x32, MEISI_1, _TI, _XYO, _U, - 0xc4, 0xae, - 0x22, MEISI_1, _HA, _TU, - 0xc8, 0xaf, - 0x22, MEISI_1, _MA, _TI, - 0xc4, 0xae, - 0x22, MEISI_1, _MU, _RA, - 0xc2, 0xbc, - 0x00 -}; +static unsigned char timei_stb[] = { + 0x22, MEISI_1, _E, _KI, + 0xb1, 0xd8, + 0x44, MEISI_1, _E, _KI, _HA, _TU, + 0xb1, 0xd8, 0xc8, 0xaf, + 0x44, MEISI_1, _E, _KI, _YU, _KI, + 0xb1, 0xd8, 0xb9, 0xd4, + 0x22, MEISI_1, _GU, _NN, + 0xb7, 0xb4, + 0x12, MEISI_1, _SI, + 0xbb, 0xd4, + 0x32, MEISI_1, _TI, _XYO, _U, + 0xc4, 0xae, + 0x22, MEISI_1, _HA, _TU, + 0xc8, 0xaf, + 0x22, MEISI_1, _MA, _TI, + 0xc4, 0xae, + 0x22, MEISI_1, _MU, _RA, + 0xc2, 0xbc, + 0x00}; -static unsigned char meisi_stb[] = { - 0x44, MEISI_6, _A, _TU, _KA, _I, - 0xb0, 0xb7, 0xa4, 0xa4, - 0x1a, MEISI_6, _KA, - 0xb2, 0xbd, - 0x22, MEISI_8, _TE, _KI, - 0xc5, 0xaa, - 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, - 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, - 0x22, MEISI_8, _HU, _U, - 0xc9, 0xf7, - 0x00 -}; +static unsigned char meisi_stb[] = { + 0x44, MEISI_6, _A, _TU, _KA, _I, + 0xb0, 0xb7, 0xa4, 0xa4, + 0x1a, MEISI_6, _KA, + 0xb2, 0xbd, + 0x22, MEISI_8, _TE, _KI, + 0xc5, 0xaa, + 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I, + 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, + 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U, + 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, + 0x22, MEISI_8, _HU, _U, + 0xc9, 0xf7, + 0x00}; -static unsigned char sahen_stb[] = { - 0x44, MEISI_6, _A, _TU, _KA, _I, - 0xb0, 0xb7, 0xa4, 0xa4, - 0x1a, MEISI_6, _KA, - 0xb2, 0xbd, - 0x12, MEISI_11, _GO, - 0xb8, 0xe5, - 0x22, MEISI_11, _GO, _TO, - 0xcb, 0xe8, - 0x32, MEISI_11, _ZI, _XYO, _U, - 0xbe, 0xe5, - 0x32, MEISI_11, _TI, _XYU, _U, - 0xc3, 0xe6, - 0x22, MEISI_8, _TE, _KI, - 0xc5, 0xaa, - 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, - 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, - 0x22, MEISI_8, _HU, _U, - 0xc9, 0xf7, - 0x22, MEISI_11, _MA, _E, - 0xc1, 0xb0, - 0x00 -}; +static unsigned char sahen_stb[] = { + 0x44, MEISI_6, _A, _TU, _KA, _I, + 0xb0, 0xb7, 0xa4, 0xa4, + 0x1a, MEISI_6, _KA, + 0xb2, 0xbd, + 0x12, MEISI_11, _GO, + 0xb8, 0xe5, + 0x22, MEISI_11, _GO, _TO, + 0xcb, 0xe8, + 0x32, MEISI_11, _ZI, _XYO, _U, + 0xbe, 0xe5, + 0x32, MEISI_11, _TI, _XYU, _U, + 0xc3, 0xe6, + 0x22, MEISI_8, _TE, _KI, + 0xc5, 0xaa, + 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I, + 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, + 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U, + 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, + 0x22, MEISI_8, _HU, _U, + 0xc9, 0xf7, + 0x22, MEISI_11, _MA, _E, + 0xc1, 0xb0, + 0x00}; -static unsigned char human_stb[] = { - 0x24, MEISI_1, _SA, _NN, - 0xa4, 0xb5, 0xa4, 0xf3, - 0x00 -}; +static unsigned char human_stb[] = { + 0x24, MEISI_1, _SA, _NN, + 0xa4, 0xb5, 0xa4, 0xf3, + 0x00}; -static unsigned char ippan_stb[] = { - 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, - 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, - 0x00 -}; +static unsigned char ippan_stb[] = { + 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I, + 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, + 0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U, + 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, + 0x00}; -unsigned char *stbadr[] = { - 0, - ippan_stb, ippan_stb, ippan_stb, meisi_stb, sahen_stb, - sahen_stb, sahen_stb, meisi_stb, meisi_stb, meisi_stb, - ippan_stb, ippan_stb, human_stb, ippan_stb, ippan_stb, - ippan_stb, ippan_stb, ippan_stb, 0, 0, - name_stb, name_stb, 0, timei_stb, +unsigned char* stbadr[] = { + 0, + ippan_stb, + ippan_stb, + ippan_stb, + meisi_stb, + sahen_stb, + sahen_stb, + sahen_stb, + meisi_stb, + meisi_stb, + meisi_stb, + ippan_stb, + ippan_stb, + human_stb, + ippan_stb, + ippan_stb, + ippan_stb, + ippan_stb, + ippan_stb, + 0, + 0, + name_stb, + name_stb, + 0, + timei_stb, }; diff --git a/string.c b/string.c index 31340e9..3448efd 100644 --- a/string.c +++ b/string.c @@ -43,38 +43,36 @@ #define FALSE (0) #endif -#define sjis2euc sj3_sjis2euc -#define euc2sjis sj3_euc2sjis +#define sjis2euc sj3_sjis2euc +#define euc2sjis sj3_euc2sjis -#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \ - ((0xe0 <= (c)) && ((c) <= 0xfc))) -#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe)) -#define iskana(c) ((0xa1 <= (c)) && ((c) <= 0xdf)) +#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \ + ((0xe0 <= (c)) && ((c) <= 0xfc))) +#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe)) +#define iskana(c) ((0xa1 <= (c)) && ((c) <= 0xdf)) -int -sj3_str_sjistoeuc(unsigned char *out, int outlen, unsigned char *in, - unsigned char *sjis_default, int *useflag) -{ +int sj3_str_sjistoeuc(unsigned char* out, int outlen, unsigned char* in, + unsigned char* sjis_default, int* useflag) { unsigned char *sjis = in, *euc = out; - int n = 0; + int n = 0; unsigned short code, default_code; - euc[0] = '\0'; + euc[0] = '\0'; *useflag = 0; - if (!sjis) + if(!sjis) return 0; - while (*sjis && n < outlen) { - if (issjis1(*sjis)) { + while(*sjis && n < outlen) { + if(issjis1(*sjis)) { code = sjis2euc((*sjis << 8) | *(sjis + 1)); - if (n + 2 > outlen) + if(n + 2 > outlen) return -1; - if (code == 0) { + if(code == 0) { default_code = sjis2euc((sjis_default[0] << 8) | - sjis_default[1]); - euc[n++] = default_code >> 8; - euc[n++] = default_code & 0xff; + sjis_default[1]); + euc[n++] = default_code >> 8; + euc[n++] = default_code & 0xff; (*useflag)++; } else { euc[n++] = code >> 8; @@ -82,8 +80,8 @@ sj3_str_sjistoeuc(unsigned char *out, int outlen, unsigned char *in, } sjis += 2; } else { - if (*sjis >= 0xa1 && *sjis <= 0xdf) { - if (n + 2 > outlen) + if(*sjis >= 0xa1 && *sjis <= 0xdf) { + if(n + 2 > outlen) return -1; euc[n++] = SS2; } @@ -91,33 +89,31 @@ sj3_str_sjistoeuc(unsigned char *out, int outlen, unsigned char *in, sjis++; } } - if (n > outlen) + if(n > outlen) return -1; euc[n] = '\0'; return n; } -int -sj3_str_euctosjis(unsigned char *out, int outlen, unsigned char *in, - unsigned char *sjis_default, int *useflag) -{ +int sj3_str_euctosjis(unsigned char* out, int outlen, unsigned char* in, + unsigned char* sjis_default, int* useflag) { unsigned char *euc = in, *sjis = out; - int n = 0; + int n = 0; unsigned short code, default_code; - sjis[0] = '\0'; + sjis[0] = '\0'; *useflag = 0; - if (!euc) + if(!euc) return 0; - while (*euc && n < outlen) { - if (iseuc(*euc)) { + while(*euc && n < outlen) { + if(iseuc(*euc)) { code = euc2sjis((*euc << 8) | *(euc + 1)); - if (n + 2 > outlen) + if(n + 2 > outlen) return -1; - if (code == 0) { + if(code == 0) { sjis[n++] = sjis_default[0]; sjis[n++] = sjis_default[1]; (*useflag)++; @@ -126,14 +122,14 @@ sj3_str_euctosjis(unsigned char *out, int outlen, unsigned char *in, sjis[n++] = code & 0xff; } euc += 2; - } else if (*euc == SS3) { - if (n + 2 > outlen) + } else if(*euc == SS3) { + if(n + 2 > outlen) return -1; sjis[n++] = sjis_default[0]; sjis[n++] = sjis_default[1]; euc += 3; (*useflag)++; - } else if (*euc == SS2) { + } else if(*euc == SS2) { sjis[n++] = *(euc + 1); euc += 2; } else { @@ -141,28 +137,26 @@ sj3_str_euctosjis(unsigned char *out, int outlen, unsigned char *in, euc++; } } - if (n > outlen) + if(n > outlen) return -1; sjis[n] = '\0'; return n; } -int -sj3_sjistoeuclen(unsigned char *str, int max) -{ +int sj3_sjistoeuclen(unsigned char* str, int max) { int len = 0, bytes = 1; - if (!max) + if(!max) return 0; - while ((bytes <= max) && *str) { - if (issjis1(*str)) { + while((bytes <= max) && *str) { + if(issjis1(*str)) { str++; bytes++; - if (!*str) + if(!*str) break; len += 2; - } else if (*str & 0x80) { + } else if(*str & 0x80) { len += 2; } else { len++; @@ -173,49 +167,41 @@ sj3_sjistoeuclen(unsigned char *str, int max) return len; } -#define MASK 0x7f -#define MSB 0x80 +#define MASK 0x7f +#define MSB 0x80 static unsigned char def_char[] = {0x81, 0x40}; -int -sj3_sjistoeuc(unsigned char *e, int elen, unsigned char *s, int slen) -{ +int sj3_sjistoeuc(unsigned char* e, int elen, unsigned char* s, int slen) { int dummy; return sj3_str_sjistoeuc(e, elen, s, def_char, &dummy); } -int -sj3_euctosjis(unsigned char *s, int slen, unsigned char *e, int elen) -{ +int sj3_euctosjis(unsigned char* s, int slen, unsigned char* e, int elen) { int dummy; return sj3_str_euctosjis(s, slen, e, def_char, &dummy); } -void -sj_euc2sjis(unsigned char *s) -{ +void sj_euc2sjis(unsigned char* s) { s[0] &= MASK; s[1] &= MASK; sj_jis2sjis(s); } -void -sj_jis2sjis(unsigned char *s) -{ - int high, low; - int nh, nl; +void sj_jis2sjis(unsigned char* s) { + int high, low; + int nh, nl; high = s[0]; - low = s[1]; - nh = ((high - 0x21) >> 1) + 0x81; - if (nh > 0x9f) + low = s[1]; + nh = ((high - 0x21) >> 1) + 0x81; + if(nh > 0x9f) nh += 0x40; - if (high & 1) { + if(high & 1) { nl = low + 0x1f; - if (low > 0x5f) + if(low > 0x5f) nl++; } else nl = low + 0x7e; @@ -223,50 +209,45 @@ sj_jis2sjis(unsigned char *s) s[1] = nl; } -void -sj_sjis2euc(unsigned char *s) -{ +void sj_sjis2euc(unsigned char* s) { sj_sjis2jis(s); s[0] |= MSB; s[1] |= MSB; } -void -sj_sjis2jis(unsigned char *s) -{ - int byte1, byte2; - unsigned char *sp; +void sj_sjis2jis(unsigned char* s) { + int byte1, byte2; + unsigned char* sp; - sp = s; + sp = s; byte1 = *sp++; byte2 = *sp--; - if (byte1 <= 0x80 || byte1 >= 0xf0 || - (byte1 >= 0xa0 && byte1 <= 0xdf) || - byte2 <= 0x3f || byte2 >= 0xfe || byte2 == 0x7f) { + if(byte1 <= 0x80 || byte1 >= 0xf0 || + (byte1 >= 0xa0 && byte1 <= 0xdf) || + byte2 <= 0x3f || byte2 >= 0xfe || byte2 == 0x7f) { byte1 = 0x81; byte2 = 0x40; } byte1 -= (byte1 >= 0xa0) ? 0xc1 : 0x81; - if (byte2 >= 0x9f) { + if(byte2 >= 0x9f) { *sp++ = (byte1 << 1) + 0x22; - *sp = byte2 - 0x7e; + *sp = byte2 - 0x7e; } else { *sp++ = (byte1 << 1) + 0x21; - *sp = byte2 - ((byte2 <= 0x7e) ? 0x1f : 0x20); + *sp = byte2 - ((byte2 <= 0x7e) ? 0x1f : 0x20); } } unsigned short -sj3_jis2sjis(unsigned short code) -{ +sj3_jis2sjis(unsigned short code) { unsigned char tmp[3]; tmp[0] = (code >> 8) & 0xff; tmp[1] = code & 0xff; tmp[2] = '\0'; - sj_jis2sjis((unsigned char *)tmp); + sj_jis2sjis((unsigned char*)tmp); code = (tmp[0] << 8) + tmp[1]; @@ -274,8 +255,7 @@ sj3_jis2sjis(unsigned short code) } unsigned short -sj3_jis2euc(unsigned short code) -{ +sj3_jis2euc(unsigned short code) { unsigned char tmp[3]; tmp[0] = (code >> 8) & 0xff; @@ -288,15 +268,14 @@ sj3_jis2euc(unsigned short code) } unsigned short -sj3_sjis2jis(unsigned short code) -{ +sj3_sjis2jis(unsigned short code) { unsigned char tmp[3]; tmp[0] = (code >> 8) & 0xff; tmp[1] = code & 0xff; tmp[2] = '\0'; - sj_sjis2jis((unsigned char *)tmp); + sj_sjis2jis((unsigned char*)tmp); code = (tmp[0] << 8) + tmp[1]; @@ -304,15 +283,14 @@ sj3_sjis2jis(unsigned short code) } unsigned short -sj3_euc2sjis(unsigned short code) -{ +sj3_euc2sjis(unsigned short code) { unsigned char tmp[3]; tmp[0] = (code >> 8) & 0xff; tmp[1] = code & 0xff; tmp[2] = '\0'; - sj_euc2sjis((unsigned char *)tmp); + sj_euc2sjis((unsigned char*)tmp); code = (tmp[0] << 8) + tmp[1]; @@ -320,15 +298,14 @@ sj3_euc2sjis(unsigned short code) } unsigned short -sj3_sjis2euc(unsigned short code) -{ +sj3_sjis2euc(unsigned short code) { unsigned char tmp[3]; tmp[0] = (code >> 8) & 0xff; tmp[1] = code & 0xff; tmp[2] = '\0'; - sj_sjis2euc((unsigned char *)tmp); + sj_sjis2euc((unsigned char*)tmp); code = (tmp[0] << 8) + tmp[1]; diff --git a/string2.c b/string2.c index 84a0cd3..2465678 100644 --- a/string2.c +++ b/string2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,71 +32,60 @@ #include "const.h" #include "dicttool.h" +int bubun_str(unsigned char* p1, int l1, unsigned char* p2, int l2) { + unsigned char* p; + int l; + int i; -int -bubun_str(unsigned char* p1, int l1, unsigned char* p2, int l2) -{ - unsigned char *p; - int l; - int i; + for(p = p1, l = l1; l > 0;) { - for (p = p1, l = l1 ; l > 0 ; ) { - - if (l < l2) break; - for (i = 0 ; i < l2 ; i++) - if (*(p + i) != *(p2 + i)) break; + if(l < l2) break; + for(i = 0; i < l2; i++) + if(*(p + i) != *(p2 + i)) break; - - if (i >= l2) return 1; + if(i >= l2) return 1; i = codesize(*p); p += i; l -= i; } - for (p = p2, l = l2 ; l > 0 ; ) { - - if (l < l1) break; - for (i = 0 ; i < l1 ; i++) if (*(p + i) != *(p1 + i)) break; + for(p = p2, l = l2; l > 0;) { - - if (i >= l1) return -1; + if(l < l1) break; + for(i = 0; i < l1; i++) + if(*(p + i) != *(p1 + i)) break; + + if(i >= l1) return -1; i = codesize(*p); p += i; l -= i; } - return 0; } +int overlap_str(unsigned char* p1, int l1, unsigned char* p2, int l2) { + unsigned char* p; + int l; + int i; + int j; + unsigned char tmp[MaxKanjiLength * 2 + MaxAtrNumber * 2]; + for(p = p1, l = l1; l > 0;) { -int -overlap_str(unsigned char *p1, int l1, unsigned char* p2, int l2) -{ - unsigned char *p; - int l; - int i; - int j; - unsigned char tmp[MaxKanjiLength * 2 + MaxAtrNumber * 2]; + if(l < l2) { + for(i = 0; (i < l) && (*(p + i) == *(p2 + i)); i++); - for (p = p1, l = l1 ; l > 0 ; ) { - - if (l < l2) { - for (i = 0 ; (i < l) && (*(p + i) == *(p2 + i)) ; i++) ; + if((i >= l) && (l2 + l1 - l < sizeof(tmp))) { - - if ((i >= l) && (l2 + l1 - l < sizeof(tmp))) { - - for (i = 0 ; i < l1 ; i++) + for(i = 0; i < l1; i++) tmp[i] = *(p1 + i); - for (j = l ; j < l2 ; i++, j++) + for(j = l; j < l2; i++, j++) tmp[i] = *(p2 + j); - - if (check_hindo(tmp, i)) { + if(check_hindo(tmp, i)) { return -1; } } @@ -107,21 +96,19 @@ overlap_str(unsigned char *p1, int l1, unsigned char* p2, int l2) l -= i; } - for (p = p2, l = l2 ; l > 0 ; ) { - - if (l < l1) { - for (i = 0 ; (i < l) && (*(p + i) == *(p1 + i)) ; i++) ; + for(p = p2, l = l2; l > 0;) { - - if ((i >= l) && (l1 + l2 - l < sizeof(tmp))) { - - for (i = 0 ; i < l2 ; i++) + if(l < l1) { + for(i = 0; (i < l) && (*(p + i) == *(p1 + i)); i++); + + if((i >= l) && (l1 + l2 - l < sizeof(tmp))) { + + for(i = 0; i < l2; i++) tmp[i] = *(p2 + i); - for (j = l ; j < l1 ; i++, j++) + for(j = l; j < l1; i++, j++) tmp[i] = *(p1 + j); - - if (check_hindo(tmp, i)) { + if(check_hindo(tmp, i)) { return -1; } } @@ -132,77 +119,58 @@ overlap_str(unsigned char *p1, int l1, unsigned char* p2, int l2) l -= i; } - return 0; } - size_t -istrlen(int* s) -{ - int *p; +istrlen(int* s) { + int* p; - for (p = s ; *p ; p++) ; + for(p = s; *p; p++); - return(p - s); + return (p - s); } - -int -istrcmp(int* s, int* d) -{ - for ( ; *s && (*s == *d) ; s++, d++) ; +int istrcmp(int* s, int* d) { + for(; *s && (*s == *d); s++, d++); return (*s - *d); } +int top_strcmp(int* src, int* dst) { + int i = 0; -int -top_strcmp(int* src, int* dst) -{ - int i = 0; - - - for (i = 0 ; *src && (*src == *dst) ; src++, dst++) + for(i = 0; *src && (*src == *dst); src++, dst++) i++; - return (i > MaxYomiAskNumber) ? MaxYomiAskNumber : i; } +int last_strcmp(int* src, int* dst) { + int slen, dlen; -int -last_strcmp(int* src, int* dst) -{ - int slen, dlen; - - slen = istrlen(src); dlen = istrlen(dst); - - if (dlen > MaxYomiAskNumber) + if(dlen > MaxYomiAskNumber) return 0; - - if (istrcmp(src + (slen - dlen), dst)) + if(istrcmp(src + (slen - dlen), dst)) return 0; - return dlen; } - -int -string_cmp(unsigned char* p1, int l1, unsigned char* p2, int l2) -{ - while (l1 > 0 && l2 > 0) { - if (*p1 != *p2) return (*p1 - *p2); - p1++; l1--; - p2++; l2--; +int string_cmp(unsigned char* p1, int l1, unsigned char* p2, int l2) { + while(l1 > 0 && l2 > 0) { + if(*p1 != *p2) return (*p1 - *p2); + p1++; + l1--; + p2++; + l2--; } - if (l1 == l2) return 0; - if (l1 > l2) return 1; + if(l1 == l2) return 0; + if(l1 > l2) return 1; return -1; } diff --git a/stttbl.c b/stttbl.c index 8f30706..1a6500d 100644 --- a/stttbl.c +++ b/stttbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,63 +28,42 @@ */ /* - * $SonyRCSfile: stttbl.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: stttbl.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:37 $ */ - - - #include "sj_rename.h" #include "sj_typedef.h" +static unsigned char o_settou[] = { + 0xA1, 0xb8, 0xe6, 0xa4, 0xaa}; +static unsigned char go_settou[] = { + 0xA1, 0xb8, 0xe6, 0xa4, 0xb4}; -static unsigned char o_settou[] = { - 0xA1, 0xb8, 0xe6, 0xa4, 0xaa -}; +static unsigned char dai_settou[] = { + 0x22, 0xc2, 0xe8, 0xc2, 0xe8}; -static unsigned char go_settou[] = { - 0xA1, 0xb8, 0xe6, 0xa4, 0xb4 -}; +static unsigned char kigou_settou[] = { + 0x01}; -static unsigned char dai_settou[] = { - 0x22, 0xc2, 0xe8, 0xc2, 0xe8 -}; +unsigned char* settou_ptr[] = { + NULL, o_settou, go_settou, dai_settou, kigou_settou}; -static unsigned char kigou_settou[] = { - 0x01 -}; +unsigned char scncttbl[2][24] = { + { + 0x48, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0xff, -unsigned char *settou_ptr[] = { - NULL, o_settou, go_settou, dai_settou, kigou_settou -}; + 0x00, 0x1f, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x00}, + { + 0x22, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -unsigned char scncttbl[2][24] = { - { - - 0x48, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0x18, 0x18, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0xff, - - - 0x00, 0x1f, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x00 - }, - - { - - 0x22, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - } -}; + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; diff --git a/study.c b/study.c index 1c3378b..262aba8 100644 --- a/study.c +++ b/study.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,110 +28,107 @@ */ /* - * $SonyRCSfile: study.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: study.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:38 $ * * $Id$ */ - #include #include "sj_kcnv.h" #include "kanakan.h" -void mvmemi(), mvmemd(); +void mvmemi(), mvmemd(); -int -study(STDYOUT *stdy) -{ - STDYOUT outp; - STDYIN *p1; - STDYIN *p2; - int wcnt; - int ret; - TypeDicSeg seg; - TypeDicOfs ofs; - TypeStyNum nm; - TypeStyNum wi; +int study(STDYOUT* stdy) { + STDYOUT outp; + STDYIN* p1; + STDYIN* p2; + int wcnt; + int ret; + TypeDicSeg seg; + TypeDicOfs ofs; + TypeStyNum nm; + TypeStyNum wi; - if (!StudyExist()) return StudyNoDict; + if(!StudyExist()) return StudyNoDict; - memcpy((unsigned char *)stdy, (unsigned char *)&outp, sizeof(outp)); + memcpy((unsigned char*)stdy, (unsigned char*)&outp, sizeof(outp)); - if (outp.stdy1.offset == 0) return StudyNotStudy; + if(outp.stdy1.offset == 0) return StudyNotStudy; p1 = srchstdy(outp.stdy1.seg, outp.stdy1.offset, outp.stdy1.dicid); - if (p1) { - nm = p1 -> styno; + if(p1) { + nm = p1->styno; - for (wcnt = StudyCount, p2 = StudyDict ; wcnt-- ; p2++) { - if (p2 -> styno < nm) p2 -> styno++; + for(wcnt = StudyCount, p2 = StudyDict; wcnt--; p2++) { + if(p2->styno < nm) p2->styno++; } - p1 -> styno = 1; + p1->styno = 1; - if (outp.sttfg) p1 -> sttkj = outp.stdy1.sttkj; - if (outp.ka_fg) p1 -> ka_kj = outp.stdy1.ka_kj; + if(outp.sttfg) p1->sttkj = outp.stdy1.sttkj; + if(outp.ka_fg) p1->ka_kj = outp.stdy1.ka_kj; - p1 -> nmflg = outp.stdy1.nmflg; + p1->nmflg = outp.stdy1.nmflg; putstydic(); return StudyNormEnd; } + if(StudyCount >= StudyMax) { - if (StudyCount >= StudyMax) { - - p1 = StudyDict; p2 = NULL; wi = 0; - for (wcnt = StudyMax ; wcnt-- ; p1++) { - if ((nm = p1 -> styno + 1) > wi) { + p1 = StudyDict; + p2 = NULL; + wi = 0; + for(wcnt = StudyMax; wcnt--; p1++) { + if((nm = p1->styno + 1) > wi) { wi = nm; p2 = p1; } - p1 -> styno = nm; + p1->styno = nm; } - if (p2) { - mvmemi((unsigned char *)(p2 + 1), (unsigned char *)p2, - (StudyTail - p2) * StudyRecSize); + if(p2) { + mvmemi((unsigned char*)(p2 + 1), (unsigned char*)p2, + (StudyTail - p2) * StudyRecSize); StudyCount -= 1; - } - else + } else return StudyError; ret = StudyFullArea; - } - else { + } else { p1 = StudyDict; - for (wcnt = StudyCount ; wcnt-- ; p1++) p1 -> styno++; + for(wcnt = StudyCount; wcnt--; p1++) p1->styno++; ret = StudyNormEnd; } - p1 = StudyDict; + p1 = StudyDict; seg = outp.stdy1.seg; - for (wcnt = StudyCount ; wcnt && (p1 -> seg < seg) ; ) { - wcnt--; p1++; - } - - ofs = outp.stdy1.offset; - while (wcnt-- && (p1 -> seg == seg)) { - if (p1 -> offset > ofs) break; + for(wcnt = StudyCount; wcnt && (p1->seg < seg);) { + wcnt--; p1++; } - mvmemd((unsigned char *)(StudyTail - 1), (unsigned char *)StudyTail, - (unsigned char *)(StudyTail - 1) - (unsigned char *)p1); - p1 -> offset = outp.stdy1.offset; - p1 -> seg = outp.stdy1.seg; - p1 -> dicid = outp.stdy1.dicid; - p1 -> styno = 1; - p1 -> sttkj = (outp.sttfg) ? outp.stdy1.sttkj : 0; - p1 -> ka_kj = (outp.ka_fg) ? outp.stdy1.ka_kj : 0; - p1 -> nmflg = outp.stdy1.nmflg; + ofs = outp.stdy1.offset; + while(wcnt-- && (p1->seg == seg)) { + if(p1->offset > ofs) break; + p1++; + } + + mvmemd((unsigned char*)(StudyTail - 1), (unsigned char*)StudyTail, + (unsigned char*)(StudyTail - 1) - (unsigned char*)p1); + p1->offset = outp.stdy1.offset; + p1->seg = outp.stdy1.seg; + p1->dicid = outp.stdy1.dicid; + p1->styno = 1; + p1->sttkj = (outp.sttfg) ? outp.stdy1.sttkj : 0; + p1->ka_kj = (outp.ka_fg) ? outp.stdy1.ka_kj : 0; + p1->nmflg = outp.stdy1.nmflg; StudyCount += 1; putstydic(); @@ -140,55 +137,52 @@ study(STDYOUT *stdy) } STDYIN* srchstdy( - TypeDicSeg seg, - TypeDicOfs ofs, - TypeDicID dicid) -{ + TypeDicSeg seg, + TypeDicOfs ofs, + TypeDicID dicid) { int high; int mid; int low; - STDYIN *ptr; + STDYIN* ptr; + if(!StudyExist()) return NULL; - if (!StudyExist()) return NULL; + if(!StudyCount || !ofs) return NULL; - if (!StudyCount || !ofs) return NULL; - - low = 0; + low = 0; high = StudyCount - 1; - for ( ; ; ) { + for(;;) { mid = ((low + high) >> 1); - if (StudyDict[mid].seg > seg) + if(StudyDict[mid].seg > seg) high = mid - 1; - else if (StudyDict[mid].seg < seg) + else if(StudyDict[mid].seg < seg) low = mid + 1; else break; - if (low > high) return NULL; + if(low > high) return NULL; } low = mid + 1; ptr = &StudyDict[mid]; - while (ptr -> seg == seg) { - if (ptr -> offset < ofs) break; - if (ptr -> dicid == dicid && ptr -> offset == ofs) return ptr; - if (!mid--) break; + while(ptr->seg == seg) { + if(ptr->offset < ofs) break; + if(ptr->dicid == dicid && ptr->offset == ofs) return ptr; + if(!mid--) break; ptr--; } ptr = &StudyDict[low]; mid = StudyCount - low; - while (mid-- && ptr -> seg == seg) { - if (ptr -> offset > ofs) break; - if (ptr -> dicid == dicid && ptr -> offset == ofs) return ptr; + while(mid-- && ptr->seg == seg) { + if(ptr->offset > ofs) break; + if(ptr->dicid == dicid && ptr->offset == ofs) return ptr; ptr++; } return NULL; } - diff --git a/suujitbl.c b/suujitbl.c index 97ed0b7..54625c7 100644 --- a/suujitbl.c +++ b/suujitbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -33,153 +33,126 @@ #include "sj_yomi.h" #include "sj_suuji.h" -#define NA SjTblNArabiaF -#define NY SjTblNYomiF -#define NN SjTblNNarabiF -#define NS SjTblNNanSuuF +#define NA SjTblNArabiaF +#define NY SjTblNYomiF +#define NN SjTblNNarabiF +#define NS SjTblNNanSuuF +unsigned char suuji_tbl[] = { + N_0, _NIL, _NIL, _Num0 | NA, 0x00, 0x00, + N_1, _NIL, _NIL, _Num1 | NA, 0xec, 0x07, + N_2, _NIL, _NIL, _Num2 | NA, 0xec, 0x07, + N_3, _NIL, _NIL, _Num3 | NA, 0xff, 0x07, + N_4, _NIL, _NIL, _Num4 | NA, 0xec, 0x07, + N_5, _NIL, _NIL, _Num5 | NA, 0xec, 0x07, + N_6, _NIL, _NIL, _Num6 | NA, 0xec, 0xc7, + N_7, _NIL, _NIL, _Num7 | NA, 0xec, 0x07, + N_8, _NIL, _NIL, _Num8 | NA, 0xec, 0xc7, + N_9, _NIL, _NIL, _Num9 | NA, 0xec, 0x07, + _I, _TI, _NIL, _Num1, 0x00, 0x05, + _I, _XTU, _NIL, _Num1S | NY, 0x20, 0x02, + _KI, _XYU, _U, _Num9, 0xec, 0x07, + _KU, _NIL, _NIL, _Num9 | NY, 0x00, 0x00, + _GO, _NIL, _NIL, _Num5, 0xec, 0x07, + _GO, _U, _NIL, _Num5 | NN, 0x00, 0x00, + _SA, _NN, _NIL, _Num3, 0xd3, 0x07, + _SI, _NIL, _NIL, _Num4 | NY, 0x80, 0x00, + _SI, _I, _NIL, _Num4 | NN, 0x00, 0x00, + _SI, _TI, _NIL, _Num7, 0xec, 0x07, + _SU, _U, _NIL, _NumS | NY | NS, 0xec, 0x07, + _ZE, _RO, _NIL, _Num0 | NN, 0x00, 0x00, + _NA, _NA, _NIL, _Num7, 0xec, 0x07, + _NA, _NN, _NIL, _NumN | NY | NS, 0xf3, 0x07, + _NI, _NIL, _NIL, _Num2, 0xec, 0x07, + _NI, _I, _NIL, _Num2 | NN, 0x00, 0x00, + _HA, _TI, _NIL, _Num8, 0xc0, 0x05, + _HA, _XTU, _NIL, _Num8 | NY, 0x20, 0xc2, + _MA, _RU, _NIL, _Num0 | NN, 0x00, 0x00, + _YO, _NIL, _NIL, _Num4 | NY, 0x00, 0x00, + _YO, _NN, _NIL, _Num4, 0xec, 0x07, + _RE, _I, _NIL, _Num0 | NN, 0xec, 0x00, + _RO, _KU, _NIL, _Num6, 0xe0, 0x07, + _RO, _XTU, _NIL, _Num6 | NY, 0x00, 0xc2, + 0}; +unsigned char kurai1_tbl[] = { + _ZI, _XYU, _U, (1 << 4) + 0 + Kr1TblTopF, 0x05, + _ZI, _XYU, _XTU, (1 << 4) + 1 + Kr1TblTopF, 0x02, + _SE, _NN, _NIL, (3 << 4) + 2 + Kr1TblTopF, 0x07, + _ZE, _NN, _NIL, (3 << 4) + 3, 0x05, + _HI, _XYA, _KU, (2 << 4) + 4 + Kr1TblTopF, 0x07, + _HI, _XYA, _XTU, (2 << 4) + 5 + Kr1TblTopF, 0x02, + _BI, _XYA, _KU, (2 << 4) + 6, 0x07, + _BI, _XYA, _XTU, (2 << 4) + 7, 0x00, + _PI, _XYA, _KU, (2 << 4) + 8, 0x07, + _PI, _XYA, _XTU, (2 << 4) + 9, 0x00, + 0}; -unsigned char suuji_tbl[] = { - N_0,_NIL,_NIL, _Num0 | NA, 0x00, 0x00, - N_1,_NIL,_NIL, _Num1 | NA, 0xec, 0x07, - N_2,_NIL,_NIL, _Num2 | NA, 0xec, 0x07, - N_3,_NIL,_NIL, _Num3 | NA, 0xff, 0x07, - N_4,_NIL,_NIL, _Num4 | NA, 0xec, 0x07, - N_5,_NIL,_NIL, _Num5 | NA, 0xec, 0x07, - N_6,_NIL,_NIL, _Num6 | NA, 0xec, 0xc7, - N_7,_NIL,_NIL, _Num7 | NA, 0xec, 0x07, - N_8,_NIL,_NIL, _Num8 | NA, 0xec, 0xc7, - N_9,_NIL,_NIL, _Num9 | NA, 0xec, 0x07, - _I, _TI, _NIL, _Num1, 0x00, 0x05, - _I, _XTU,_NIL, _Num1S | NY, 0x20, 0x02, - _KI,_XYU,_U, _Num9, 0xec, 0x07, - _KU,_NIL,_NIL, _Num9 | NY, 0x00, 0x00, - _GO,_NIL,_NIL, _Num5, 0xec, 0x07, - _GO,_U, _NIL, _Num5 | NN, 0x00, 0x00, - _SA,_NN, _NIL, _Num3, 0xd3, 0x07, - _SI,_NIL,_NIL, _Num4 | NY, 0x80, 0x00, - _SI,_I, _NIL, _Num4 | NN, 0x00, 0x00, - _SI,_TI, _NIL, _Num7, 0xec, 0x07, - _SU,_U, _NIL, _NumS | NY | NS, 0xec, 0x07, - _ZE,_RO, _NIL, _Num0 | NN, 0x00, 0x00, - _NA,_NA, _NIL, _Num7, 0xec, 0x07, - _NA,_NN, _NIL, _NumN | NY | NS, 0xf3, 0x07, - _NI,_NIL,_NIL, _Num2, 0xec, 0x07, - _NI,_I, _NIL, _Num2 | NN, 0x00, 0x00, - _HA,_TI, _NIL, _Num8, 0xc0, 0x05, - _HA,_XTU,_NIL, _Num8 | NY, 0x20, 0xc2, - _MA,_RU, _NIL, _Num0 | NN, 0x00, 0x00, - _YO,_NIL,_NIL, _Num4 | NY, 0x00, 0x00, - _YO,_NN, _NIL, _Num4, 0xec, 0x07, - _RE,_I, _NIL, _Num0 | NN, 0xec, 0x00, - _RO,_KU, _NIL, _Num6, 0xe0, 0x07, - _RO,_XTU,_NIL, _Num6 | NY, 0x00, 0xc2, - 0 -}; +unsigned char kurai2_tbl[] = { + _O, _KU, _NIL, (2 << 4) + 13, + _TI, _XYO, _U, (3 << 4) + 14, + _MA, _NN, _NIL, (1 << 4) + 15, + 0}; +unsigned char num1tbl[] = { + 0xa3, 0xb0, + 0xa3, 0xb1, + 0xa3, 0xb2, + 0xa3, 0xb3, + 0xa3, 0xb4, + 0xa3, 0xb5, + 0xa3, 0xb6, + 0xa3, 0xb7, + 0xa3, 0xb8, + 0xa3, 0xb9, + 0xa3, 0xb1, + 0xbf, 0xf4, + 0xb2, 0xbf}; +unsigned char num2tbl[] = { + 0xa1, 0xbb, + 0xb0, 0xec, + 0xc6, 0xf3, + 0xbb, 0xb0, + 0xbb, 0xcd, + 0xb8, 0xde, + 0xcf, 0xbb, + 0xbc, 0xb7, + 0xc8, 0xac, + 0xb6, 0xe5, + 0xb0, 0xec, + 0xbf, 0xf4, + 0xb2, 0xbf}; -unsigned char kurai1_tbl[] = { - _ZI,_XYU,_U, (1<<4)+0+Kr1TblTopF, 0x05, - _ZI,_XYU,_XTU, (1<<4)+1+Kr1TblTopF, 0x02, - _SE,_NN, _NIL, (3<<4)+2+Kr1TblTopF, 0x07, - _ZE,_NN, _NIL, (3<<4)+3, 0x05, - _HI,_XYA,_KU, (2<<4)+4+Kr1TblTopF, 0x07, - _HI,_XYA,_XTU, (2<<4)+5+Kr1TblTopF, 0x02, - _BI,_XYA,_KU, (2<<4)+6, 0x07, - _BI,_XYA,_XTU, (2<<4)+7, 0x00, - _PI,_XYA,_KU, (2<<4)+8, 0x07, - _PI,_XYA,_XTU, (2<<4)+9, 0x00, - 0 -}; +unsigned char num3tbl[] = { + 0xce, 0xed, + 0xb0, 0xed, + 0xc6, 0xf5, + 0xbb, 0xb2, + 0xbb, 0xcd, + 0xb8, 0xde, + 0xcf, 0xbb, + 0xbc, 0xb7, + 0xc8, 0xac, + 0xb6, 0xe5, + 0xb0, 0xed, + 0xbf, 0xf4, + 0xb2, 0xbf}; +unsigned char num4tbl[] = { + 0xc0, 0xe9, + 0xc9, 0xb4, + 0xbd, 0xbd, + 0}; +unsigned char num5tbl[] = { + 0xc0, 0xe9, + 0xc9, 0xb4, + 0xbd, 0xa6, + 0}; -unsigned char kurai2_tbl[] = { - _O, _KU, _NIL, (2<<4)+13, - _TI,_XYO,_U, (3<<4)+14, - _MA,_NN, _NIL, (1<<4)+15, - 0 -}; - - - -unsigned char num1tbl[] = { - 0xa3, 0xb0, - 0xa3, 0xb1, - 0xa3, 0xb2, - 0xa3, 0xb3, - 0xa3, 0xb4, - 0xa3, 0xb5, - 0xa3, 0xb6, - 0xa3, 0xb7, - 0xa3, 0xb8, - 0xa3, 0xb9, - 0xa3, 0xb1, - 0xbf, 0xf4, - 0xb2, 0xbf -}; - - - -unsigned char num2tbl[] = { - 0xa1, 0xbb, - 0xb0, 0xec, - 0xc6, 0xf3, - 0xbb, 0xb0, - 0xbb, 0xcd, - 0xb8, 0xde, - 0xcf, 0xbb, - 0xbc, 0xb7, - 0xc8, 0xac, - 0xb6, 0xe5, - 0xb0, 0xec, - 0xbf, 0xf4, - 0xb2, 0xbf -}; - - - -unsigned char num3tbl[] = { - 0xce, 0xed, - 0xb0, 0xed, - 0xc6, 0xf5, - 0xbb, 0xb2, - 0xbb, 0xcd, - 0xb8, 0xde, - 0xcf, 0xbb, - 0xbc, 0xb7, - 0xc8, 0xac, - 0xb6, 0xe5, - 0xb0, 0xed, - 0xbf, 0xf4, - 0xb2, 0xbf -}; - - - -unsigned char num4tbl[] = { - 0xc0, 0xe9, - 0xc9, 0xb4, - 0xbd, 0xbd, - 0 -}; - - - -unsigned char num5tbl[] = { - 0xc0, 0xe9, - 0xc9, 0xb4, - 0xbd, 0xa6, - 0 -}; - - - -unsigned char num6tbl[] = { - 0xc3, 0xfb, - 0xb2, 0xaf, - 0xcb, 0xfc, - 0 -}; +unsigned char num6tbl[] = { + 0xc3, 0xfb, + 0xb2, 0xaf, + 0xcb, 0xfc, + 0}; diff --git a/term.c b/term.c index c640812..22ad9c5 100644 --- a/term.c +++ b/term.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,33 +28,24 @@ */ /* - * $SonyRCSfile: term.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: term.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:29 $ */ - - #include "sj2.h" +char* n_key_set = "\033P%d|%02x;%02x;%02xp"; +char* s_key_set = "\033P%d|%02x;%02x;%02xP"; +#define ESCAPE '\033' +set_news() { -char *n_key_set ="\033P%d|%02x;%02x;%02xp"; - -char *s_key_set ="\033P%d|%02x;%02x;%02xP"; - -#define ESCAPE '\033' - -set_news () -{ - - - - aprintf (s_key_set, 24, ESCAPE, 'O', 'H'); - aprintf (n_key_set, 24, ESCAPE, 'O', 'P'); - aprintf (n_key_set, 23, ESCAPE, 'O', 'Q'); - aprintf (n_key_set, 25, ESCAPE, 'O', 'S'); - fflush (stdout); + aprintf(s_key_set, 24, ESCAPE, 'O', 'H'); + aprintf(n_key_set, 24, ESCAPE, 'O', 'P'); + aprintf(n_key_set, 23, ESCAPE, 'O', 'Q'); + aprintf(n_key_set, 25, ESCAPE, 'O', 'S'); + fflush(stdout); } diff --git a/terminat.c b/terminat.c index 3a5dc84..93ccc45 100644 --- a/terminat.c +++ b/terminat.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,44 +28,39 @@ */ /* - * $SonyRCSfile: terminat.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: terminat.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:40 $ */ - - #include "sj_kcnv.h" #include "sj_right.h" -int terminate(right, yomi) -TypeCnct right; -unsigned char *yomi; +int terminate(right, yomi) +TypeCnct right; +unsigned char* yomi; { - unsigned char ch; + unsigned char ch; - - if ((yomi > cnvstart) && (Chrtbl[*(yomi - 1)] & NUMBER)) + if((yomi > cnvstart) && (Chrtbl[*(yomi - 1)] & NUMBER)) return TRUE; ch = *yomi; - if (Termtbl[right] & T_SHUUJO) { + if(Termtbl[right] & T_SHUUJO) { - if (!ch) return TRUE; + if(!ch) return TRUE; - if (Chrtbl[ch] & FZKTOP) return FALSE; + if(Chrtbl[ch] & FZKTOP) return FALSE; - if (!isdpnd(ch)) return SHU; + if(!isdpnd(ch)) return SHU; } - if (Termtbl[right] & T_KANOU) { + if(Termtbl[right] & T_KANOU) { - if (ch && (Chrtbl[ch] & FZKTOP)) return FALSE; + if(ch && (Chrtbl[ch] & FZKTOP)) return FALSE; - if (!isdpnd(ch)) return TRUE; + if(!isdpnd(ch)) return TRUE; } - return FALSE; } - diff --git a/termtbl.c b/termtbl.c index 9b258b1..6a32d9d 100644 --- a/termtbl.c +++ b/termtbl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -32,287 +32,285 @@ #include "const.h" #include "sj_prty.h" +unsigned char termtbl[] = { + 0, + T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_A, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_B, + T_KANOU + 8, + T_KANOU + P_JOSHI_B, -unsigned char termtbl[] = { - 0, - T_KANOU + P_JOSHI_B, - T_KANOU + P_JOSHI_A, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_B, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_B, - T_KANOU + 8, - T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_E, + T_KANOU + P_JOSHI_B, + 0 + P_FUKA, + 0 + P_FUKA, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_B, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_E, - T_KANOU + P_JOSHI_B, - 0 + P_FUKA, - 0 + P_FUKA, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + 0 + P_FUKA, + T_KANOU + P_RENYOU_J, + T_KANOU + P_RENYOU_J, + T_KANOU + P_RENYOU_J, + T_KANOU + P_RENYOU_J, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - 0 + P_FUKA, - T_KANOU + P_RENYOU_J, - T_KANOU + P_RENYOU_J, - T_KANOU + P_RENYOU_J, - T_KANOU + P_RENYOU_J, + T_KANOU + P_RENYOU_M, + T_KANOU + P_RENYOU_M, + T_KANOU + P_RENYOU_M, + T_KANOU + P_RENYOU_M, + T_KANOU + P_RENYOU_M, + T_KANOU + P_RENYOU_M, + 0, + 0, + 0, + T_KANOU + P_RENYOU_J, - T_KANOU + P_RENYOU_M, - T_KANOU + P_RENYOU_M, - T_KANOU + P_RENYOU_M, - T_KANOU + P_RENYOU_M, - T_KANOU + P_RENYOU_M, - T_KANOU + P_RENYOU_M, - 0, - 0, - 0, - T_KANOU + P_RENYOU_J, + T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_C, + T_KANOU + P_RENYOU_J, + 0 + P_FUKA, + 0 + P_FUKA, + 0 + P_FUKA, + 0 + P_FUKA, + 0 + P_FUKA, + 0 + P_FUKA, + 0 + P_FUKA, - T_KANOU + P_JOSHI_B, - T_KANOU + P_JOSHI_C, - T_KANOU + P_RENYOU_J, - 0 + P_FUKA, - 0 + P_FUKA, - 0 + P_FUKA, - 0 + P_FUKA, - 0 + P_FUKA, - 0 + P_FUKA, - 0 + P_FUKA, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + 0 + P_FUKA, + T_KANOU + P_JOSHI_C, + T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - 0 + P_FUKA, - T_KANOU + P_JOSHI_C, - T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_F, + T_SHUUJO + P_SHUUSI, + T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_F, - T_SHUUJO+ P_SHUUSI, - T_KANOU + P_SHUUSI, - T_KANOU + P_SHUUSI, - T_KANOU + P_SHUUSI, - T_KANOU + P_SHUUSI, - T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, + T_KANOU + RENTAI + 8, + T_KANOU + RENTAI + 10, + T_KANOU + RENTAI + 7, + T_KANOU + P_SHUUSI, + T_KANOU + RENTAI + 7, + T_KANOU + RENTAI + 6, + T_KANOU + P_SHUUSI, + T_KANOU + RENTAI + 7, - T_KANOU + P_SHUUSI, - T_KANOU + P_SHUUSI, - T_KANOU + RENTAI + 8, - T_KANOU + RENTAI + 10, - T_KANOU + RENTAI + 7, - T_KANOU + P_SHUUSI, - T_KANOU + RENTAI + 7, - T_KANOU + RENTAI + 6, - T_KANOU + P_SHUUSI, - T_KANOU + RENTAI + 7, + T_KANOU + RENTAI + 6, + T_KANOU + RENTAI + 6, + T_SHUUJO + RENTAI + 6, + T_KANOU + RENTAI + 6, + T_KANOU + RENTAI + 7, + T_KANOU + RENTAI + 6, + T_KANOU + RENTAI + 6, + T_KANOU + RENTAI + 6, + T_KANOU + RENTAI + 6, + T_KANOU + RENTAI + 6, - T_KANOU + RENTAI + 6, - T_KANOU + RENTAI + 6, - T_SHUUJO+ RENTAI + 6, - T_KANOU + RENTAI + 6, - T_KANOU + RENTAI + 7, - T_KANOU + RENTAI + 6, - T_KANOU + RENTAI + 6, - T_KANOU + RENTAI + 6, - T_KANOU + RENTAI + 6, - T_KANOU + RENTAI + 6, + 0 + P_FUKA, + T_KANOU + RENTAI + 6, + 0 + P_FUKA, + T_KANOU + 3, + 0 + P_FUKA, + 0 + P_FUKA, + T_KANOU + P_KAMEI, + T_KANOU + P_MEIREI, + T_KANOU + P_MEIREI, + T_SHUUJO + P_MEIREI, + T_SHUUJO + P_MEIREI, - 0 + P_FUKA, - T_KANOU + RENTAI + 6, - 0 + P_FUKA, - T_KANOU + 3, - 0 + P_FUKA, - 0 + P_FUKA, - T_KANOU + P_KAMEI, - T_KANOU + P_MEIREI, - T_KANOU + P_MEIREI, - T_SHUUJO+ P_MEIREI, - T_SHUUJO+ P_MEIREI, + T_KANOU + P_MEISI, + 0 + P_FUKA, + T_KANOU + P_FUKA, + T_KANOU + P_MEISI, + T_KANOU + P_DAIMEISI, + T_KANOU + P_DAIMEISI, + T_KANOU + P_MEISI, + T_KANOU + P_JOSHI_D, + T_KANOU + P_JOSHI_E, - T_KANOU + P_MEISI, - 0 + P_FUKA, - T_KANOU + P_FUKA, - T_KANOU + P_MEISI, - T_KANOU + P_DAIMEISI, - T_KANOU + P_DAIMEISI, - T_KANOU + P_MEISI, - T_KANOU + P_JOSHI_D, - T_KANOU + P_JOSHI_E, + T_KANOU + P_SHUUSI, + T_KANOU + P_DAIMEISI, + T_KANOU + P_FUKUSI, + T_KANOU + P_FUKUSI, + T_KANOU + P_SHUUSI, + 0 + P_FUKA, + T_KANOU + P_DAIMEISI, + T_KANOU + 7, + 0 + P_FUKA, + T_SHUUJO + P_JOSHI_E, - T_KANOU + P_SHUUSI, - T_KANOU + P_DAIMEISI, - T_KANOU + P_FUKUSI, - T_KANOU + P_FUKUSI, - T_KANOU + P_SHUUSI, - 0 + P_FUKA, - T_KANOU + P_DAIMEISI, - T_KANOU + 7, - 0 + P_FUKA, - T_SHUUJO+ P_JOSHI_E, + T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_A, + T_KANOU + P_MEISI, + T_KANOU + P_JOSHI_B, + T_KANOU + P_RENYOU_F, + T_KANOU + P_F_FUKUSI, + 0, + T_KANOU + P_JOSHI_F, + 0, + 0, - T_KANOU + P_JOSHI_B, - T_KANOU + P_JOSHI_A, - T_KANOU + P_MEISI, - T_KANOU + P_JOSHI_B, - T_KANOU + P_RENYOU_F, - T_KANOU + P_F_FUKUSI, - 0, - T_KANOU + P_JOSHI_F, - 0, - 0, + 0 + P_FUKA, + 0 + P_FUKA, + 0 + P_FUKA, + T_KANOU + P_RENYOU_F, + T_KANOU + P_RENYOU_J, + T_KANOU + P_RENYOU_F, + 0 + P_FUKA, + T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, - 0 + P_FUKA, - 0 + P_FUKA, - 0 + P_FUKA, - T_KANOU + P_RENYOU_F, - T_KANOU + P_RENYOU_J, - T_KANOU + P_RENYOU_F, - 0 + P_FUKA, - T_KANOU + P_SHUUSI, - T_KANOU + P_SHUUSI, - T_KANOU + P_SHUUSI, + T_KANOU + P_SHUUSI, + 0 + P_FUKA, + 0 + P_FUKA, + 0 + P_FUKA, + T_SHUUJO + P_SHUUSI, + T_KANOU + P_JOSHI_C, + T_KANOU + 1, + T_KANOU + P_JOSHI_F, + T_KANOU + P_JOSHI_F, + T_KANOU + P_JOSHI_C, - T_KANOU + P_SHUUSI, - 0 + P_FUKA, - 0 + P_FUKA, - 0 + P_FUKA, - T_SHUUJO+ P_SHUUSI, - T_KANOU + P_JOSHI_C, - T_KANOU + 1, - T_KANOU + P_JOSHI_F, - T_KANOU + P_JOSHI_F, - T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_F, + T_KANOU + P_SHUUSI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_F, - T_KANOU + P_SHUUSI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_D, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_B, - T_KANOU + P_JOSHI_D, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_D, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_B, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_D, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_D, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_B, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_D, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_B, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_D, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_B, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_D, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_D, + T_KANOU + P_JOSHI_D, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_D, - T_KANOU + P_JOSHI_D, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, + T_SHUUJO + P_SHUUSI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, - T_SHUUJO+ P_SHUUSI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_B, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_B, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, + T_KANOU + P_JOSHI_C, + T_KANOU + P_JOSHI_C, + T_KANOU + P_KEISIKI, + T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_B, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_B, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, - T_KANOU + P_JOSHI_C, - T_KANOU + P_JOSHI_C, - T_KANOU + P_KEISIKI, - T_KANOU + P_KEISIKI, + 0 + P_JOSHI_C, + T_KANOU + P_SUUSI, + T_KANOU + P_SETUZOKU, + T_KANOU + P_KANDOU, + T_KANOU + P_SETTOU, + T_KANOU + P_FUKUSI, + T_KANOU + P_FZKKGU, + T_KANOU + P_MEISI, + T_KANOU + P_MEISI, + T_KANOU + P_MEISI, - 0 + P_JOSHI_C, - T_KANOU + P_SUUSI, - T_KANOU + P_SETUZOKU, - T_KANOU + P_KANDOU, - T_KANOU + P_SETTOU, - T_KANOU + P_FUKUSI, - T_KANOU + P_FZKKGU, - T_KANOU + P_MEISI, - T_KANOU + P_MEISI, - T_KANOU + P_MEISI, - - T_KANOU + P_MEISI, - 0 + P_SETUBI, - T_KANOU + P_SETUBI, - T_KANOU + P_JOSUUSI, - T_KANOU + P_RENTAISI, - T_KANOU + P_TANKAN -}; + T_KANOU + P_MEISI, + 0 + P_SETUBI, + T_KANOU + P_SETUBI, + T_KANOU + P_JOSUUSI, + T_KANOU + P_RENTAISI, + T_KANOU + P_TANKAN}; diff --git a/tests.c b/tests.c index 70a8635..2c645e9 100644 --- a/tests.c +++ b/tests.c @@ -1,8 +1,6 @@ #if TEST___PROGNAME -int -main(void) -{ - extern char *__progname; +int main(void) { + extern char* __progname; return !__progname; } @@ -10,9 +8,7 @@ main(void) #if TEST_ARC4RANDOM #include -int -main(void) -{ +int main(void) { return (arc4random() + 1) ? 0 : 1; } #endif /* TEST_ARC4RANDOM */ @@ -20,44 +16,39 @@ main(void) #include #include -int -main(void) -{ - const char *src = "hello world"; - char output[1024]; +int main(void) { + const char* src = "hello world"; + char output[1024]; - return b64_ntop((const unsigned char *)src, 11, output, sizeof(output)) > 0 ? 0 : 1; + return b64_ntop((const unsigned char*)src, 11, output, sizeof(output)) > 0 ? 0 : 1; } #endif /* TEST_B64_NTOP */ #if TEST_CAPSICUM #include -int -main(void) -{ +int main(void) { cap_enter(); - return(0); + return (0); } #endif /* TEST_CAPSICUM */ #if TEST_CRYPT #if defined(__linux__) || defined(__wasi__) -# define _GNU_SOURCE /* old glibc */ -# define _DEFAULT_SOURCE /* new glibc */ +#define _GNU_SOURCE /* old glibc */ +#define _DEFAULT_SOURCE /* new glibc */ #endif #if defined(__sun) -# ifndef _XOPEN_SOURCE /* SunOS already defines */ -# define _XOPEN_SOURCE /* XPGx */ -# endif -# define _XOPEN_SOURCE_EXTENDED 1 /* XPG4v2 */ -# ifndef __EXTENSIONS__ /* SunOS already defines */ -# define __EXTENSIONS__ /* reallocarray, etc. */ -# endif +#ifndef _XOPEN_SOURCE /* SunOS already defines */ +#define _XOPEN_SOURCE /* XPGx */ +#endif +#define _XOPEN_SOURCE_EXTENDED 1 /* XPG4v2 */ +#ifndef __EXTENSIONS__ /* SunOS already defines */ +#define __EXTENSIONS__ /* reallocarray, etc. */ +#endif #endif #include -int main(void) -{ - char *v; +int main(void) { + char* v; v = crypt("this_is_a_key", "123455"); return v == NULL; @@ -67,15 +58,13 @@ int main(void) #include /* _PASSWORD_LEN */ #include -int -main(void) -{ - const char *v = "password"; - char hash[_PASSWORD_LEN]; +int main(void) { + const char* v = "password"; + char hash[_PASSWORD_LEN]; - if (crypt_newhash(v, "bcrypt,a", hash, sizeof(hash)) == -1) + if(crypt_newhash(v, "bcrypt,a", hash, sizeof(hash)) == -1) return 1; - if (crypt_checkpass(v, hash) == -1) + if(crypt_checkpass(v, hash) == -1) return 1; return 0; @@ -83,19 +72,17 @@ main(void) #endif /* TEST_CRYPT_NEWHASH */ #if TEST_C99_STDINT #if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) -# error "C99 is required for stdint.h" +#error "C99 is required for stdint.h" #endif #include -int -main(void) -{ - uint8_t u8; +int main(void) { + uint8_t u8; uint16_t u16; uint32_t u32; uint64_t u64; - u8 = 0; + u8 = 0; u16 = 0; u32 = 0; u64 = 0; @@ -104,13 +91,11 @@ main(void) #endif /* TEST_C99_STDINT */ #if TEST_ENDIAN_H #if defined(__linux__) || defined(__wasi__) -# define _DEFAULT_SOURCE +#define _DEFAULT_SOURCE #endif #include -int -main(void) -{ +int main(void) { return !htole32(23); } #endif /* TEST_ENDIAN_H */ @@ -134,9 +119,7 @@ main(void) #include #include -int -main(void) -{ +int main(void) { warnx("%d. warnx", 1); warnc(ENOENT, "%d. warn", ENOENT); warn("%d. warn", 2); @@ -150,13 +133,11 @@ main(void) #if TEST_EXPLICIT_BZERO #include -int -main(void) -{ +int main(void) { char foo[10]; explicit_bzero(foo, sizeof(foo)); - return(0); + return (0); } #endif /* TEST_EXPLICIT_BZERO */ #if TEST_FTS @@ -165,31 +146,29 @@ main(void) #include #include -int -main(void) -{ - const char *argv[2]; - FTS *ftsp; - FTSENT *entry; +int main(void) { + const char* argv[2]; + FTS* ftsp; + FTSENT* entry; argv[0] = "."; - argv[1] = (char *)NULL; + argv[1] = (char*)NULL; - ftsp = fts_open((char * const *)argv, - FTS_PHYSICAL | FTS_NOCHDIR, NULL); + ftsp = fts_open((char* const*)argv, + FTS_PHYSICAL | FTS_NOCHDIR, NULL); - if (ftsp == NULL) + if(ftsp == NULL) return 1; entry = fts_read(ftsp); - if (entry == NULL) + if(entry == NULL) return 1; - if (fts_set(ftsp, entry, FTS_SKIP) != 0) + if(fts_set(ftsp, entry, FTS_SKIP) != 0) return 1; - if (fts_close(ftsp) != 0) + if(fts_close(ftsp) != 0) return 1; return 0; @@ -198,10 +177,8 @@ main(void) #if TEST_GETEXECNAME #include -int -main(void) -{ - const char * progname; +int main(void) { + const char* progname; progname = getexecname(); return progname == NULL; @@ -210,10 +187,8 @@ main(void) #if TEST_GETPROGNAME #include -int -main(void) -{ - const char * progname; +int main(void) { + const char* progname; progname = getprogname(); return progname == NULL; @@ -227,9 +202,7 @@ main(void) #include #include -int -main(void) -{ +int main(void) { printf("INFTIM is defined to be %ld\n", (long)INFTIM); return 0; } @@ -244,31 +217,26 @@ main(void) #include #ifndef landlock_create_ruleset -static inline int landlock_create_ruleset(const struct landlock_ruleset_attr *const attr, - const size_t size, const __u32 flags) -{ +static inline int landlock_create_ruleset(const struct landlock_ruleset_attr* const attr, + const size_t size, const __u32 flags) { return syscall(__NR_landlock_create_ruleset, attr, size, flags); } #endif #ifndef landlock_restrict_self -static inline int landlock_restrict_self(const int ruleset_fd, - const __u32 flags) -{ +static inline int landlock_restrict_self(const int ruleset_fd, + const __u32 flags) { return syscall(__NR_landlock_restrict_self, ruleset_fd, flags); } #endif -int -main(void) -{ - uint64_t mask = LANDLOCK_ACCESS_FS_READ_FILE | LANDLOCK_ACCESS_FS_WRITE_FILE; +int main(void) { + uint64_t mask = LANDLOCK_ACCESS_FS_READ_FILE | LANDLOCK_ACCESS_FS_WRITE_FILE; struct landlock_ruleset_attr rules = { - .handled_access_fs = mask - }; + .handled_access_fs = mask}; int fd = landlock_create_ruleset(&rules, sizeof(rules), 0); - if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) + if(prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) return 1; return landlock_restrict_self(fd, 0) ? 1 : 0; } @@ -276,9 +244,7 @@ main(void) #if TEST_LIB_SOCKET #include -int -main(void) -{ +int main(void) { int fds[2], c; c = socketpair(AF_UNIX, SOCK_STREAM, 0, fds); @@ -289,13 +255,12 @@ main(void) #include #include -int main(void) -{ +int main(void) { MD5_CTX ctx; - char result[MD5_DIGEST_STRING_LENGTH]; + char result[MD5_DIGEST_STRING_LENGTH]; MD5Init(&ctx); - MD5Update(&ctx, (const unsigned char *)"abcd", 4); + MD5Update(&ctx, (const unsigned char*)"abcd", 4); MD5End(&ctx, result); return 0; @@ -305,34 +270,29 @@ int main(void) #define _GNU_SOURCE #include -int -main(void) -{ - char *a = memmem("hello, world", strlen("hello, world"), "world", strlen("world")); - return(NULL == a); +int main(void) { + char* a = memmem("hello, world", strlen("hello, world"), "world", strlen("world")); + return (NULL == a); } #endif /* TEST_MEMMEM */ #if TEST_MEMRCHR #if defined(__linux__) || defined(__MINT__) || defined(__wasi__) -#define _GNU_SOURCE /* See test-*.c what needs this. */ +#define _GNU_SOURCE /* See test-*.c what needs this. */ #endif #include -int -main(void) -{ - const char *buf = "abcdef"; - void *res; +int main(void) { + const char* buf = "abcdef"; + void* res; res = memrchr(buf, 'a', strlen(buf)); - return(NULL == res ? 1 : 0); + return (NULL == res ? 1 : 0); } #endif /* TEST_MEMRCHR */ #if TEST_MEMSET_S #include -int main(void) -{ +int main(void) { char buf[10]; memset_s(buf, 0, 'c', sizeof(buf)); return 0; @@ -359,9 +319,7 @@ int main(void) { #if TEST_OSBYTEORDER_H #include -int -main(void) -{ +int main(void) { return !OSSwapHostToLittleInt32(23); } #endif /* TEST_OSBYTEORDER_H */ @@ -390,9 +348,7 @@ main(void) #include #include -int -main(void) -{ +int main(void) { printf("PATH_MAX is defined to be %ld\n", (long)PATH_MAX); return 0; } @@ -400,19 +356,15 @@ main(void) #if TEST_PLEDGE #include -int -main(void) -{ +int main(void) { return !!pledge("stdio", NULL); } #endif /* TEST_PLEDGE */ #if TEST_PROGRAM_INVOCATION_SHORT_NAME -#define _GNU_SOURCE /* See feature_test_macros(7) */ +#define _GNU_SOURCE /* See feature_test_macros(7) */ #include -int -main(void) -{ +int main(void) { return !program_invocation_short_name; } @@ -421,55 +373,45 @@ main(void) #include #include -int -main(void) -{ +int main(void) { return !!readpassphrase("prompt: ", NULL, 0, 0); } #endif /* TEST_READPASSPHRASE */ #if TEST_REALLOCARRAY #ifdef __NetBSD__ -# define _OPENBSD_SOURCE +#define _OPENBSD_SOURCE #endif #include -int -main(void) -{ +int main(void) { return !reallocarray(NULL, 2, 2); } #endif /* TEST_REALLOCARRAY */ #if TEST_RECALLOCARRAY #include -int -main(void) -{ +int main(void) { return !recallocarray(NULL, 0, 2, 2); } #endif /* TEST_RECALLOCARRAY */ #if TEST_SANDBOX_INIT #include -int -main(void) -{ - char *ep; - int rc; +int main(void) { + char* ep; + int rc; rc = sandbox_init(kSBXProfileNoInternet, SANDBOX_NAMED, &ep); - if (-1 == rc) + if(-1 == rc) sandbox_free_error(ep); - return(-1 == rc); + return (-1 == rc); } #endif /* TEST_SANDBOX_INIT */ #if TEST_SCAN_SCALED #include -int -main(void) -{ - char *cinput = (char *)"1.5K", buf[FMT_SCALED_STRSIZE]; +int main(void) { + char * cinput = (char*)"1.5K", buf[FMT_SCALED_STRSIZE]; long long ninput = 10483892, result; return scan_scaled(cinput, &result) == 0; } @@ -479,12 +421,10 @@ main(void) #include #include -int -main(void) -{ +int main(void) { prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0); - return(EFAULT == errno ? 0 : 1); + return (EFAULT == errno ? 0 : 1); } #endif /* TEST_SECCOMP_FILTER */ #if TEST_SETRESGID @@ -492,9 +432,7 @@ main(void) #include #include -int -main(void) -{ +int main(void) { return setresgid(-1, -1, -1) == -1; } #endif /* TEST_SETRESGID */ @@ -503,9 +441,7 @@ main(void) #include #include -int -main(void) -{ +int main(void) { return setresuid(-1, -1, -1) == -1; } #endif /* TEST_SETRESUID */ @@ -513,13 +449,12 @@ main(void) #include #include -int main(void) -{ +int main(void) { SHA2_CTX ctx; - char result[SHA256_DIGEST_STRING_LENGTH]; + char result[SHA256_DIGEST_STRING_LENGTH]; SHA256Init(&ctx); - SHA256Update(&ctx, (const unsigned char *)"abcd", 4); + SHA256Update(&ctx, (const unsigned char*)"abcd", 4); SHA256End(&ctx, result); return 0; @@ -532,67 +467,55 @@ int main(void) #include -int -main(void) -{ +int main(void) { int fd[2]; - socketpair(AF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, 0, fd); + socketpair(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0, fd); return 0; } #endif /* TEST_SOCK_NONBLOCK */ #if TEST_STATIC -int -main(void) -{ +int main(void) { return 0; /* not meant to do anything */ } #endif /* TEST_STATIC */ #if TEST_STRLCAT #include -int -main(void) -{ +int main(void) { char buf[3] = "a"; - return ! (strlcat(buf, "b", sizeof(buf)) == 2 && - buf[0] == 'a' && buf[1] == 'b' && buf[2] == '\0'); + return !(strlcat(buf, "b", sizeof(buf)) == 2 && + buf[0] == 'a' && buf[1] == 'b' && buf[2] == '\0'); } #endif /* TEST_STRLCAT */ #if TEST_STRLCPY #include -int -main(void) -{ +int main(void) { char buf[2] = ""; - return ! (strlcpy(buf, "a", sizeof(buf)) == 1 && - buf[0] == 'a' && buf[1] == '\0'); + return !(strlcpy(buf, "a", sizeof(buf)) == 1 && + buf[0] == 'a' && buf[1] == '\0'); } #endif /* TEST_STRLCPY */ #if TEST_STRNDUP #include -int -main(void) -{ - const char *foo = "bar"; - char *baz; +int main(void) { + const char* foo = "bar"; + char* baz; baz = strndup(foo, 1); - return(0 != strcmp(baz, "b")); + return (0 != strcmp(baz, "b")); } #endif /* TEST_STRNDUP */ #if TEST_STRNLEN #include -int -main(void) -{ - const char *foo = "bar"; - size_t sz; +int main(void) { + const char* foo = "bar"; + size_t sz; sz = strnlen(foo, 1); - return(1 != sz); + return (1 != sz); } #endif /* TEST_STRNLEN */ #if TEST_STRTONUM @@ -612,30 +535,28 @@ main(void) * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifdef __NetBSD__ -# define _OPENBSD_SOURCE +#define _OPENBSD_SOURCE #endif #include -int -main(void) -{ - const char *errstr; +int main(void) { + const char* errstr; - if (strtonum("1", 0, 2, &errstr) != 1) + if(strtonum("1", 0, 2, &errstr) != 1) return 1; - if (errstr != NULL) + if(errstr != NULL) return 2; - if (strtonum("1x", 0, 2, &errstr) != 0) + if(strtonum("1x", 0, 2, &errstr) != 0) return 3; - if (errstr == NULL) + if(errstr == NULL) return 4; - if (strtonum("2", 0, 1, &errstr) != 0) + if(strtonum("2", 0, 1, &errstr) != 0) return 5; - if (errstr == NULL) + if(errstr == NULL) return 6; - if (strtonum("0", 1, 2, &errstr) != 0) + if(strtonum("0", 1, 2, &errstr) != 0) return 7; - if (errstr == NULL) + if(errstr == NULL) return 8; return 0; } @@ -643,18 +564,14 @@ main(void) #if TEST_SYS_BYTEORDER_H #include -int -main(void) -{ +int main(void) { return !LE_32(23); } #endif /* TEST_SYS_BYTEORDER_H */ #if TEST_SYS_ENDIAN_H #include -int -main(void) -{ +int main(void) { return !htole32(23); } #endif /* TEST_SYS_ENDIAN_H */ @@ -662,9 +579,7 @@ main(void) #include #include -int -main(void) -{ +int main(void) { return !minor(0); } #endif /* TEST_SYS_MKDEV_H */ @@ -674,17 +589,16 @@ main(void) struct foo { int bar; - TAILQ_ENTRY(foo) entries; + TAILQ_ENTRY(foo) + entries; }; TAILQ_HEAD(fooq, foo); -int -main(void) -{ +int main(void) { struct fooq foo_q, bar_q; struct foo *p, *tmp; - int i = 0; + int i = 0; TAILQ_INIT(&foo_q); TAILQ_INIT(&bar_q); @@ -695,7 +609,7 @@ main(void) */ TAILQ_FOREACH_SAFE(p, &foo_q, entries, tmp) - p->bar = i++; + p->bar = i++; /* Test for newer macros as well. */ @@ -706,9 +620,7 @@ main(void) #if TEST_SYS_SYSMACROS_H #include -int -main(void) -{ +int main(void) { return !minor(0); } #endif /* TEST_SYS_SYSMACROS_H */ @@ -717,32 +629,30 @@ main(void) #include struct node { - RB_ENTRY(node) entry; + RB_ENTRY(node) + entry; int i; }; static int -intcmp(struct node *e1, struct node *e2) -{ +intcmp(struct node* e1, struct node* e2) { return (e1->i < e2->i ? -1 : e1->i > e2->i); } -RB_HEAD(inttree, node) head = RB_INITIALIZER(&head); +RB_HEAD(inttree, node) +head = RB_INITIALIZER(&head); RB_PROTOTYPE(inttree, node, entry, intcmp) RB_GENERATE(inttree, node, entry, intcmp) int testdata[] = { - 20, 16, 17, 13, 3, 6, 1, 8, 2, 4 -}; + 20, 16, 17, 13, 3, 6, 1, 8, 2, 4}; -int -main(void) -{ - size_t i; - struct node *n; +int main(void) { + size_t i; + struct node* n; - for (i = 0; i < sizeof(testdata) / sizeof(testdata[0]); i++) { - if ((n = malloc(sizeof(struct node))) == NULL) + for(i = 0; i < sizeof(testdata) / sizeof(testdata[0]); i++) { + if((n = malloc(sizeof(struct node))) == NULL) return 1; n->i = testdata[i]; RB_INSERT(inttree, &head, n); @@ -757,13 +667,11 @@ main(void) #include /* memset */ #include -int -main(void) -{ - struct winsize size; +int main(void) { + struct winsize size; memset(&size, 0, sizeof(struct winsize)); - if (ioctl(1, TIOCGWINSZ, &size) == -1) + if(ioctl(1, TIOCGWINSZ, &size) == -1) return 72; return size.ws_col; } @@ -771,18 +679,14 @@ main(void) #if TEST_UNVEIL #include -int -main(void) -{ +int main(void) { return -1 != unveil(NULL, NULL); } #endif /* TEST_UNVEIL */ #if TEST_WAIT_ANY #include -int -main(void) -{ +int main(void) { int st; return waitpid(WAIT_ANY, &st, WNOHANG) != -1; diff --git a/toroku.c b/toroku.c index f07ab3f..d6d59cf 100644 --- a/toroku.c +++ b/toroku.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,60 +28,57 @@ */ /* - * $SonyRCSfile: toroku.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: toroku.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:29 $ */ - - #include "common.h" #include "key.h" #include "wchar16.h" -#define YOMILEN 32 -#define KLEN 64 +#define YOMILEN 32 +#define KLEN 64 extern struct valtbl hin_val[]; -extern int keyvalue; +extern int keyvalue; -exec_toroku () -{ - Conversion *cv; - wchar16_t yomi[YOMILEN+1], kanji[KLEN+1]; - wchar16_t *hinshi; - int inc; - int h_code, retv; - int val; +exec_toroku() { + Conversion* cv; + wchar16_t yomi[YOMILEN + 1], kanji[KLEN + 1]; + wchar16_t* hinshi; + int inc; + int h_code, retv; + int val; - if (IsDcflag()) - return(0); - cv = GetConversion (); - val = getkstr (kanji, KLEN, WCGtoroku); - if (*kanji == '\0') + if(IsDcflag()) + return (0); + cv = GetConversion(); + val = getkstr(kanji, KLEN, WCGtoroku); + if(*kanji == '\0') return (val); - while (1) { - if (getyomi (yomi, YOMILEN, WCGtoroku, kanji) || *yomi == '\0') + while(1) { + if(getyomi(yomi, YOMILEN, WCGtoroku, kanji) || *yomi == '\0') break; h_code = gethinshi(); - hinshi= hin_val[h_code - 1].keyword; - if (getcheck (yomi, kanji, hinshi, WCGtoroku)) + hinshi = hin_val[h_code - 1].keyword; + if(getcheck(yomi, kanji, hinshi, WCGtoroku)) break; } - if (*yomi == '\0') + if(*yomi == '\0') return (val); - TopGuide (); - printR (WCGtoroku); - Clear_EOL (); - Flush (); + TopGuide(); + printR(WCGtoroku); + Clear_EOL(); + Flush(); cv->word_regist = 1; - if ((retv = SJ2_toroku(yomi, kanji, hin_val[h_code -1].ivalue)) != 0) { - switch (retv) { + if((retv = SJ2_toroku(yomi, kanji, hin_val[h_code - 1].ivalue)) != 0) { + switch(retv) { case -1: - (void)dconnect(0); - return(val); + (void)dconnect(0); + return (val); case SJ3_WORD_EXIST: SJ_print(WCExist); break; @@ -105,81 +102,78 @@ exec_toroku () break; } } else - SJ_print (WCTOUROKU_SUCC); - Clear_EOL (); - Flush (); + SJ_print(WCTOUROKU_SUCC); + Clear_EOL(); + Flush(); - inc = inkey (); - if (AnotherConversion ()) { - unget_key (inc); + inc = inkey(); + if(AnotherConversion()) { + unget_key(inc); } return (val); } -getyomi (yomi, lim, prompt, kanji) -wchar16_t *yomi, *prompt, *kanji; -int lim; +getyomi(yomi, lim, prompt, kanji) + wchar16_t* yomi, + *prompt, *kanji; +int lim; { - int inc, c; - Conversion *cv; - int len; - wchar16_t wtmp[BUFFLENGTH], ytmp[YOMILEN+1], ktmp[KLEN+1]; - unsigned char tmp[BUFFLENGTH]; + int inc, c; + Conversion* cv; + int len; + wchar16_t wtmp[BUFFLENGTH], ytmp[YOMILEN + 1], ktmp[KLEN + 1]; + unsigned char tmp[BUFFLENGTH]; cv = GetConversion(); - TopGuide (); - printR (prompt); + TopGuide(); + printR(prompt); len = cv->column - (wcbyte(kanji) + 24); - if (len >= lim) - { - (void) wcstombs((char *)ytmp, WCMyomi, YOMILEN+1); - (void) wcstombs((char *)ktmp, kanji, KLEN+1); - sprintf ((char *)tmp, (char *)ytmp, ktmp); - (void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH); + if(len >= lim) { + (void)wcstombs((char*)ytmp, WCMyomi, YOMILEN + 1); + (void)wcstombs((char*)ktmp, kanji, KLEN + 1); + sprintf((char*)tmp, (char*)ytmp, ktmp); + (void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH); + } else { + (void)wcstombs((char*)ytmp, WCMyomi, YOMILEN + 1); + (void)sprintf((char*)tmp, (char*)ytmp); + (void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH); } - else - { - (void) wcstombs((char *)ytmp, WCMyomi, YOMILEN+1); - (void) sprintf ((char *)tmp, (char *)ytmp); - (void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH); - } - SJ_print (wtmp); - Clear_EOL (); - Flush (); + SJ_print(wtmp); + Clear_EOL(); + Flush(); *wtmp = '\0'; - *tmp = '\0'; + *tmp = '\0'; *yomi = '\0'; wrap_off(); - SaveConversion (); - while ((inc = inkey ()) != EOF) { - if (AnotherConversion ()) { - unget_key (inc); + SaveConversion(); + while((inc = inkey()) != EOF) { + if(AnotherConversion()) { + unget_key(inc); sj3_rkclear(); wrap_on(); return (1); } - if (keyvalue == KEY_CONV) { + if(keyvalue == KEY_CONV) { sj3_rkclear(); wrap_on(); return (1); } - if (keyvalue == KEY_KETTEI || keyvalue == KEY_HENKAN) { + if(keyvalue == KEY_KETTEI || keyvalue == KEY_HENKAN) { break; - } - else if (keyvalue != KEY_NORMAL) { - if ((c = write_pseq (2)) != 0) + } else if(keyvalue != KEY_NORMAL) { + if((c = write_pseq(2)) != 0) inc = c; } - - if (inc == '\n' || inc == '\r'|| IsESC (inc)) + + if(inc == '\n' || inc == '\r' || IsESC(inc)) break; - else if (iscntrl(inc) && !is_bs(inc)) + else if(iscntrl(inc) && !is_bs(inc)) beep(); - else if ((len = wslen(wtmp)) >= lim && !is_bs(inc)) + else if((len = wslen(wtmp)) >= lim && !is_bs(inc)) beep(); - else + else (void)exec_romaji2(inc, NULL, wtmp, NULL, len, -1); } (void)exec_romaji2(0, NULL, wtmp, NULL, wslen(wtmp), -1); @@ -189,210 +183,195 @@ int lim; return (0); } -gethinshi() -{ +gethinshi() { int inc, hcode; - TopGuide(); + TopGuide(); printR(WCGtoroku); - SJ_print (WCTOUROKU_HIN); + SJ_print(WCTOUROKU_HIN); Clear_EOL(); SJ_print(WCOne); Backspace(); Flush(); inc = inkey(); - if (inc >= '2' && inc <= '5') + if(inc >= '2' && inc <= '5') hcode = inc - '0'; else hcode = 1; - return(hcode); + return (hcode); } - -getcheck (yomi, kanji, hinshi, prompt) -wchar16_t *yomi, *kanji, *hinshi, *prompt; + +getcheck(yomi, kanji, hinshi, prompt) + wchar16_t* yomi, + *kanji, *hinshi, *prompt; { - int c; - unsigned char tmp[BUFFLENGTH + KLEN]; - extern wchar16_t *Y; - wchar16_t wtmp[BUFFLENGTH + KLEN]; - unsigned char ktmp[KLEN+1], ytmp[YOMILEN+1], htmp[YOMILEN+1], - ttmp[BUFFLENGTH]; - - TopGuide (); - printR (prompt); - if (hinshi == NULL) - { - (void) wcstombs((char *)ktmp, kanji, KLEN+1); - (void) wcstombs((char *)ytmp, yomi, YOMILEN+1); - (void) wcstombs((char *)ttmp, WCSYOUKYO_OK, BUFFLENGTH); - sprintf ((char *)tmp, (char *)ttmp, ktmp, ytmp); - } - else - { - (void) wcstombs((char *)ktmp, kanji, KLEN+1); - (void) wcstombs((char *)ytmp, yomi, YOMILEN+1); - (void) wcstombs((char *)htmp, hinshi, YOMILEN+1); - (void) wcstombs((char *)ttmp, WCTOUROKU_OK, BUFFLENGTH); - sprintf ((char *)tmp, (char *)ttmp, ktmp, ytmp, htmp); + int c; + unsigned char tmp[BUFFLENGTH + KLEN]; + extern wchar16_t* Y; + wchar16_t wtmp[BUFFLENGTH + KLEN]; + unsigned char ktmp[KLEN + 1], ytmp[YOMILEN + 1], htmp[YOMILEN + 1], + ttmp[BUFFLENGTH]; + + TopGuide(); + printR(prompt); + if(hinshi == NULL) { + (void)wcstombs((char*)ktmp, kanji, KLEN + 1); + (void)wcstombs((char*)ytmp, yomi, YOMILEN + 1); + (void)wcstombs((char*)ttmp, WCSYOUKYO_OK, BUFFLENGTH); + sprintf((char*)tmp, (char*)ttmp, ktmp, ytmp); + } else { + (void)wcstombs((char*)ktmp, kanji, KLEN + 1); + (void)wcstombs((char*)ytmp, yomi, YOMILEN + 1); + (void)wcstombs((char*)htmp, hinshi, YOMILEN + 1); + (void)wcstombs((char*)ttmp, WCTOUROKU_OK, BUFFLENGTH); + sprintf((char*)tmp, (char*)ttmp, ktmp, ytmp, htmp); } - (void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH + KLEN); - SJ_print (wtmp); - Clear_EOL (); - SJ_print (WCY); - Backspace (); - Flush (); + (void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH + KLEN); + SJ_print(wtmp); + Clear_EOL(); + SJ_print(WCY); + Backspace(); + Flush(); - SaveConversion (); - c = inkey (); - if (AnotherConversion ()) { - unget_key (c); + SaveConversion(); + c = inkey(); + if(AnotherConversion()) { + unget_key(c); return (0); } - if (keyvalue == KEY_CONV) { + if(keyvalue == KEY_CONV) { *yomi = '\0'; return (1); } - if (c == 'y' || c == 'Y' || c == '\n' || c == '\r' || c == ' ') + if(c == 'y' || c == 'Y' || c == '\n' || c == '\r' || c == ' ') return (1); - if (keyvalue == KEY_HENKAN || keyvalue == KEY_KETTEI) + if(keyvalue == KEY_HENKAN || keyvalue == KEY_KETTEI) return (1); - if (IsESC (c)) { + if(IsESC(c)) { *yomi = '\0'; return (1); } return (0); } -getkstr (s, lim, guide) -wchar16_t *s, *guide; -int lim; +getkstr(s, lim, guide) + wchar16_t* s, + *guide; +int lim; { - Conversion *cv; - int i; - wchar16_t tmp[BUFFLENGTH * 2]; - wchar16_t *p; - int plen, chbun; + Conversion* cv; + int i; + wchar16_t tmp[BUFFLENGTH * 2]; + wchar16_t* p; + int plen, chbun; chbun = 0; - cv = GetConversion (); - if (cv->Kanji != 0) { - if (cv->Bnum > 1) { + cv = GetConversion(); + if(cv->Kanji != 0) { + if(cv->Bnum > 1) { Ssbun(0); chbun++; - plen = getbunsetu (tmp, guide); + plen = getbunsetu(tmp, guide); } else - plen = Bkanji (tmp); - } - else if (isspaned ()) { + plen = Bkanji(tmp); + } else if(isspaned()) { plen = cv->out_point; - Strncpy (tmp, cv->out_buf, plen); + Strncpy(tmp, cv->out_buf, plen); tmp[plen] = '\0'; } p = tmp; - for (i = 0 ; i < plen && i < lim ; i ++) - *(s ++) = *(p ++); + for(i = 0; i < plen && i < lim; i++) + *(s++) = *(p++); *s = '\0'; return (chbun); } -getbunsetu (kanji, guide) -wchar16_t *kanji, *guide; +getbunsetu(kanji, guide) + wchar16_t* kanji, + *guide; { - Conversion *cv; - int c; - int bstart, bend; - int i; - unsigned short row, col; - wchar16_t *p; - int plen, len; + Conversion* cv; + int c; + int bstart, bend; + int i; + unsigned short row, col; + wchar16_t* p; + int plen, len; - cv = GetConversion (); - len = 0; - p = kanji; - *p = '\0'; + cv = GetConversion(); + len = 0; + p = kanji; + *p = '\0'; bstart = bend = cv->CurBun; - - StartGuide (&row, &col); - printR (guide); - SJ_print (WCMhani); - Clear_EOL (); - EndGuide (row, col); - Flush (); - SaveConversion (); - while ((c = inkey ()) != EOF) { - if (AnotherConversion ()) { - unget_key (c); + + StartGuide(&row, &col); + printR(guide); + SJ_print(WCMhani); + Clear_EOL(); + EndGuide(row, col); + Flush(); + SaveConversion(); + while((c = inkey()) != EOF) { + if(AnotherConversion()) { + unget_key(c); return (0); } - cv = GetConversion (); - if (keyvalue == KEY_RIGHT) { - if ((bend == bstart) && (bend < cv->Bnum - 1)) { + cv = GetConversion(); + if(keyvalue == KEY_RIGHT) { + if((bend == bstart) && (bend < cv->Bnum - 1)) { cv->PreBun = bend; - bend ++; + bend++; cv->CurBun = bstart = bend; - Rdisp (); - } - else - beep (); - } - else if (keyvalue == KEY_LEFT) { - if ((bend == bstart) && (bend > 0)) { + Rdisp(); + } else + beep(); + } else if(keyvalue == KEY_LEFT) { + if((bend == bstart) && (bend > 0)) { cv->PreBun = bend; - bend --; + bend--; cv->CurBun = bstart = bend; - Rdisp (); - } - else - beep (); - } - else if (keyvalue == KEY_UP) { - if (bend < cv->Bnum - 1) { - bend ++; + Rdisp(); + } else + beep(); + } else if(keyvalue == KEY_UP) { + if(bend < cv->Bnum - 1) { + bend++; cv->CurBun = cv->PreBun = bend; - Rdisp (); - } - else - beep (); - } - else if (keyvalue == KEY_DOWN) { - if (bend > bstart) { + Rdisp(); + } else + beep(); + } else if(keyvalue == KEY_DOWN) { + if(bend > bstart) { cv->PreBun = bend; - bend --; + bend--; cv->CurBun = bend; - Rdisp (); - } - else - beep (); - } - else if (keyvalue == KEY_HENKAN || keyvalue == KEY_KETTEI || - keyvalue == KEY_FLUSH) { + Rdisp(); + } else + beep(); + } else if(keyvalue == KEY_HENKAN || keyvalue == KEY_KETTEI || + keyvalue == KEY_FLUSH) { break; - } - else if (keyvalue == KEY_NORMAL) { - if (c == '\n' || c == '\r') { + } else if(keyvalue == KEY_NORMAL) { + if(c == '\n' || c == '\r') { bstart = 0; - bend = cv->Bnum - 1; + bend = cv->Bnum - 1; break; - } - else if (c == ' ') { + } else if(c == ' ') { break; - } - else if (IsESC (c)) { + } else if(IsESC(c)) { return (0); - } - else - beep (); - } - else - beep (); - Flush (); + } else + beep(); + } else + beep(); + Flush(); } - - for (i = bstart ; i <= bend ; i ++) { - if ((plen = Bstr (i, p)) <= 0) + + for(i = bstart; i <= bend; i++) { + if((plen = Bstr(i, p)) <= 0) continue; p += plen; len += plen; @@ -400,48 +379,47 @@ wchar16_t *kanji, *guide; return (len); } -exec_syoukyo () -{ - int i; - wchar16_t yomi[YOMILEN+1], kanji[KLEN+1]; - wchar16_t tmp[BUFFLENGTH], tmp2[BUFFLENGTH * 2]; - unsigned char ytmp[YOMILEN+1], ktmp[KLEN+1], - mtmp[BUFFLENGTH], mtmp2[BUFFLENGTH * 2], - ttmp[BUFFLENGTH]; - int inc; - int val, retv; +exec_syoukyo() { + int i; + wchar16_t yomi[YOMILEN + 1], kanji[KLEN + 1]; + wchar16_t tmp[BUFFLENGTH], tmp2[BUFFLENGTH * 2]; + unsigned char ytmp[YOMILEN + 1], ktmp[KLEN + 1], + mtmp[BUFFLENGTH], mtmp2[BUFFLENGTH * 2], + ttmp[BUFFLENGTH]; + int inc; + int val, retv; - if (IsDcflag()) - return(0); - val = getkstr (kanji, KLEN, WCGsyoukyo); - if (*kanji == '\0') + if(IsDcflag()) + return (0); + val = getkstr(kanji, KLEN, WCGsyoukyo); + if(*kanji == '\0') return (val); - while (1) { - if (getyomi (yomi, YOMILEN, WCGsyoukyo, kanji) || *yomi == '\0') + while(1) { + if(getyomi(yomi, YOMILEN, WCGsyoukyo, kanji) || *yomi == '\0') break; - if (getcheck (yomi, kanji, NULL, WCGsyoukyo)) + if(getcheck(yomi, kanji, NULL, WCGsyoukyo)) break; } - if (*yomi == '\0') + if(*yomi == '\0') return (val); - TopGuide (); - printR (WCGsyoukyo); + TopGuide(); + printR(WCGsyoukyo); tmp[0] = '\0'; - for (i = 0; i < 5; i++) { - retv = SJ2_syoukyo (yomi, kanji, hin_val[i].ivalue); - if (retv == 0) { + for(i = 0; i < 5; i++) { + retv = SJ2_syoukyo(yomi, kanji, hin_val[i].ivalue); + if(retv == 0) { wscat(tmp, hin_val[i].keyword); wscat(tmp, WCKanma); - } else if (retv != SJ3_WORD_NOT_EXIST) + } else if(retv != SJ3_WORD_NOT_EXIST) break; } - if (tmp[0] == '\0') { - switch (retv) { + if(tmp[0] == '\0') { + switch(retv) { case -1: - (void)dconnect(0); - return(val); + (void)dconnect(0); + return (val); case SJ3_WORD_NOT_EXIST: SJ_print(WCNotExist); break; @@ -449,7 +427,7 @@ exec_syoukyo () SJ_print(WCUserLock); break; case SJ3_BAD_YOMI_STR: - SJ_print(WCYomiShokyo); + SJ_print(WCYomiShokyo); break; case SJ3_BAD_KANJI_STR: SJ_print(WCKanjiShokyo); @@ -459,22 +437,22 @@ exec_syoukyo () break; } } else { - i = wslen(tmp); + i = wslen(tmp); tmp[i - 1] = '\0'; - (void) wcstombs((char *)mtmp, tmp, BUFFLENGTH); - (void) wcstombs((char *)ytmp, yomi, YOMILEN+1); - (void) wcstombs((char *)ktmp, kanji, KLEN+1); - (void) wcstombs((char *)ttmp, WCSYOUKYO_SUCC, BUFFLENGTH); - sprintf((char *)mtmp2, (char *)ttmp, ktmp, ytmp, mtmp); - (void) mbstowcs(tmp2, (char *)mtmp2, BUFFLENGTH * 2); + (void)wcstombs((char*)mtmp, tmp, BUFFLENGTH); + (void)wcstombs((char*)ytmp, yomi, YOMILEN + 1); + (void)wcstombs((char*)ktmp, kanji, KLEN + 1); + (void)wcstombs((char*)ttmp, WCSYOUKYO_SUCC, BUFFLENGTH); + sprintf((char*)mtmp2, (char*)ttmp, ktmp, ytmp, mtmp); + (void)mbstowcs(tmp2, (char*)mtmp2, BUFFLENGTH * 2); SJ_print(tmp2); } - Clear_EOL (); - Flush (); + Clear_EOL(); + Flush(); - inc = inkey (); - if (AnotherConversion ()) { - unget_key (inc); + inc = inkey(); + if(AnotherConversion()) { + unget_key(inc); } return (val); } diff --git a/version2.c b/version2.c index ebbfb9a..ef4c011 100644 --- a/version2.c +++ b/version2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,19 +28,16 @@ */ /* - * $SonyRCSfile: version.c,v $ - * $SonyRevision: 1.10 $ + * $SonyRCSfile: version.c,v $ + * $SonyRevision: 1.10 $ * $SonyDate: 1996/02/23 11:04:02 $ */ - - - #include "sj2.h" -char *Version = "SJ3 2.09C (sjis/euc version)"; -char *version = "SJ3 Version 2.09C (sjis/euc version)"; +char* Version = "SJ3 2.09C (sjis/euc version)"; +char* version = "SJ3 Version 2.09C (sjis/euc version)"; -char *Copyright = "Copyright (c) 1990-1996 Sony Corporation"; -char *Allrights = "All Rights Reserved"; -char *Date = "Fri Feb 23 19:31:47 JST 1996"; +char* Copyright = "Copyright (c) 1990-1996 Sony Corporation"; +char* Allrights = "All Rights Reserved"; +char* Date = "Fri Feb 23 19:31:47 JST 1996"; diff --git a/wakachi.c b/wakachi.c index aef9e26..139e8a9 100644 --- a/wakachi.c +++ b/wakachi.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1991-1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,34 +28,31 @@ */ /* - * $SonyRCSfile: wakachi.c,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: wakachi.c,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:02:43 $ * * $Id$ */ - #include "sj_kcnv.h" #include "sj_right.h" #include "sj_hinsi.h" #include "kanakan.h" -int terminate(); -void setclrec(), srchfzk(); +int terminate(); +void setclrec(), srchfzk(); -void -wakachi (void) -{ - JREC *jrec; - CLREC *clrec; +void wakachi(void) { + JREC* jrec; + CLREC* clrec; - CREC crec[4]; - int count; - unsigned char *next; - TypeCnct right; - int i; - int maxlen; + CREC crec[4]; + int count; + unsigned char* next; + TypeCnct right; + int i; + int maxlen; free_jall(maxjptr); maxjptr = NULL; @@ -63,49 +60,47 @@ wakachi (void) maxlen = (cnvlen > MaxClInputLen) ? MaxClInputLen : cnvlen; next = cnvstart; - if (Chrtbl[*next] & (TAI_KGU | FZK_KGU)) { + if(Chrtbl[*next] & (TAI_KGU | FZK_KGU)) { - while (*next && (Chrtbl[*next] & (TAI_KGU | FZK_KGU))) + while(*next && (Chrtbl[*next] & (TAI_KGU | FZK_KGU))) next++; - if ((i = next - cnvstart) > maxlen) { + if((i = next - cnvstart) > maxlen) { next = cnvstart + maxlen; - i = maxlen; + i = maxlen; } - if (!(jrec = argjrec(i, (JREC *)NULL))) return; + if(!(jrec = argjrec(i, (JREC*)NULL))) return; - jrec -> class = C_WAKACHI; - jrec -> hinsi = D_MEISI_1; + jrec->class = C_WAKACHI; + jrec->hinsi = D_MEISI_1; - if (Chrtbl[*(next - 1)] & TAI_KGU) + if(Chrtbl[*(next - 1)] & TAI_KGU) srchfzk(jrec, next, R_DAIMEISI, 0); } else { - if (!(jrec = argjrec(0, (JREC *)NULL))) return; - jrec -> class = C_WAKACHI; - jrec -> hinsi = MEISI_6; + if(!(jrec = argjrec(0, (JREC*)NULL))) return; + jrec->class = C_WAKACHI; + jrec->hinsi = MEISI_6; - while ((int)jrec -> jlen < maxlen) { + while((int)jrec->jlen < maxlen) { count = setconj((TypeGram)MEISI_6, jrec, crec); - for (i = count ; i-- > 0 ; ) { + for(i = count; i-- > 0;) { - right = crec[i].right; + right = crec[i].right; gobilen = crec[i].len; - next = cnvstart + jrec->jlen + gobilen; + next = cnvstart + jrec->jlen + gobilen; - if (gobilen) { - if (terminate(right, next)) { + if(gobilen) { + if(terminate(right, next)) { fzk_ka_flg = 0; setclrec(jrec, next, right); } - } - else if ((Chrtbl[*next] & NUMBER) - && (jrec -> jlen)) { + } else if((Chrtbl[*next] & NUMBER) && (jrec->jlen)) { fzk_ka_flg = 0; setclrec(jrec, next, right); return; @@ -114,22 +109,21 @@ wakachi (void) srchfzk(jrec, next, right, 0); } - if (maxclptr) break; + if(maxclptr) break; - (jrec -> jlen)++; + (jrec->jlen)++; } } - if ((maxclptr) && (Chrtbl[*(cnvstart + jrec -> jlen)] & FZKTOP)) + if((maxclptr) && (Chrtbl[*(cnvstart + jrec->jlen)] & FZKTOP)) return; - if (jrec -> jlen) { - if ((clrec = argclrec((int)jrec -> jlen)) != NULL) { - clrec -> jnode = jrec; - clrec -> right = R_MEISI; - clrec -> kubun = K_TAIGEN; - (jrec -> count)++; + if(jrec->jlen) { + if((clrec = argclrec((int)jrec->jlen)) != NULL) { + clrec->jnode = jrec; + clrec->right = R_MEISI; + clrec->kubun = K_TAIGEN; + (jrec->count)++; } } } - diff --git a/wc16_str.c b/wc16_str.c index 2653234..33e8fae 100644 --- a/wc16_str.c +++ b/wc16_str.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,12 +28,11 @@ */ /* - * $SonyRCSfile: wc16_str.c,v $ - * $SonyRevision: 1.3 $ + * $SonyRCSfile: wc16_str.c,v $ + * $SonyRevision: 1.3 $ * $SonyDate: 1994/11/17 06:49:21 $ */ - #include "sj_sysvdef.h" #include #include @@ -50,119 +49,112 @@ #define FALSE (0) #endif -#ifndef __sony_news -#define sjis2euc sj3_sjis2euc -#define euc2sjis sj3_euc2sjis +#ifndef __sony_news +#define sjis2euc sj3_sjis2euc +#define euc2sjis sj3_euc2sjis -#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \ - ((0xe0 <= (c)) && ((c) <= 0xfc))) -#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe)) -#define iskana(c) ((0xa1 <= (c)) && ((c) <= 0xdf)) +#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \ + ((0xe0 <= (c)) && ((c) <= 0xfc))) +#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe)) +#define iskana(c) ((0xa1 <= (c)) && ((c) <= 0xdf)) #endif extern int current_locale; -int -sj3_iswcntrl16(wc) +int sj3_iswcntrl16(wc) wchar16_t wc; { - if ((wc < 0x20) || (wc == 0x7f)) return TRUE; + if((wc < 0x20) || (wc == 0x7f)) return TRUE; return FALSE; } -int -sj3_iswupper16(wc) +int sj3_iswupper16(wc) wchar16_t wc; { - if (((0x40 < wc) && (wc < 0x5b)) || - ((0xa3c0 < wc) && (wc < 0xa3db))) return TRUE; + if(((0x40 < wc) && (wc < 0x5b)) || + ((0xa3c0 < wc) && (wc < 0xa3db))) return TRUE; return FALSE; } -int -sj3_iswdigit16(wc) +int sj3_iswdigit16(wc) wchar16_t wc; { - if (((0x29 < wc) && (wc < 0x3a)) || - ((0xa3af < wc) && (wc < 0xa3ba))) return TRUE; + if(((0x29 < wc) && (wc < 0x3a)) || + ((0xa3af < wc) && (wc < 0xa3ba))) return TRUE; return FALSE; } -int -sj3_iswxdigit16(wc) +int sj3_iswxdigit16(wc) wchar16_t wc; { - if (((0x29 < wc) && (wc < 0x3a)) || - ((0xa3af < wc) && (wc < 0xa3ba))) return TRUE; + if(((0x29 < wc) && (wc < 0x3a)) || + ((0xa3af < wc) && (wc < 0xa3ba))) return TRUE; - if (((0x60 < wc) && (wc < 0x67)) || - ((0x40 < wc) && (wc < 0x47))) return TRUE; - - if (((0xa3c0 < wc) && (wc < 0xa3c7)) || - ((0xa3e0 < wc) && (wc < 0xa3e6))) return TRUE; + if(((0x60 < wc) && (wc < 0x67)) || + ((0x40 < wc) && (wc < 0x47))) return TRUE; + + if(((0xa3c0 < wc) && (wc < 0xa3c7)) || + ((0xa3e0 < wc) && (wc < 0xa3e6))) return TRUE; return FALSE; } -int -sj3_wslen16(ws) -wchar16_t *ws; +int sj3_wslen16(ws) +wchar16_t* ws; { - int i=0; + int i = 0; - if (!ws) return 0; + if(!ws) return 0; - while (*ws++) i++; + while(*ws++) i++; return i; } -int -sj3_wscmp16(ws1, ws2) +int sj3_wscmp16(ws1, ws2) wchar16_t *ws1, *ws2; { - while ((*ws1 && *ws2) && (*ws1 == *ws2)) { + while((*ws1 && *ws2) && (*ws1 == *ws2)) { ws1++; ws2++; } - if (!*ws1 && !*ws2) return 0; - if (!*ws1) return -1; - if (!*ws2) return 1; - if (*ws1 < *ws2) return -1; - return 1; -} - -int -sj3_wsncmp16(ws1, ws2, n) -wchar16_t *ws1, *ws2; -int n; -{ - int i=0; - - while ((*ws1 && *ws2) && (*ws1 == *ws2) && (i < n)) { - ws1++; - ws2++; - i++; - } - if (!*ws1 && !*ws2) return 0; - if (i == n) return 0; - if (!*ws1) return -1; - if (!*ws2) return 1; - if (*ws1 < *ws2) return -1; + if(!*ws1 && !*ws2) return 0; + if(!*ws1) return -1; + if(!*ws2) return 1; + if(*ws1 < *ws2) return -1; return 1; } -wchar16_t * -sj3_wscpy16(ws1, ws2) +int sj3_wsncmp16(ws1, ws2, n) +wchar16_t *ws1, *ws2; +int n; +{ + int i = 0; + + while((*ws1 && *ws2) && (*ws1 == *ws2) && (i < n)) { + ws1++; + ws2++; + i++; + } + if(!*ws1 && !*ws2) return 0; + if(i == n) return 0; + if(!*ws1) return -1; + if(!*ws2) return 1; + if(*ws1 < *ws2) return -1; + return 1; +} + +wchar16_t* + sj3_wscpy16(ws1, ws2) wchar16_t *ws1, *ws2; { - wchar16_t *ws; + wchar16_t* ws; - if (!ws2) return NULL; + if(!ws2) return NULL; ws = ws1; - while (*ws2) { + while(*ws2) { *ws++ = *ws2++; } *ws = 0; @@ -170,38 +162,38 @@ wchar16_t *ws1, *ws2; return ws1; } -wchar16_t * -sj3_wsncpy16(ws1, ws2, n) +wchar16_t* + sj3_wsncpy16(ws1, ws2, n) wchar16_t *ws1, *ws2; -int n; +int n; { - wchar16_t *ws; - int i=0; + wchar16_t* ws; + int i = 0; - if (!ws2) return NULL; + if(!ws2) return NULL; ws = ws1; - while (*ws2 && (i < n)) { + while(*ws2 && (i < n)) { *ws++ = *ws2++; i++; } - if (i < n) *ws = 0; + if(i < n) *ws = 0; return ws1; } -wchar16_t * -sj3_wscat16(ws1, ws2) +wchar16_t* + sj3_wscat16(ws1, ws2) wchar16_t *ws1, *ws2; { - wchar16_t *ws; + wchar16_t* ws; - if (!ws1) return NULL; - if (!ws2) return NULL; + if(!ws1) return NULL; + if(!ws2) return NULL; ws = ws1; - while (*ws) ws++; - while (*ws2) { + while(*ws) ws++; + while(*ws2) { *ws++ = *ws2++; } *ws = 0; @@ -209,33 +201,32 @@ wchar16_t *ws1, *ws2; return ws1; } - wchar16_t -sj3_euc2wc16(code) + sj3_euc2wc16(code) unsigned int code; { wchar16_t wc = 0; - if (((code >> 16) & 0xff) == SS3) { + if(((code >> 16) & 0xff) == SS3) { wc = code & 0xff7f; - } else if (((code >> 8) & 0xff) == SS2) { + } else if(((code >> 8) & 0xff) == SS2) { wc = code & 0xff; } else { wc = code; - } + } return wc; } - -wchar16_t -sj3_sjis2wc16(code) + +wchar16_t + sj3_sjis2wc16(code) unsigned int code; { unsigned short ch; - if ((code >> 8) & 0xff) { + if((code >> 8) & 0xff) { ch = sjis2euc(code); - } else if (code & MSB) { + } else if(code & MSB) { ch = (SS2 << 8) + (code & 0xff); } else { return code; @@ -244,21 +235,21 @@ unsigned int code; } unsigned int -sj3_wc2euc16(wc) + sj3_wc2euc16(wc) wchar16_t wc; { - unsigned int code = 0; + unsigned int code = 0; unsigned char tmp; tmp = (wc >> 8) & 0xff; - if (tmp) { - if (wc & MSB) { + if(tmp) { + if(wc & MSB) { code = wc; } else { code = (SS3 << 16) + wc + MSB; } } else { - if (wc & MSB) { + if(wc & MSB) { code = (SS2 << 8) + wc; } else { code = wc; @@ -269,53 +260,52 @@ wchar16_t wc; } unsigned int -sj3_wc2sjis16(wc) + sj3_wc2sjis16(wc) wchar16_t wc; { unsigned int ch; ch = sj3_wc2euc16(wc); - if ((ch >> 16) == SS3) { + if((ch >> 16) == SS3) { return 0; - } else if ((ch >> 8) == SS2) { + } else if((ch >> 8) == SS2) { return (ch & 0xff); - } else if ((ch >> 8) & 0xff) { + } else if((ch >> 8) & 0xff) { return euc2sjis(ch); } else { return wc; } } -int -sj3_wcs2eucs16(mb, ws, n) -unsigned char *mb; -wchar16_t *ws; -int n; +int sj3_wcs2eucs16(mb, ws, n) +unsigned char* mb; +wchar16_t* ws; +int n; { - int i = 0; - unsigned int code; + int i = 0; + unsigned int code; unsigned char c; - - while (*ws && (i < n)) { + + while(*ws && (i < n)) { code = sj3_wc2euc16(*ws); - if (c = ((code >> 16) & 0xff)) { + if(c = ((code >> 16) & 0xff)) { *mb++ = c; i++; - if (i == n) break; + if(i == n) break; *mb++ = ((code >> 8) & 0xff); i++; - if (i == n) break; + if(i == n) break; *mb++ = code & 0xff; - i++; - if (i == n) break; - } else if (c = ((code >> 8) & 0xff)) { + i++; + if(i == n) break; + } else if(c = ((code >> 8) & 0xff)) { *mb++ = c; i++; - if (i == n) break; + if(i == n) break; *mb++ = code & 0xff; - i++; - if (i == n) break; - } else if (c = (code & 0xff)) { + i++; + if(i == n) break; + } else if(c = (code & 0xff)) { *mb++ = c; i++; } else { @@ -324,33 +314,32 @@ int n; ws++; } - if (!*ws) { + if(!*ws) { *mb = '\0'; } return i; } - -int -sj3_wcs2sjiss16(mb, ws, n) -unsigned char *mb; -wchar16_t *ws; -int n; + +int sj3_wcs2sjiss16(mb, ws, n) +unsigned char* mb; +wchar16_t* ws; +int n; { - int i = 0; - unsigned int code; + int i = 0; + unsigned int code; unsigned char c; - - while (*ws && (i < n)) { + + while(*ws && (i < n)) { code = sj3_wc2sjis16(*ws); - if (c = ((code >> 8) & 0xff)) { + if(c = ((code >> 8) & 0xff)) { *mb++ = c; i++; - if (i == n) break; + if(i == n) break; *mb++ = code & 0xff; i++; - if (i == n) break; - } else if (c = (code & 0xff)) { + if(i == n) break; + } else if(c = (code & 0xff)) { *mb++ = c; i++; } else { @@ -359,95 +348,89 @@ int n; ws++; } - if (!*ws) { + if(!*ws) { *mb = '\0'; } return i; } -int -sj3_eucs2wcs16(ws, mb, n) -wchar16_t *ws; -unsigned char *mb; -int n; +int sj3_eucs2wcs16(ws, mb, n) +wchar16_t* ws; +unsigned char* mb; +int n; { - int i = 0; + int i = 0; unsigned int code; - while (*mb && (i < n)) { - if (*mb == SS3) { + while(*mb && (i < n)) { + if(*mb == SS3) { code = *mb++ << 16; code += *mb++ << 8; code += *mb++; - } else if ((*mb == SS2) || (*mb & 0x80)) { + } else if((*mb == SS2) || (*mb & 0x80)) { code = *mb++ << 8; code += *mb++; } else { code = *mb++; } *ws = sj3_euc2wc16(code); - if (!*ws) return -1; + if(!*ws) return -1; ws++; i++; } - if (!*mb) { + if(!*mb) { *ws = 0; } return i; } -int -sj3_sjiss2wcs16(ws, mb, n) -wchar16_t *ws; -unsigned char *mb; -int n; +int sj3_sjiss2wcs16(ws, mb, n) +wchar16_t* ws; +unsigned char* mb; +int n; { - int i = 0; + int i = 0; unsigned int code; - while (*mb && (i < n)) { - if (issjis1(*mb)) { + while(*mb && (i < n)) { + if(issjis1(*mb)) { code = *mb++ << 8; code += *mb++; } else { code = *mb++; } *ws = sj3_sjis2wc16(code); - if (!*ws) return -1; + if(!*ws) return -1; ws++; i++; } - if (!*mb) { + if(!*mb) { *ws = 0; } return i; } -int -sj3_mbstowcs16(ws, mb, n) -wchar16_t *ws; -unsigned char *mb; -int n; +int sj3_mbstowcs16(ws, mb, n) +wchar16_t* ws; +unsigned char* mb; +int n; { - if (current_locale == LC_CTYPE_EUC) - return sj3_eucs2wcs16(ws, mb, n); - else - return sj3_sjiss2wcs16(ws, mb, n); -} - -int -sj3_wcstombs16(mb, ws, n) -unsigned char *mb; -wchar16_t *ws; -int n; -{ - if (current_locale == LC_CTYPE_EUC) - return sj3_wcs2eucs16(mb, ws, n); + if(current_locale == LC_CTYPE_EUC) + return sj3_eucs2wcs16(ws, mb, n); else - return sj3_wcs2sjiss16(mb, ws, n); + return sj3_sjiss2wcs16(ws, mb, n); } - +int sj3_wcstombs16(mb, ws, n) +unsigned char* mb; +wchar16_t* ws; +int n; +{ + if(current_locale == LC_CTYPE_EUC) + return sj3_wcs2eucs16(mb, ws, n); + else + return sj3_wcs2sjiss16(mb, ws, n); +} diff --git a/wchar16.h b/wchar16.h index 5ad83e8..bd0c918 100644 --- a/wchar16.h +++ b/wchar16.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1994 Sony Corporation - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including @@ -8,10 +8,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -19,7 +19,7 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization @@ -28,29 +28,26 @@ */ /* - * $SonyRCSfile: wchar16.h,v $ - * $SonyRevision: 1.1 $ + * $SonyRCSfile: wchar16.h,v $ + * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:52 $ */ - - #ifndef _WCHARH #define _WCHARH - #if defined(__sony_news) && defined(SVR4) #define _WCHAR_T -typedef unsigned short wchar_t; +typedef unsigned short wchar_t; #include #include #include #include -typedef wchar_t wchar16_t; +typedef wchar_t wchar16_t; #else #include #include -typedef unsigned short wchar16_t; +typedef unsigned short wchar16_t; #endif #include "key.h" @@ -64,61 +61,57 @@ typedef unsigned short wchar16_t; #ifdef iswcntrl #undef iswcntrl #endif -#define iswcntrl(wc) sj3_iswcntrl16(wc) +#define iswcntrl(wc) sj3_iswcntrl16(wc) #ifdef iswupper #undef iswupper #endif -#define iswupper(wc) sj3_iswupper16(wc) +#define iswupper(wc) sj3_iswupper16(wc) #ifdef iswdigit #undef iswdigit #endif -#define iswdigit(wc) sj3_iswdigit16(wc) +#define iswdigit(wc) sj3_iswdigit16(wc) #ifdef iswxdigit #undef iswxdigit #endif -#define iswxdigit(wc) sj3_iswxdigit16(wc) +#define iswxdigit(wc) sj3_iswxdigit16(wc) #ifdef wslen #undef wslen #endif -#define wslen(ws) sj3_wslen16(ws) +#define wslen(ws) sj3_wslen16(ws) #ifdef wscmp #undef wscmp #endif -#define wscmp(ws1, ws2) sj3_wscmp16(ws1, ws2) +#define wscmp(ws1, ws2) sj3_wscmp16(ws1, ws2) #ifdef wsncmp #undef wsncmp #endif -#define wsncmp(ws1, ws2, n) sj3_wsncmp16(ws1, ws2, n) -#ifdef wscpy +#define wsncmp(ws1, ws2, n) sj3_wsncmp16(ws1, ws2, n) +#ifdef wscpy #undef wscpy #endif -#define wscpy(ws1, ws2) sj3_wscpy16(ws1, ws2) +#define wscpy(ws1, ws2) sj3_wscpy16(ws1, ws2) #ifdef wsncpy #undef wsncpy #endif -#define wsncpy(ws1, ws2, n) sj3_wsncpy16(ws1, ws2, n) +#define wsncpy(ws1, ws2, n) sj3_wsncpy16(ws1, ws2, n) #ifdef wscat #undef wscat #endif -#define wscat(ws1, ws2) sj3_wscat16(ws1, ws2) +#define wscat(ws1, ws2) sj3_wscat16(ws1, ws2) #ifdef mbstowcs #undef mbstowcs #endif -#define mbstowcs(mb, ws, n) sj3_mbstowcs16(mb, ws, n) +#define mbstowcs(mb, ws, n) sj3_mbstowcs16(mb, ws, n) #ifdef wcstombs #undef wcstombs #endif -#define wcstombs(ws, mb, n) sj3_wcstombs16(ws, mb, n) +#define wcstombs(ws, mb, n) sj3_wcstombs16(ws, mb, n) #endif - #define LC_CTYPE_SHIFTJIS 1 #define LC_CTYPE_EUC 2 -#define IsEUCHojo(x) (((unsigned char) (x)) == SS3) - - - +#define IsEUCHojo(x) (((unsigned char)(x)) == SS3) #define WcX0208MASK 0xffff #define WcX0212MASK 0xff7f @@ -131,262 +124,240 @@ typedef unsigned short wchar16_t; #define WcX0212FLAG 0x8000 #define WcX0201FLAG 0x0080 -#define WcLowByte(w) ((w) & 0xff) +#define WcLowByte(w) ((w) & 0xff) #define WcHighByte(w) (((w) >> 8) & 0xff) -#define WcIsASCII(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcASCIIFLAG) -#define WcIsX0208(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcX0208FLAG) -#define WcIsX0201(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcX0201FLAG) -#define WcIsX0212(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcX0212FLAG) +#define WcIsASCII(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcASCIIFLAG) +#define WcIsX0208(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0208FLAG) +#define WcIsX0201(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0201FLAG) +#define WcIsX0212(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0212FLAG) -#define WcIsZENKAKU(w) ((((wchar16_t) (w)) & WcX0212FLAG) == WcX0212FLAG) -#define WcIsHANKAKU(w) ((((wchar16_t) (w)) & WcX0212FLAG) == WcASCIIFLAG) -#define WcIsKANJI(w) WcIsZENKAKU(w) -#define WcIsKANA(w) WcIsX0201(w) +#define WcIsZENKAKU(w) ((((wchar16_t)(w)) & WcX0212FLAG) == WcX0212FLAG) +#define WcIsHANKAKU(w) ((((wchar16_t)(w)) & WcX0212FLAG) == WcASCIIFLAG) +#define WcIsKANJI(w) WcIsZENKAKU(w) +#define WcIsKANA(w) WcIsX0201(w) #define WcSetX0212(c1, c2) ((((c1) & 0xff) << 8) + ((c2) & 0x7f)) -#define WcJIS2X0208(w) ((w) | WcX0208FLAG) -#define WcJIS2X0212(w) ((w) | WcX0212FLAG) -#define Wc2JIS(w) ((w) & WcJISMASK) +#define WcJIS2X0208(w) ((w) | WcX0208FLAG) +#define WcJIS2X0212(w) ((w) | WcX0212FLAG) +#define Wc2JIS(w) ((w) & WcJISMASK) +#define WCSJrun WcMessages[0] -#define WCSJrun WcMessages[0] +#define WCMode_buff WcMessages[1] +#define WCMode_unbuff WcMessages[2] -#define WCMode_buff WcMessages[1] -#define WCMode_unbuff WcMessages[2] +#define WCMode_Zhira WcMessages[3] +#define WCMode_Zkata WcMessages[4] +#define WCMode_Hkata WcMessages[5] +#define WCMode_Zalpha WcMessages[6] +#define WCMode_Halpha WcMessages[7] -#define WCMode_Zhira WcMessages[3] -#define WCMode_Zkata WcMessages[4] -#define WCMode_Hkata WcMessages[5] -#define WCMode_Zalpha WcMessages[6] -#define WCMode_Halpha WcMessages[7] +#define WCGmode WcMessages[8] +#define WCGEtc WcMessages[9] +#define WCGetc WcMessages[10] -#define WCGmode WcMessages[8] -#define WCGEtc WcMessages[9] -#define WCGetc WcMessages[10] +#define WCGHelp WcMessages[11] +#define WCMHelp WcMessages[12] -#define WCGHelp WcMessages[11] -#define WCMHelp WcMessages[12] +#define WCGCshift WcMessages[13] +#define WCGCeuc WcMessages[14] +#define WCGCeuc2 WcMessages[15] +#define WCGCjis WcMessages[16] +#define WCGCjis2 WcMessages[17] +#define WCGCkuten WcMessages[18] +#define WCGCkuten2 WcMessages[19] +#define WCGtoroku WcMessages[20] +#define WCMhani WcMessages[21] +#define WCMyomi WcMessages[22] +#define WCTOUROKU_OK WcMessages[23] +#define WCSYOUKYO_OK WcMessages[24] +#define WCTOUROKU_HIN WcMessages[25] +#define WCTOUROKU_SUCC WcMessages[26] +#define WCYomi WcMessages[27] +#define WCOne WcMessages[28] +#define WCY WcMessages[29] +#define WCExist WcMessages[30] +#define WCYomiTouroku WcMessages[31] +#define WCKanjiTouroku WcMessages[32] +#define WCOnajiTouroku WcMessages[33] +#define WCUserTouroku WcMessages[34] +#define WCJishoLock WcMessages[35] +#define WCSystemError WcMessages[36] +#define WCKanma WcMessages[37] +#define WCGsyoukyo WcMessages[38] +#define WCSYOUKYO_SUCC WcMessages[39] +#define WCNotExist WcMessages[40] +#define WCUserLock WcMessages[41] +#define WCYomiShokyo WcMessages[42] +#define WCKanjiShokyo WcMessages[43] +#define WCShokyoError WcMessages[44] -#define WCGCshift WcMessages[13] -#define WCGCeuc WcMessages[14] -#define WCGCeuc2 WcMessages[15] -#define WCGCjis WcMessages[16] -#define WCGCjis2 WcMessages[17] -#define WCGCkuten WcMessages[18] -#define WCGCkuten2 WcMessages[19] +#define WCSUCCsjrc WcMessages[45] +#define WCFAILsjrc WcMessages[46] +#define WCNOTHsjrc WcMessages[47] +#define WCWeight_mes WcMessages[48] +#define WCGrcon WcMessages[49] +#define WCRserv WcMessages[50] +#define WCRserv_OK WcMessages[51] +#define WCDiscon WcMessages[52] -#define WCGtoroku WcMessages[20] -#define WCMhani WcMessages[21] -#define WCMyomi WcMessages[22] -#define WCTOUROKU_OK WcMessages[23] -#define WCSYOUKYO_OK WcMessages[24] -#define WCTOUROKU_HIN WcMessages[25] -#define WCTOUROKU_SUCC WcMessages[26] -#define WCYomi WcMessages[27] -#define WCOne WcMessages[28] -#define WCY WcMessages[29] -#define WCExist WcMessages[30] -#define WCYomiTouroku WcMessages[31] -#define WCKanjiTouroku WcMessages[32] -#define WCOnajiTouroku WcMessages[33] -#define WCUserTouroku WcMessages[34] -#define WCJishoLock WcMessages[35] -#define WCSystemError WcMessages[36] -#define WCKanma WcMessages[37] +#define WCSpace WcMessages[53] +#define WCSpace2 WcMessages[54] +#define WCContinue WcMessages[55] +#define WCServer_Dead WcMessages[56] +#define WCConnected WcMessages[57] +#define WCNconnect WcMessages[58] +#define WCNopen_Mdic WcMessages[59] +#define WCNmake_Udir WcMessages[60] +#define WCNmake_Udic WcMessages[61] +#define WCNopen_Udic WcMessages[62] +#define WCNmake_Study WcMessages[63] +#define WCNopen_Study WcMessages[64] -#define WCGsyoukyo WcMessages[38] -#define WCSYOUKYO_SUCC WcMessages[39] -#define WCNotExist WcMessages[40] -#define WCUserLock WcMessages[41] -#define WCYomiShokyo WcMessages[42] -#define WCKanjiShokyo WcMessages[43] -#define WCShokyoError WcMessages[44] +#define WCGedit WcMessages[65] +#define WCTooLong WcMessages[67] +#define WCDollar WcMessages[68] +#define WCOn WcMessages[69] +#define WCOff WcMessages[70] -#define WCSUCCsjrc WcMessages[45] -#define WCFAILsjrc WcMessages[46] -#define WCNOTHsjrc WcMessages[47] +#define WCMeishi WcMessages[71] +#define WCMyouji WcMessages[72] +#define WCNamae WcMessages[73] +#define WCTimei WcMessages[74] +#define WCSahen WcMessages[75] +#define WCKara WcMessages[76] +#define WCF1 WcMessages[77] +#define WCF2 WcMessages[78] +#define WCF3 WcMessages[79] +#define WCF4 WcMessages[80] +#define WCF5 WcMessages[81] +#define WCF6 WcMessages[82] +#define WCF7 WcMessages[83] +#define WCF8 WcMessages[84] +#define WCF9 WcMessages[85] +#define WCF10 WcMessages[86] +#define WCF11 WcMessages[87] +#define WCF12 WcMessages[88] +#define WCF13 WcMessages[89] +#define WCF14 WcMessages[90] +#define WCF15 WcMessages[91] +#define WCF16 WcMessages[92] +#define WCF17 WcMessages[93] +#define WCF18 WcMessages[94] +#define WCF19 WcMessages[95] +#define WCF20 WcMessages[96] +#define WCSelect WcMessages[97] +#define WCKanji WcMessages[98] +#define WCCancel WcMessages[99] +#define WCExecute WcMessages[100] +#define WCUp WcMessages[101] +#define WCDown WcMessages[102] +#define WCRight WcMessages[103] +#define WCLeft WcMessages[104] -#define WCWeight_mes WcMessages[48] +#define WCStart WcMessages[105] +#define WCHenkan WcMessages[106] +#define WCMuhen WcMessages[107] +#define WCKettei WcMessages[108] +#define WCHira WcMessages[109] +#define WCHalpha WcMessages[110] +#define WCZalpha WcMessages[111] +#define WCHkata WcMessages[112] +#define WCZkata WcMessages[113] +#define WCCode WcMessages[114] +#define WCEtc WcMessages[115] +#define WCRightl WcMessages[116] +#define WCLeftl WcMessages[117] +#define WCKaku WcMessages[118] +#define WCSyuku WcMessages[119] +#define WCEdit WcMessages[120] +#define WCToggle WcMessages[121] +#define WCWrapback WcMessages[122] +#define WCWrap WcMessages[123] +#define WCSjrc WcMessages[124] +#define WCBuffer WcMessages[125] +#define WCToroku WcMessages[126] +#define WCSyoukyo WcMessages[127] +#define WCHelp WcMessages[128] +#define WCHaKettei WcMessages[129] +#define WCFlush WcMessages[130] +#define WCDebug WcMessages[131] +#define WCCancell WcMessages[132] +#define WCSaihenkan WcMessages[133] +#define WCIgnore WcMessages[134] +#define WCTop WcMessages[135] +#define WCEnd WcMessages[136] +#define WCReconnect WcMessages[137] +#define WCKill WcMessages[138] - - -#define WCGrcon WcMessages[49] -#define WCRserv WcMessages[50] -#define WCRserv_OK WcMessages[51] -#define WCDiscon WcMessages[52] - -#define WCSpace WcMessages[53] -#define WCSpace2 WcMessages[54] -#define WCContinue WcMessages[55] - - -#define WCServer_Dead WcMessages[56] -#define WCConnected WcMessages[57] -#define WCNconnect WcMessages[58] -#define WCNopen_Mdic WcMessages[59] -#define WCNmake_Udir WcMessages[60] -#define WCNmake_Udic WcMessages[61] -#define WCNopen_Udic WcMessages[62] -#define WCNmake_Study WcMessages[63] -#define WCNopen_Study WcMessages[64] - - - -#define WCGedit WcMessages[65] - - -#define WCTooLong WcMessages[67] -#define WCDollar WcMessages[68] - - -#define WCOn WcMessages[69] -#define WCOff WcMessages[70] - - -#define WCMeishi WcMessages[71] -#define WCMyouji WcMessages[72] -#define WCNamae WcMessages[73] -#define WCTimei WcMessages[74] -#define WCSahen WcMessages[75] - - -#define WCKara WcMessages[76] -#define WCF1 WcMessages[77] -#define WCF2 WcMessages[78] -#define WCF3 WcMessages[79] -#define WCF4 WcMessages[80] -#define WCF5 WcMessages[81] -#define WCF6 WcMessages[82] -#define WCF7 WcMessages[83] -#define WCF8 WcMessages[84] -#define WCF9 WcMessages[85] -#define WCF10 WcMessages[86] -#define WCF11 WcMessages[87] -#define WCF12 WcMessages[88] -#define WCF13 WcMessages[89] -#define WCF14 WcMessages[90] -#define WCF15 WcMessages[91] -#define WCF16 WcMessages[92] -#define WCF17 WcMessages[93] -#define WCF18 WcMessages[94] -#define WCF19 WcMessages[95] -#define WCF20 WcMessages[96] -#define WCSelect WcMessages[97] -#define WCKanji WcMessages[98] -#define WCCancel WcMessages[99] -#define WCExecute WcMessages[100] -#define WCUp WcMessages[101] -#define WCDown WcMessages[102] -#define WCRight WcMessages[103] -#define WCLeft WcMessages[104] - -#define WCStart WcMessages[105] -#define WCHenkan WcMessages[106] -#define WCMuhen WcMessages[107] -#define WCKettei WcMessages[108] -#define WCHira WcMessages[109] -#define WCHalpha WcMessages[110] -#define WCZalpha WcMessages[111] -#define WCHkata WcMessages[112] -#define WCZkata WcMessages[113] -#define WCCode WcMessages[114] -#define WCEtc WcMessages[115] -#define WCRightl WcMessages[116] -#define WCLeftl WcMessages[117] -#define WCKaku WcMessages[118] -#define WCSyuku WcMessages[119] -#define WCEdit WcMessages[120] -#define WCToggle WcMessages[121] -#define WCWrapback WcMessages[122] -#define WCWrap WcMessages[123] -#define WCSjrc WcMessages[124] -#define WCBuffer WcMessages[125] -#define WCToroku WcMessages[126] -#define WCSyoukyo WcMessages[127] -#define WCHelp WcMessages[128] -#define WCHaKettei WcMessages[129] -#define WCFlush WcMessages[130] -#define WCDebug WcMessages[131] -#define WCCancell WcMessages[132] -#define WCSaihenkan WcMessages[133] -#define WCIgnore WcMessages[134] -#define WCTop WcMessages[135] -#define WCEnd WcMessages[136] -#define WCReconnect WcMessages[137] -#define WCKill WcMessages[138] - - -#define WCKey WcMessages[139] -#define WCEscape WcMessages[140] -#define WCSjxkey WcMessages[141] -#define WCEtckey WcMessages[142] -#define WCIntr WcMessages[143] -#define WCBskey WcMessages[144] -#define WCDelkey WcMessages[145] -#define WCSetnormal WcMessages[146] -#define WCThroughnext WcMessages[147] -#define WCInitialmode WcMessages[148] -#define WCHelpmode WcMessages[149] -#define WCDefaultcode WcMessages[150] -#define WCMuhenkanmode WcMessages[151] -#define WCMuhenkaninedit WcMessages[152] -#define WCMuhenkantoggle WcMessages[153] -#define WCGuide WcMessages[154] -#define WCForkshell WcMessages[155] -#define WCExecshell WcMessages[156] -#define WCDictionary WcMessages[157] -#define WCUserdic WcMessages[158] -#define WCMaindic WcMessages[159] -#define WCRomaji WcMessages[160] -#define WCBstudy WcMessages[161] -#define WCSilent WcMessages[162] +#define WCKey WcMessages[139] +#define WCEscape WcMessages[140] +#define WCSjxkey WcMessages[141] +#define WCEtckey WcMessages[142] +#define WCIntr WcMessages[143] +#define WCBskey WcMessages[144] +#define WCDelkey WcMessages[145] +#define WCSetnormal WcMessages[146] +#define WCThroughnext WcMessages[147] +#define WCInitialmode WcMessages[148] +#define WCHelpmode WcMessages[149] +#define WCDefaultcode WcMessages[150] +#define WCMuhenkanmode WcMessages[151] +#define WCMuhenkaninedit WcMessages[152] +#define WCMuhenkantoggle WcMessages[153] +#define WCGuide WcMessages[154] +#define WCForkshell WcMessages[155] +#define WCExecshell WcMessages[156] +#define WCDictionary WcMessages[157] +#define WCUserdic WcMessages[158] +#define WCMaindic WcMessages[159] +#define WCRomaji WcMessages[160] +#define WCBstudy WcMessages[161] +#define WCSilent WcMessages[162] #define WCFlushafterconversion WcMessages[163] -#define WCRkerrbell WcMessages[164] -#define WCServer WcMessages[165] +#define WCRkerrbell WcMessages[164] +#define WCServer WcMessages[165] -#define WCShiftjis WcMessages[166] -#define WCSjis WcMessages[167] -#define WCEuc WcMessages[168] -#define WCEuc2 WcMessages[169] -#define WCJis WcMessages[170] -#define WCJis2 WcMessages[171] -#define WCKuten WcMessages[172] -#define WCKuten2 WcMessages[173] +#define WCShiftjis WcMessages[166] +#define WCSjis WcMessages[167] +#define WCEuc WcMessages[168] +#define WCEuc2 WcMessages[169] +#define WCJis WcMessages[170] +#define WCJis2 WcMessages[171] +#define WCKuten WcMessages[172] +#define WCKuten2 WcMessages[173] -#define WCBuff WcMessages[174] -#define WCUnbuff WcMessages[175] -#define WCDirect WcMessages[176] +#define WCBuff WcMessages[174] +#define WCUnbuff WcMessages[175] +#define WCDirect WcMessages[176] -#define WCSj2 WcMessages[177] -#define WCShift WcMessages[178] +#define WCSj2 WcMessages[177] +#define WCShift WcMessages[178] -#define WCFunction WcMessages[179] +#define WCFunction WcMessages[179] -#define WCUnbuffer WcMessages[180] -#define WCFuncetc WcMessages[181] +#define WCUnbuffer WcMessages[180] +#define WCFuncetc WcMessages[181] -extern wchar16_t *WcMessages[]; +extern wchar16_t* WcMessages[]; - - -struct wcvtkey { - wchar16_t *key_word; - wchar16_t key_seq[SEQLEN]; +struct wcvtkey { + wchar16_t* key_word; + wchar16_t key_seq[SEQLEN]; }; - struct functbl { - wchar16_t *keyword; - int (*func)(); + wchar16_t* keyword; + int (*func)(); }; -#endif +#endif