diff --git a/.clang-format b/.clang-format deleted file mode 100644 index eb9d30c..0000000 --- a/.clang-format +++ /dev/null @@ -1,24 +0,0 @@ ---- -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/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 9274c09..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -cmake_minimum_required(VERSION 3.16) - -project(sj3 VERSION 2.0.99 LANGUAGES C) - -include(CheckCSourceCompiles) - -if(NOT DEFINED CMAKE_C_STANDARD) - set(CMAKE_C_STANDARD 90) -endif() -set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_C_EXTENSIONS OFF) - -set(SJ3CONFDIR "/etc/sj3" CACHE PATH "SJ3 configuration directory") -set(SJ3DICTDIR "${CMAKE_INSTALL_PREFIX}/share/sj3/dict" CACHE PATH - "SJ3 dictionary directory") - -check_c_source_compiles(" -#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) -# error C99 required -#endif -#include -int main(void) { - uint8_t u8 = 0; - uint16_t u16 = 0; - uint32_t u32 = 0; - uint64_t u64 = 0; - return (int)(u8 + u16 + u32 + u64); -} -" HAVE_C99_STDINT) - -configure_file(config.h.cmake config.h @ONLY) -configure_file(Paths.h.in Paths.h @ONLY) - -add_library(sj3types INTERFACE) -target_include_directories(sj3types INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} -) - -add_library(sj3_core_types OBJECT - wc16_str.c - string.c - string2.c -) -target_link_libraries(sj3_core_types PRIVATE sj3types) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..97c58be --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,138 @@ + + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official email address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations + diff --git a/Dict.h b/Dict.h index 1d04596..1ebc24d 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/Makefile b/Makefile index b09c79f..88112d2 100644 --- a/Makefile +++ b/Makefile @@ -44,10 +44,10 @@ KANAKAN_OBJS = adddic.o addelcmn.o alloc.o charsize.o chrtbl.o cl2knj.o \ clstudy.o cmpstr.o conjunc.o connect.o cvtclknj.o cvtdict.o \ cvtkanji.o deldic.o depend.o dict.o functbl.o fuzoku.o \ fzkyomi.o getkanji.o getrank.o global2.o hzstrlen.o init.o \ - istrcmp.o memory2.o mk2claus.o mkbunsetsu.o mkjiritsu.o mkkouho.o \ + istrcmp.o memory2.o mk2claus.o mkbunset.o mkjiritu.o mkkouho.o \ mknumber.o mvmemd.o mvmemi.o peepdic.o ph2knj.o ph_khtbl.o \ priority.o prtytbl.o s2ctbl.o selclrec.o selsuuji.o setconj.o \ - setjrec.o setkouho.o setsubi.o sj2code.o skiphblk.o skipkstr.o \ + setjrec.o setkouho.o setubi.o sj2code.o skiphblk.o skipkstr.o \ srchdict.o srchhead.o srchidx.o srchnum.o stbtbl.o stttbl.o \ study.o suujitbl.o terminat.o termtbl.o wakachi.o SJ3RKCV_OBJS = rk_conv.o sj3_rkcv.o wc16_str.o @@ -58,9 +58,9 @@ SJ3_OBJS = code.o common.o conv.o display.o douon.o edit.o etc.o \ eucmessage.o funckey.o henkan.o kigou.o libif.o nmttyslot.o \ romaji.o screen.o sj3.o sj3ver.o sjgetchar.o sjrc2.o \ stat_conv.o term.o toroku.o version2.o -SJ3DIC_OBJS = codecnv.o dictdisp.o dictmake.o hinshi.o sj3dic.o sj3err.o \ +SJ3DIC_OBJS = codecnv.o dictdisp.o dictmake.o hinsi.o sj3dic.o sj3err.o \ sjrc.o -SJ3MKDIC_OBJS = char.o cnvhinshi.o file.o global.o hindo.o knjcvt.o makedict.o \ +SJ3MKDIC_OBJS = char.o cnvhinsi.o file.o global.o hindo.o knjcvt.o makedict.o \ makelist.o makeseg.o memory.o offset.o readline.o string2.o SJ3STAT_OBJS = sj3stat.o diff --git a/Makefile.depend b/Makefile.depend index 4c63a35..b8fbb50 100644 --- a/Makefile.depend +++ b/Makefile.depend @@ -4,7 +4,7 @@ adddic.o: adddic.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \ addelcmn.o: addelcmn.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \ sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \ sj_struct.h Struct.h const.h Paths.h sj_global.h \ - sj_hinshi.h sj_yomi.h kanakan.h + sj_hinsi.h sj_yomi.h kanakan.h alloc.o: alloc.c sj_rename.h sj_typedef.h const.h Paths.h sj_euc.h \ sj_sysvdef.h sj_var.h sj_struct.h kanakan.h Struct.h sj_dict.h char.o: char.c sj_euc.h sj_sysvdef.h const.h Paths.h @@ -20,7 +20,7 @@ clstudy.o: clstudy.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h kanakan.h cmpstr.o: cmpstr.c sj_rename.h const.h Paths.h sj_euc.h sj_sysvdef.h \ sj_typedef.h -cnvhinshi.o: cnvhinshi.c dicttool.h sj_struct2.h const.h Paths.h sj_euc.h \ +cnvhinsi.o: cnvhinsi.c dicttool.h sj_struct2.h const.h Paths.h sj_euc.h \ sj_sysvdef.h GramTable code.o: code.c sj_sysvdef.h wchar16.h key.h kctype.h sj2.h rk.h codecnv.o: codecnv.c sjctype.h sj_sysvdef.h sjtool.h @@ -79,7 +79,7 @@ functbl.o: functbl.c sj_rename.h sj_func.h sj_typedef.h sj_struct.h \ kanakan.h fuzoku.o: fuzoku.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \ sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h Paths.h \ - sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h sj_right.h \ + sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h sj_right.h \ sj_yomi.h fzkyomi.o: fzkyomi.c const.h Paths.h sj_euc.h sj_sysvdef.h sj_rename.h \ sj_typedef.h sj_yomi.h sj_right.h sj_left.h @@ -96,7 +96,7 @@ henkan.o: henkan.c common.h conversion.h sj2.h wchar16.h key.h \ sj_sysvdef.h sj3libsj3.h sj3lib.h henkan.h kctype.h hindo.o: hindo.c sj_struct.h sj_typedef.h dicttool.h sj_struct2.h const.h \ Paths.h sj_euc.h sj_sysvdef.h -hinshi.o: hinshi.c sj_hinshi.h +hinsi.o: hinsi.c sj_hinsi.h hzstrlen.o: hzstrlen.c sj_euc.h sj_sysvdef.h sj_rename.h sj_typedef.h \ const.h Paths.h sj_dict.h kanakan.h sj_struct.h Struct.h sj_var.h init.o: init.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \ @@ -128,17 +128,17 @@ memory2.o: memory2.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ mk2claus.o: mk2claus.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_right.h -mkbunsetsu.o: mkbunsetsu.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ +mkbunset.o: mkbunset.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ - Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h \ + Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h \ kanakan.h -mkjiritsu.o: mkjiritsu.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ +mkjiritu.o: mkjiritu.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h kanakan.h mkkouho.o: mkkouho.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \ sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \ sj_struct.h Struct.h const.h Paths.h sj_global.h \ - sj_hinshi.h sj_suuji.h kanakan.h + sj_hinsi.h sj_suuji.h kanakan.h mknumber.o: mknumber.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_yomi.h \ @@ -160,7 +160,7 @@ ph_khtbl.o: ph_khtbl.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h kanakan.h priority.o: priority.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ - Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h \ + Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h \ sj_right.h sj_prty.h prtytbl.o: prtytbl.c sj_rename.h sj_typedef.h readline.o: readline.c sj_euc.h sj_sysvdef.h const.h Paths.h sj_macro.h \ @@ -179,18 +179,18 @@ selsuuji.o: selsuuji.c sj_rename.h sj_typedef.h const.h Paths.h sj_euc.h \ setconj.o: setconj.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_right.h \ - sj_hinshi.h sj_yomi.h kanakan.h + sj_hinsi.h sj_yomi.h kanakan.h setjrec.o: setjrec.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \ sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \ sj_struct.h Struct.h const.h Paths.h sj_global.h \ - sj_hinshi.h kanakan.h + sj_hinsi.h kanakan.h setkouho.o: setkouho.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \ sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \ sj_struct.h Struct.h const.h Paths.h sj_global.h \ - sj_hinshi.h kanakan.h -setsubi.o: setsubi.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \ + sj_hinsi.h kanakan.h +setubi.o: setubi.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \ sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h Paths.h \ - sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h kanakan.h + sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h kanakan.h setup.o: setup.c sj_sysvdef.h sj_typedef.h sj_var.h sj_dict.h sj_struct.h \ sj_rename.h const.h Paths.h sj_euc.h Struct.h sj_global.h kanakan.h \ server.h @@ -204,7 +204,7 @@ sj3_rkcv.o: sj3_rkcv.c wchar16.h key.h sj2.h sj_sysvdef.h kana.h rk.h \ sj3dic.o: sj3dic.c sj_sysvdef.h sjtool.h sj3lib.h sj3dic.h sj3err.o: sj3err.c sj3err.h sj3lib.o: sj3lib.c config.h const.h Paths.h sj_euc.h sj_sysvdef.h \ - sj3err.h sj_hinshi.h sj3lib.h + sj3err.h sj_hinsi.h sj3lib.h sj3stat.o: sj3stat.c const.h Paths.h sj_euc.h sj_sysvdef.h sj3err.h \ sj3lib.h sj3ver.o: sj3ver.c sj2.h wchar16.h key.h sj_sysvdef.h @@ -229,10 +229,10 @@ srchidx.o: srchidx.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ srchnum.o: srchnum.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_yomi.h \ - sj_hinshi.h sj_suuji.h kanakan.h + sj_hinsi.h sj_suuji.h kanakan.h stat_conv.o: stat_conv.c common.h conversion.h sj2.h wchar16.h key.h \ sj_sysvdef.h sj3libsj3.h sj3lib.h henkan.h rk.h -stbtbl.o: stbtbl.c sj_rename.h sj_typedef.h sj_yomi.h sj_hinshi.h +stbtbl.o: stbtbl.c sj_rename.h sj_typedef.h sj_yomi.h sj_hinsi.h string.o: string.c config.h sj_euc.h sj_sysvdef.h sj3lib.h string2.o: string2.c const.h Paths.h sj_euc.h sj_sysvdef.h dicttool.h \ sj_struct2.h @@ -255,5 +255,5 @@ version2.o: version2.c sj2.h wchar16.h key.h sj_sysvdef.h wakachi.o: wakachi.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \ sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \ Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_right.h \ - sj_hinshi.h kanakan.h + sj_hinsi.h kanakan.h wc16_str.o: wc16_str.c sj_sysvdef.h sj_euc.h wchar16.h key.h diff --git a/Sjrc b/Sjrc index aa01877..879eccb 100644 --- a/Sjrc +++ b/Sjrc @@ -26,6 +26,12 @@ ## from Sony Corporation. ## +## +## $SonyRCSfile: Sjrc,v $ +## $SonyRevision: 1.1 $ +## $SonyDate: 1994/06/03 08:03:06 $ +## + # SJ3用セット・アップ・ファイル # .sjrc file sample # sj3 1.00, 1990 Sony Corp. @@ -42,7 +48,7 @@ .key.right ^F .key.left ^B .key.kakuchou ^O -.key.shukushou ^I +.key.syukusyou ^I .key.wrap ^N .key.wrapback ^P .key.saihenkan ^Y @@ -75,7 +81,7 @@ # その他キーが押されたときのコマンド・キーの指定 #.etckey.toroku hira -#.etckey.shoukyo zkatakana +#.etckey.syoukyo zkatakana #.etckey.help hkatakana #.etckey.sjrc zalpha diff --git a/Sjrk b/Sjrk index 29dd753..f9daac5 100644 --- a/Sjrk +++ b/Sjrk @@ -26,6 +26,11 @@ ## from Sony Corporation. ## +## +## $SonyRCSfile: Sjrk,v $ +## $SonyRevision: 1.1 $ +## $SonyDate: 1994/06/03 08:03:07 $ +## # # ローマ字かな変換規則定義ファイル # デフォルトファイル diff --git a/Struct.h b/Struct.h index ee053ae..850e52d 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/Xterm.cvt b/Xterm.cvt index 6d31f6b..27013bd 100644 --- a/Xterm.cvt +++ b/Xterm.cvt @@ -26,6 +26,11 @@ ## from Sony Corporation. ## +## +## $SonyRCSfile: Xterm.cvt,v $ +## $SonyRevision: 1.1 $ +## $SonyDate: 1994/06/03 08:03:08 $ +## # sj3 command key alias file # for xterm # diff --git a/adddic.c b/adddic.c index 69f9e3b..c4f7e34 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 @@ -27,121 +27,134 @@ * */ +/* + * $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 hinshi) { - 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, hinshi, 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, hinshi)) != 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, hinshi); + if (i) { + i = srchgram(p1, &p1, hinsi); dstofs = hnsofs = p1 - dicbuf; - if(i) { + if (i) { srchkanji(&p1, kptr, klen); - if(*p1 != HinshiBlkTerm) 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 { - oldsiz = newsiz = getsize(p1); - nxtask = 0; } - if(!knjofs) newsiz += 2; + else { + oldsiz = newsiz = getsize(p1); + nxtask = 0; + } + 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); @@ -150,10 +163,10 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) { 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++; @@ -168,11 +181,11 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) { } 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); @@ -183,15 +196,15 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) { 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 |= AsshukuYomiTop; + if (nlen & 0x10) *douptr |= NokoriYomiTop; + if (plen & 0x10) *douptr |= AssyukuYomiTop; *(douptr + 1) = size; *(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4)); @@ -201,112 +214,115 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) { } 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 |= AsshukuYomiTop; + *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 |= AsshukuYomiTop; + if (nlen & 0x10) *douptr |= NokoriYomiTop; + if (plen & 0x10) *douptr |= AssyukuYomiTop; *(douptr + 1) = newsiz; *(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4)); } - if(!knjofs) *dstptr++ = hinshi; + 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++ = HinshiBlkTerm; + 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 = hinshi; - 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]; - dicinl = cnvlen; +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]; + + 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 != HinshiBlkTerm) { - 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++; @@ -319,17 +335,19 @@ 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; } @@ -338,24 +356,26 @@ 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)) { +static int +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; @@ -365,30 +385,34 @@ 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; - for(s = curdict->segunit - 1; s >= seg; s--) { +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; + + for (s = curdict->segunit - 1 ; s >= seg ; s--) { (*curdict->getdic)(curdict, s); (*curdict->putdic)(curdict, s + 1); } @@ -399,46 +423,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; } } } @@ -448,18 +472,20 @@ 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 1880d24..d7ff35b 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 @@ -27,108 +27,139 @@ * */ +/* + * $SonyRCSfile: addelcmn.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:27 $ + * + * $Id$ + */ + + #include #include "sj_euc.h" #include "sj_kcnv.h" -#include "sj_hinshi.h" +#include "sj_hinsi.h" #include "sj_yomi.h" #include "kanakan.h" -int sj2cd_str(); -void mvmemi(), mvmemd(), mkidxtbl(); -void set_size(unsigned char* p, int size, int plen, int nlen) { +int sj2cd_str(); +void mvmemi(), mvmemd(), mkidxtbl(); + + + +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 |= AsshukuYomiTop; + 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; - if(!(Chrtbl[*yp] & DICTOP)) return FALSE; +static int +isvyomi (unsigned char *yp) +{ + int len; - for(len = 0; *yp; yp++) { - if(!(Chrtbl[*yp]) || (*yp >= Y_KUTEN)) return FALSE; - if(++len > MaxWdYomiLen) 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; } return TRUE; } -static int -isvknj(unsigned char* kanji) { - int len; - if(!*kanji) return FALSE; - for(len = 0; *kanji;) { - if(*kanji == SS3) { +static int +isvknj(unsigned char *kanji) +{ + int len; + + if (!*kanji) return FALSE; + + 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; - if(MEISHI_1 <= grm && grm <= D_MEISHI_6) return TRUE; - if(MYOUJI <= grm && grm <= JOSUUSHI2) return TRUE; - if(KEIYOUSHI_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; + +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; return FALSE; } -unsigned int -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_BadHinshi; + +unsigned int +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; return err; } -static void -yomi2kata(unsigned char* src, unsigned char* dst) { - int first; - int second; - while((first = *src++) != 0) { + +static void +yomi2kata (unsigned char *src, unsigned char *dst) +{ + int first; + int second; + + while ((first = *src++) != 0) { second = *src++; - if(first != 0xa4) { + if (first != 0xa4) { *dst++ = first; *dst++ = second; - } else { + } + else { *dst++ = 0xa5; *dst++ = second; } @@ -137,108 +168,123 @@ 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); - if((len = top_strcmp(yomi, knj)) != 0) { - *dst = (unsigned char)(ZenHiraAsshuku | (len - 1)); - } else if((len = top_strcmp(kana, knj)) != 0) { - *dst = (unsigned char)(ZenKataAsshuku | (len - 1)); +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) { + if (len) { knj += len * 2; dst++; } - if(*knj) { - for(;;) { - if((len = last_strcmp(yomi, knj)) != 0) { - *dst++ = (unsigned char)(ZenHiraAsshuku | (len - 1)); + 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) { - *dst++ = (unsigned char)(ZenKataAsshuku | (len - 1)); + } + 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) { - knj++; - *dst++ = (*knj & NormalKanjiMask); + } else if (*knj == SS3) { 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; } } @@ -246,84 +292,99 @@ int 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 hinshi) { - 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 == hinshi) { + ptr += DouonBlkSizeNumber + nlen; + while (ptr < endp) { + if (*ptr == hinsi) { *dst = ptr; - flg = TRUE; + flg = TRUE; } do { ptr += codesize(*ptr); - } while(*ptr != HinshiBlkTerm); + } 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 != HinshiBlkTerm) { - 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); @@ -331,15 +392,17 @@ void 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 f7d9a5d..34cc4cf 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 @@ -27,6 +27,16 @@ * */ +/* + * $SonyRCSfile: alloc.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:28 $ + * + * $Id$ + */ + + + #include #include #include "sj_rename.h" @@ -36,57 +46,64 @@ #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 095224d..c806d87 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,6 +27,7 @@ * */ + #include #include @@ -34,56 +35,56 @@ #include "sj_euc.h" #include "const.h" -int cnvyomi(int code) { - unsigned short hh; - unsigned char high; - unsigned char low; - hh = ((code >> 16) & 0xffff); +int +cnvyomi(int code) +{ + unsigned short hh; + unsigned char high; + unsigned char low; + + 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; } } } @@ -91,20 +92,23 @@ int cnvyomi(int code) { return 0; } -int h2kcode(int code) { - unsigned short hh; - unsigned char high; - unsigned char low; - hh = ((code >> 16) & 0xffff); +int +h2kcode(int code) +{ + unsigned short hh; + unsigned char high; + unsigned char low; + + 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. @@ -112,155 +116,153 @@ int h2kcode(int code) { return (0); } -int codesize(unsigned char code) { - switch(code & KanjiModeMask) { - case ZenHiraAsshuku: - case ZenKataAsshuku: - case KanjiAsshuku: - case KanjiStrEnd: + +int +codesize(unsigned char code) +{ + switch (code&KanjiModeMask) { + case ZenHiraAssyuku: + case ZenKataAssyuku: + case KanjiAssyuku: + case KanjiStrEnd: return 1; - case LeadingHankaku: - case OffsetAsshuku: - 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 ZenHiraAsshuku: + +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 ZenKataAsshuku: + case ZenKataAssyuku: fprintf(fp, "\245\253%d", (*p++ & 0x0f) + 1); l--; break; - case KanjiAsshuku: + 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 OffsetAsshuku: + 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_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_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; - while(*p) { +void +output_yomi(FILE* fp, unsigned char* p) +{ + int i; + + while (*p) { i = yomi2zen(*p++); fputc((i >> 8) & 0xff, fp); fputc(i & 0xff, fp); diff --git a/charsize.c b/charsize.c index 3446a5c..e37bc6b 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 @@ -27,24 +27,36 @@ * */ +/* + * $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 ZenHiraAsshuku: - case ZenKataAsshuku: - case KanjiAsshuku: - case KanjiStrEnd: +int +codesize(unsigned char code) +{ + switch (code & KanjiModeMask) { + case ZenHiraAssyuku: + case ZenKataAssyuku: + case KanjiAssyuku: + case KanjiStrEnd: return 1; - case LeadingHankaku: - case OffsetAsshuku: - case AiAttribute: - return 2; - default: + case LeadingHankaku: + case OffsetAssyuku: + case AiAttribute: return 2; + default: + return 2; } } + diff --git a/chrtbl.c b/chrtbl.c index 1c4e47b..c3f4684 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 @@ -27,265 +27,277 @@ * */ +/* + * $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 cdd6616..d9449b3 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 @@ -27,33 +27,46 @@ * */ +/* + * $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++); } @@ -61,17 +74,17 @@ int 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); - mkjiritsu(0); - mkbunsetsu(); - if(!maxclptr) wakachi(); + mkjiritu(0); + mkbunsetu(); + if (!maxclptr) wakachi(); jrt1st = maxjptr; clt1st = maxclptr; @@ -83,100 +96,120 @@ int 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 e1d4642..fb3d30d 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 @@ -27,73 +27,89 @@ * */ +/* + * $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; - if(!StudyExist()) return ClstudyNoDict; +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(!yomi1 || !*yomi1) return ClstudyParaErr; + if (!StudyExist()) return ClstudyNoDict; - if(!yomi2 || !*yomi2) { - if(!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN)) + if (!yomi1 || !*yomi1) return ClstudyParaErr; + + 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; } } @@ -104,29 +120,32 @@ int 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); } } @@ -134,11 +153,14 @@ 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); @@ -147,10 +169,10 @@ void 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); } @@ -159,30 +181,32 @@ void 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); @@ -191,18 +215,20 @@ 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++; @@ -211,19 +237,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; } @@ -233,23 +259,26 @@ srchclpos(unsigned char* ycode) { return target ? target : tagptr; } -void mkclidx(void) { - unsigned char* ptr; - int num; - int st, ed; - if(!StudyExist()) return; +void +mkclidx(void) +{ + unsigned char *ptr; + int num; + int st, ed; + + 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 238347b..98b0460 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 @@ -27,21 +27,31 @@ * */ +/* + * $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/cnvhinshi.c b/cnvhinsi.c similarity index 70% rename from cnvhinshi.c rename to cnvhinsi.c index 57eb657..d49471d 100644 --- a/cnvhinshi.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 @@ -27,70 +27,90 @@ * */ +/* + * $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 cnvhinshi(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* hinshi_str(int code) { - int i; - for(i = 0; i <= GramMax; i++) { - if(gramtbl[i].code == code) return gramtbl[i].name; + +char* +hinsi_str(int code) +{ + int i; + + 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 7626b25..05d734a 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 @@ -27,6 +27,14 @@ * */ +/* + * $SonyRCSfile: code.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:09 $ + */ + + + #include "sj_sysvdef.h" #include "wchar16.h" #include "kctype.h" @@ -38,41 +46,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 @@ -83,101 +91,104 @@ 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) { @@ -186,15 +197,18 @@ void 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 db82247..1e3237f 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 @@ -27,6 +27,14 @@ * */ +/* + * $SonyRCSfile: codecnv.c,v $ + * $SonyRevision: 1.3 $ + * $SonyDate: 1997/01/23 11:26:31 $ + */ + + + #include #include #include @@ -34,62 +42,69 @@ #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; } } @@ -98,44 +113,46 @@ void } 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 7a49eca..1ed2140 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 @@ -27,99 +27,114 @@ * */ +/* + * $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 e1943d9..c76c328 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 @@ -27,21 +27,31 @@ * */ +/* + * $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 a9a27e0..92d3b71 100644 --- a/compats.c +++ b/compats.c @@ -35,37 +35,45 @@ #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, ": "); } @@ -73,20 +81,24 @@ void 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, ": "); } @@ -94,7 +106,9 @@ void 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); @@ -102,7 +116,9 @@ void 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); @@ -110,7 +126,9 @@ void 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); @@ -118,7 +136,9 @@ void 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); @@ -126,7 +146,9 @@ void 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); @@ -134,7 +156,9 @@ void 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); @@ -201,7 +225,7 @@ void 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) @@ -223,26 +247,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 @@ -252,28 +276,30 @@ 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++; @@ -284,38 +310,38 @@ int 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); } @@ -325,66 +351,68 @@ int 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); } @@ -399,32 +427,32 @@ int 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); /* @@ -433,8 +461,8 @@ int 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 { @@ -442,7 +470,7 @@ int 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); } @@ -464,8 +492,10 @@ int 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); } @@ -478,10 +508,12 @@ void 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 @@ -489,9 +521,9 @@ void 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); @@ -542,109 +574,111 @@ void 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); /* @@ -652,7 +686,7 @@ FTS* 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; @@ -664,29 +698,27 @@ FTS* 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 @@ -697,28 +729,30 @@ 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); @@ -728,16 +762,16 @@ int 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; @@ -750,32 +784,32 @@ int 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); } @@ -786,14 +820,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; } @@ -801,13 +835,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; } @@ -816,7 +850,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; @@ -834,36 +868,35 @@ 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); } @@ -876,23 +909,22 @@ next: * 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); @@ -902,7 +934,7 @@ next: 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. @@ -920,14 +952,14 @@ next: * 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; @@ -936,8 +968,8 @@ next: 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); @@ -952,9 +984,11 @@ next: * 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); } @@ -962,12 +996,13 @@ int 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); } @@ -982,11 +1017,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); /* @@ -994,14 +1029,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 @@ -1014,14 +1049,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); } @@ -1043,18 +1078,19 @@ 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; @@ -1063,9 +1099,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); @@ -1076,9 +1112,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 { @@ -1089,7 +1125,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 @@ -1107,9 +1143,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; @@ -1132,8 +1168,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++; @@ -1144,29 +1180,28 @@ 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); @@ -1176,18 +1211,18 @@ fts_build(FTS* sp, int type) { 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 @@ -1202,65 +1237,65 @@ fts_build(FTS* sp, int type) { 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'; } @@ -1272,38 +1307,40 @@ fts_build(FTS* sp, int type) { * 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; @@ -1315,24 +1352,23 @@ 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 @@ -1342,9 +1378,9 @@ fts_stat(FTS* sp, FTSENT* p, int follow, int dfd) { */ 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); /* @@ -1353,23 +1389,24 @@ fts_stat(FTS* sp, FTSENT* p, int follow, int dfd) { * 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; /* @@ -1379,33 +1416,34 @@ 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 @@ -1416,27 +1454,28 @@ 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); } @@ -1449,22 +1488,23 @@ 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); @@ -1479,35 +1519,36 @@ 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); } @@ -1518,28 +1559,29 @@ 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); @@ -1570,19 +1612,22 @@ 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); } @@ -1613,51 +1658,50 @@ 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; @@ -1668,7 +1712,9 @@ void 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. */ @@ -1678,8 +1724,8 @@ void 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; @@ -1688,7 +1734,7 @@ void 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; @@ -1696,7 +1742,7 @@ void 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); } @@ -1704,34 +1750,39 @@ void 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) */ @@ -1742,24 +1793,27 @@ void 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 << s | w >> (32 - s), w += x) + ( w += f(x, y, z) + data, w = 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 @@ -1768,73 +1822,73 @@ void 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; @@ -1842,21 +1896,23 @@ void 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 */ @@ -1892,29 +1948,31 @@ char* 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; } @@ -1943,17 +2001,19 @@ void* 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 @@ -1963,26 +2023,28 @@ void* 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; @@ -1990,11 +2052,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; @@ -2007,46 +2069,48 @@ 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 */ /* @@ -2081,22 +2145,25 @@ 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. */ @@ -2107,28 +2174,28 @@ char* 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; } @@ -2137,15 +2204,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; @@ -2159,7 +2226,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); @@ -2171,35 +2238,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; } @@ -2212,17 +2279,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: @@ -2230,12 +2297,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 @@ -2264,11 +2331,13 @@ 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; } @@ -2306,47 +2375,49 @@ void* 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); @@ -2403,55 +2474,51 @@ void* 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; } @@ -2465,11 +2532,10 @@ int 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; } @@ -2477,33 +2543,33 @@ int 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; } @@ -2511,32 +2577,32 @@ int 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; } @@ -2547,16 +2613,16 @@ int 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; @@ -2574,13 +2640,15 @@ int 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; } @@ -2588,18 +2656,18 @@ int 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; } @@ -2607,31 +2675,31 @@ int 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; } @@ -2657,13 +2725,15 @@ int 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; @@ -2691,19 +2761,21 @@ int 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; /* @@ -2711,8 +2783,8 @@ int 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; } @@ -2721,7 +2793,7 @@ int 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; } @@ -2735,7 +2807,7 @@ int 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. * @@ -2750,7 +2822,7 @@ int 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 @@ -2769,7 +2841,7 @@ int 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 @@ -2782,22 +2854,22 @@ int 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*/ /* @@ -2834,7 +2906,7 @@ int 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: * @@ -2849,60 +2921,56 @@ int 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 ****************************************/ /* @@ -2914,128 +2982,136 @@ int 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; } @@ -3044,33 +3120,33 @@ void 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]; @@ -3085,27 +3161,27 @@ void 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; @@ -3123,10 +3199,12 @@ void 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]; @@ -3145,40 +3223,40 @@ void 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; @@ -3196,19 +3274,21 @@ void 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; @@ -3224,14 +3304,14 @@ void 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; @@ -3240,22 +3320,24 @@ void 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); @@ -3272,7 +3354,7 @@ void 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); @@ -3281,14 +3363,16 @@ void 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); @@ -3296,45 +3380,49 @@ void 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) -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; +#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; /* Initialize registers with the prev. intermediate value */ a = state[0]; @@ -3349,27 +3437,27 @@ void 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; @@ -3387,10 +3475,12 @@ void 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]; @@ -3409,40 +3499,40 @@ void 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; @@ -3460,19 +3550,21 @@ void 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); @@ -3488,14 +3580,14 @@ void 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); @@ -3504,19 +3596,21 @@ void 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: */ @@ -3534,9 +3628,9 @@ void 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); @@ -3545,14 +3639,16 @@ void 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); @@ -3561,9 +3657,11 @@ void 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; } @@ -3573,26 +3671,34 @@ 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); @@ -3601,17 +3707,19 @@ void 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'; @@ -3619,17 +3727,19 @@ char* 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'; @@ -3637,17 +3747,19 @@ char* 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'; @@ -3655,19 +3767,21 @@ char* 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; @@ -3675,16 +3789,16 @@ char* 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; } @@ -3694,23 +3808,27 @@ char* 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; @@ -3718,16 +3836,16 @@ char* 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; } @@ -3737,23 +3855,27 @@ char* 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; @@ -3761,16 +3883,16 @@ char* 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; } @@ -3780,11 +3902,15 @@ char* 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); @@ -3792,7 +3918,9 @@ char* 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); @@ -3800,7 +3928,9 @@ char* 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); @@ -3836,22 +3966,23 @@ char* 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--; } @@ -3859,7 +3990,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 @@ -3888,27 +4019,29 @@ 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 @@ -3935,13 +4068,15 @@ 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'; } @@ -3972,10 +4107,12 @@ char* 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); } @@ -4002,43 +4139,44 @@ 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 1bd2026..8c76a97 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: comuni.c,v $ + * $SonyRevision: 1.4 $ + * $SonyDate: 1994/11/16 07:34:05 $ + * + * $Id$ + */ + + #include #include #include @@ -48,7 +57,7 @@ #ifdef TLI #include #include -#include +#include #include #include #include @@ -59,100 +68,109 @@ #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; } @@ -161,24 +179,26 @@ 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 @@ -189,7 +209,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); @@ -201,140 +221,144 @@ 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); + hdr->level = SOL_SOCKET; + hdr->name = SO_REUSEADDR; + hdr->len = sizeof(true); + + (void) memcpy(&true, (char *)hdr + sizeof(*hdr), sizeof(true)); - (void)memcpy(&true, (char*)hdr + sizeof(*hdr), sizeof(true)); + opt->opt.len = opt->opt.maxlen = sizeof(*hdr) + sizeof(true); + opt->flags = T_CHECK; + opt->opt.buf = (char *)hdr; - 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)) { + 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); @@ -342,14 +366,15 @@ 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"); @@ -359,7 +384,9 @@ 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(); @@ -368,66 +395,74 @@ void 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; - if((fd = accept(fd_unix, (struct sockaddr*)&sunix, &i)) == ERROR) +static int +connect_af_unix(void) +{ + struct sockaddr_un sunix; + int i = sizeof(sunix); + int fd; + + 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; @@ -435,16 +470,18 @@ 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); @@ -453,28 +490,31 @@ 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); @@ -482,40 +522,44 @@ 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; @@ -524,15 +568,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 @@ -542,9 +586,12 @@ 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"); } @@ -552,25 +599,26 @@ 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 { @@ -585,62 +633,66 @@ 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; - - if((sp = cp->stdy) != NULL) closestdy(sp); - if((wp = cp->work) != NULL) free_workarea(wp); +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); + 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; } @@ -648,51 +700,54 @@ 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; ) { - for(cur_client = client; cur_client;) { - - if(setjmp(client_dead)) { + 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(); @@ -704,13 +759,16 @@ void communicate(void) { } } -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) { +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) { longjmp(client_dead, -1); } len -= i; @@ -719,48 +777,65 @@ void 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; - for(;;) { - if((i = read(client_fd, getbuf, sizeof(getbuf))) > 0) break; - if(i == ERROR) { - if(errno == EINTR) continue; - if(errno == EWOULDBLOCK) continue; +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; } longjmp(client_dead, -1); } @@ -768,42 +843,56 @@ void 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/config.h.cmake b/config.h.cmake deleted file mode 100644 index 423bc8b..0000000 --- a/config.h.cmake +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef OCONFIGURE_CONFIG_H -#define OCONFIGURE_CONFIG_H - -#cmakedefine01 HAVE_C99_STDINT - -#ifndef HAVE_MD5 -# define HAVE_MD5 1 -#endif -#ifndef HAVE_SHA2 -# define HAVE_SHA2 1 -#endif - -#endif /* OCONFIGURE_CONFIG_H */ diff --git a/configure b/configure index 0e5de75..b54848f 100755 --- a/configure +++ b/configure @@ -221,7 +221,6 @@ HAVE_B64_NTOP= HAVE_CAPSICUM= HAVE_CRYPT= HAVE_CRYPT_NEWHASH= -HAVE_C99_STDINT= HAVE_ENDIAN_H= HAVE_ERR= HAVE_EXPLICIT_BZERO= @@ -392,7 +391,6 @@ runtest b64_ntop B64_NTOP "" "" "-lresolv" || true runtest capsicum CAPSICUM || true runtest crypt CRYPT "" "" "-lcrypt" || true runtest crypt_newhash CRYPT_NEWHASH || true -runtest c99_stdint C99_STDINT || true runtest endian_h ENDIAN_H || true runtest err ERR || true runtest explicit_bzero EXPLICIT_BZERO || true @@ -515,7 +513,7 @@ fi if [ ${HAVE_MD5} -eq 0 -o \ ${HAVE_SHA2} -eq 0 ] then - echo "#include \"sj_stdint.h\" /* C99 stdint.h or C89 fallback types */" + echo "#include /* C99 [u]int[nn]_t types */" echo fi @@ -557,7 +555,6 @@ cat << __HEREDOC__ #define HAVE_CAPSICUM ${HAVE_CAPSICUM} #define HAVE_CRYPT ${HAVE_CRYPT} #define HAVE_CRYPT_NEWHASH ${HAVE_CRYPT_NEWHASH} -#define HAVE_C99_STDINT ${HAVE_C99_STDINT} #define HAVE_ENDIAN_H ${HAVE_ENDIAN_H} #define HAVE_ERR ${HAVE_ERR} #define HAVE_EXPLICIT_BZERO ${HAVE_EXPLICIT_BZERO} diff --git a/conjunc.c b/conjunc.c index 4744a2c..680b067 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 @@ -27,1145 +27,1219 @@ * */ +/* + * $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_FZKMEISHI, - 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_DMEISHI, - 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_FZKMEISHI, - 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_FZKMEISHI, - 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_DMEISHI, - 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_FZKMEISHI, - 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_DMEISHI, - 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_FZKMEISHI, - 0x01, _ME, R_DMEISHI, - 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_DMEISHI, - 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_FZKMEISHI, - 0x01, _ME, R_DMEISHI, - 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_DMEISHI, - 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_FZKMEISHI, - 0x01, _MI, R_FZKMEISHI, - 0x01, _ME, R_DMEISHI, - 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_DMEISHI, - 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_FZKMEISHI, - 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_DMEISHI, - 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_FZKMEISHI, - 0x01, _ME, R_DMEISHI, - 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_FZKMEISHI, - 0x01, _MI, R_FZKMEISHI, - 0x01, _ME, R_DMEISHI, - 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_FZKMEISHI, - 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_SMEISHI1, - 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_SMEISHI1, - 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_DMEISHI, - 0x01, _SA, R_FZKMEISHI, - 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_ICHISETSUBI, - 0x01, _YO, R_MEIREI2, - 0x01, _RU, R_SHUUSI, - 0x01, _RE, R_KATEI2, - 0x01, _RO, R_MEIREI1, - 0xff}; - -static unsigned char fukusi2[] = { - 0x00, R_FUKUSHI, - 0x01, _TO, R_F_FUKUSHI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSHI, - 0xff}; - -static unsigned char fukusi3[] = { - 0x00, R_FUKUSHI, - 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_FUKUSHI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSHI, - 0xff}; - -static unsigned char fukusi4[] = { - 0x00, R_FUKUSHI, - 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_FUKUSHI, - 0x01, _NI, R_F_FUKUSHI, - 0xff}; - -static unsigned char fukusi6[] = { - 0x00, R_FUKUSHI, - 0x01, _MO, R_F_FUKUSHI, - 0xff}; - -static unsigned char fukusi7[] = { - 0x00, R_FUKUSHI, - 0x01, _NO, R_F_FUKUSHI, - 0xff}; - -static unsigned char fukusi8[] = { - 0x00, R_FUKUSHI, - 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_FUKUSHI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSHI, - 0xff}; - -static unsigned char fukusi9[] = { - 0x00, R_FUKUSHI, - 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_FUKUSHI, - 0x11, _SI, R_SI1, - 0x11, _HA, R_F_FUKUSHI, - 0x01, _NO, R_F_FUKUSHI, - 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 e008d06..9451153 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 @@ -27,7836 +27,8087 @@ * */ +/* + * $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 ichisetsubi[] = { - 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_MEISHI, - R_MEISHI, - R_MEISHI, - R_MEISHI, - 0, - 0, - 0, - 0, - 0, - 0, - R_MEISHI, - - R_DAIMEISHI, - R_DAIMEISHI, - R_WO_MEISHI, - 0, - 0, - R_DAIMEISHI6, - - 0, - 0, - 0, - - R_MEISHI, - R_MEISHI, - R_MEISHI, - R_MEISHI, - R_MEISHI, - R_RENTAISHI, - R_SETSUZOKU, - R_KANDOU, - R_JOSUUSHI, - R_SUUSHI, - - R_SETTOU, - R_SETTOU, - R_SETTOU, - R_SETTOU, - R_SETTOU, - - R_MEISHI, - R_MEISHI, - R_MEISHI, - R_MEISHI, - 0, - 0, - 0, - 0, - R_MEISHI, - - R_FUKUSHI, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - R_JOSUUSHI, - - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 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_AISATSU, - R_KSHUUSI, - R_TANKAN, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - R_MEISHI}; - -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, - ichisetsubi, - 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 70cea0e..604d1a5 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_BadHinshi 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_NoHinshi 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_BUNSETSU 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_FUKUSHI 4 -#define K_RENTAISHI 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 MaxHinshiNumber 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 HinshiBlkTerm 0xff +#define DouonBlkTerm 0xff +#define HinsiBlkTerm 0xff -#define NormalKanjiMask 0x7f -#define SS3Kanji 0x0080 -#define ZenHiraAsshuku 0x80 -#define OffsetAsshuku 0x90 -#define ZenKataAsshuku 0xa0 -#define AiAttribute 0xb0 -#define KanjiAsshuku 0xc0 -#define LeadingHankaku 0xd0 -#define KanjiStrEnd 0x00 -#define IsAsshuku 0x80 -#define AssukuUse2byte 0x90 -#define KnjAsshukuMask 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 TooLongHinshi "\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 BadHinshi "\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 TooManyHinshi "\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 HinshiTankan cnvhinshi("\303\261\264\301") +#define HinsiTankan cnvhinsi("\303\261\264\301") -#define DIVLIST 1 -#define ASSHUKUREC 2 -#define STRING 3 -#define HINDOREC 4 -#define OFFSETREC 5 -#define KANJIREC 6 -#define HINSHIREC 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 ca49adf..5fb0a18 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 @@ -27,6 +27,14 @@ * */ +/* + * $SonyRCSfile: conv.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:11 $ + */ + + + #include #include "wchar16.h" #include "select.h" @@ -34,224 +42,195 @@ #include "inkey.h" #include "common.h" -#define MSEC 300 -int keyvalue; +#define MSEC 300 -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 keynumber = sizeof(funckey) / sizeof(char*); +int keyvalue; -extern int Direct; -extern int master; -extern wchar16_t Ukey[UKEYNUM][SEQLEN + 1]; -extern int Uvalue[]; -extern int Unumber; +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~", + }; -convert_stat() { - stat_init(); - stat_conv(); +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 (); } -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; -inkey() { - Conversion* cv; - int i, j; - wchar16_t c; +wchar16_t ibuf[KEYBUFSIZ]; +wchar16_t pars_seq[KEYBUFSIZ]; +int buf_count = 0; +int pars_n; +static int escape = 0; - cv = current_conversion; +inkey () +{ + Conversion *cv; + int i, j; + wchar16_t c; + + 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; - if(*count > 1 && (value = parse_escape(buf, count, 1)) != KEY_MORE) + int n; + SELECT_FD ifds; + struct timeval t; + wchar16_t *s; + int value; + + + 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); @@ -259,113 +238,135 @@ 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(j = 0; j < *count; j++) { - if(s[j] != Ukey[i][j]) + for (i = 0 ; i < Unumber ; i ++) { + + + 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(j = 0; j < *count; j++) { - if(s[j] != (unsigned char)funckey[i][j]) + for (i = 0 ; i < keynumber ; i ++) { + + + 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 b342e10..ddb3c39 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 @@ -27,79 +27,88 @@ * */ +/* + * $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 bunsetsu_sj3 Bunsetsu; +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; - Bunsetsu 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 c05fbdd..152af11 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 @@ -27,25 +27,45 @@ * */ +/* + * $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; - if(!selectid) selectid = khcount; +void cvtkouho(), setstyrec(); - i = khcount; - krec = kouhotbl; - while(i--) { - if((int)krec->rank == (int)selectid) break; + +void cvtclknj() +{ + KHREC *krec; + int i; + + + + + if (!selectid) selectid = khcount; + + i = khcount; + krec = kouhotbl; + + while (i--) { + if ((int)krec -> rank == (int)selectid) break; krec++; } + setstyrec(krec); + cvtkouho(krec); } diff --git a/cvtdict.c b/cvtdict.c index 19cce52..8edb459 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 @@ -27,60 +27,81 @@ * */ +/* + * $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; - ofs = krec->offs; - jrec = clrec->jnode; - cllen = clrec->cllen; + +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; 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--; @@ -89,60 +110,71 @@ void cvtdict(KHREC* krec, CLREC* clrec, int flg) { stblen = 0; } - else if((i = jrec->stbofs) && (fptr = getstb(jrec->hinshi))) { + + 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; - while(len-- > 0) { +void +cvtminasi(int len) +{ + unsigned char *ptr; - if(isknj1(*ptr)) { + ptr = inputyomi; + + while (len-- > 0) { + + + if (isknj1(*ptr)) { *kanjitmp++ = *ptr++; *kanjitmp++ = *ptr++; } - - else if(*ptr == SS3) { + + else if (*ptr == SS3) { *kanjitmp++ = *ptr++; *kanjitmp++ = *ptr++; *kanjitmp++ = *ptr++; @@ -152,32 +184,40 @@ void cvtminasi(int len) { } } -void cvtwakachi(CLREC* clrec) { - int jlen; - unsigned char* ym; - int cnt; - unsigned char ch; - ym = inputyomi; - cnt = jlen = clrec->jnode->jlen; - while(cnt-- > 0) { - if(isknj1(*ym)) { +void +cvtwakachi(CLREC *clrec) +{ + int jlen; + unsigned char *ym; + int cnt; + unsigned char ch; - if(*ym == 0xa4) { + ym = inputyomi; + + + cnt = jlen = clrec -> jnode -> jlen; + while (cnt-- > 0) { + if (isknj1(*ym)) { + + 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++; @@ -186,18 +226,20 @@ void 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) { - *kanjitmp++ = *ym++; - *kanjitmp++ = *ym++; + + else if (*ym == SS3) { *kanjitmp++ = *ym++; + *kanjitmp++ = *ym++; + *kanjitmp++ = *ym++; } else { *kanjitmp++ = *ym++; } diff --git a/cvtkanji.c b/cvtkanji.c index 89d7ad9..f0040ff 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 @@ -27,147 +27,187 @@ * */ +/* + * $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 cvtphknj(void) { - int i, j; - CLREC* clrec; - CLREC* clkp; +void mkknjmax(); +void mvmemi(), free_clall(); +void free_jall(); - if(!kanjilen) goto not_enough_memory; + + +void +cvtphknj (void) +{ + int i, j; + CLREC *clrec; + CLREC *clkp; + + 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; - switch(clrec->jnode->class) { - case C_DICT: +void +cvtkouho (KHREC *krec) +{ + CLREC *clrec; + + clrec = krec -> clrec; + + + 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_BUNSETSU: - 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; - if(krec->mode && !krec->offs) { +void +setstyrec (KHREC *krec) +{ + JREC *jrec; + KHREC *kptr; + int ii; + unsigned char *fptr; + STDYOUT stdy; - for(ii = khcount, kptr = kouhotbl; ii--; kptr++) - if(kptr->rank == 1) break; + jrec = krec -> clrec -> jnode; - stdy.stdy1.offset = kptr->offs; - stdy.stdy1.seg = kptr->clrec->jnode->jseg; - stdy.stdy1.styno = kptr->styno; - stdy.stdy1.dicid = kptr->clrec->jnode->dicid; + + 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.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->hinshi; - 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->hinshi)) != 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 235f50a..3b84e2e 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 @@ -27,71 +27,87 @@ * */ +/* + * $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(); -static int del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs); -static int del_segment(TypeDicSeg seg); +void mvmemi(); +void mkidxtbl(); + + +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 hinshi) { - 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, hinshi, yptr, sizeof(yptr))) != 0) +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; + + 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, hinshi)) == 0) return AD_NoHinshi; + if ((hblknum = srchgram(p1, &p2, hinsi)) == 0) return AD_NoHinsi; - p3 = p2; + p3 = p2; kblknum = srchkanji(&p3, kptr, knjlen); - if(*p3 == HinshiBlkTerm) 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; } @@ -104,7 +120,7 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) { 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); @@ -113,28 +129,32 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) { 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); @@ -147,7 +167,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); } } @@ -159,21 +179,24 @@ 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; - if(curdict->segunit > 1) { - for(sg = seg + 1; sg < curdict->segunit; sg++) { +static int +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++) { (*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); @@ -183,29 +206,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(); } @@ -213,13 +236,16 @@ 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); @@ -231,39 +257,41 @@ del_uidx(TypeDicSeg seg) { mkidxtbl(curdict); } -static void -del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size) { - int i; - TypeStyNum stdynum; - STDYIN* stdy; - TypeDicID dicid; - if(StudyExist()) { +static void +del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size) +{ + int i; + TypeStyNum stdynum; + STDYIN *stdy; + TypeDicID dicid; + + 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 c5dbc20..cbe1aa3 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: depend.c,v $ + * $SonyRevision: 1.4 $ + * $SonyDate: 1997/10/07 07:39:45 $ + * + * $Id$ + */ + + #include #include "sj_kcnv.h" #include @@ -39,20 +48,24 @@ #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; +extern int serv_errno; +extern Global *work_base; + + +DictFile *dictlink = NULL; +StdyFile *stdylink = NULL; -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; @@ -61,687 +74,749 @@ 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; - for(p = dictlink; p != NULL; p = p->link) - if(p->dict.dicid == ino) return p; +static DictFile* +search_same_dict(ino_t ino) +{ + DictFile *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; - if(stat(name, &sbuf) == ERROR) { - if(errno == ENOENT) +DictFile* +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) 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; - if(--dfp->refcnt > 0) return 0; +int +closedict(DictFile* dfp) +{ + DictFile *df; - if(dictlink == dfp) - dictlink = dfp->link; + + if (--dfp->refcnt > 0) return 0; + + + 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}}; -void lock_dict(DictFile* p, int fd) { - FD_SET(fd, &(p->lock)); +static fd_set zero_fd_set = { { 0 } }; + +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; - for(p = stdylink; p != NULL; p = p->link) - if(p->inode == ino) return p; +static StdyFile* +search_same_stdy(ino_t ino) +{ + StdyFile *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; - if(--sfp->refcnt > 0) return 0; +int +closestdy(StdyFile* sfp) +{ + StdyFile *sf; - if(stdylink == sfp) - stdylink = sfp->link; + + if (--sfp->refcnt > 0) return 0; + + + 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; - sf = (StdyFile*)stdy_base; - fd = sf->fd; - hd = sf->header; +int +putstydic(void) +{ + int fd; + unsigned char *hd; + StdyFile *sf; + long len; - put4byte(hd + StdyNormCnt, sf->stdy.stdycnt); + sf = (StdyFile *)stdy_base; + fd = sf -> fd; + hd = sf -> header; - len = sizeof(STDYIN) * sf->stdy.stdymax; + + put4byte(hd + StdyNormCnt, sf -> stdy.stdycnt); + + + 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; - if(idxlen < MinIdxLen || seglen < MinSegLen || segnum < MinSegNum) { - serv_errno = SJ3_IllegalParameter; - return ret; +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(!(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; - if(stynum == 0) stynum = MinStyNum; - if(clstep == 0) clstep = MinClStep; - if(cllen == 0) cllen = MinClLen; +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 < MinStyNum || clstep < MinClStep || cllen < MinClLen) { - serv_errno = SJ3_IllegalParameter; - return ret; + + 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 > 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 b7414cb..a452ff6 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 @@ -27,45 +27,60 @@ * */ +/* + * $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; - for(dp = dictlist; dp; dp = dp->next) { - if((curdict = dp->dict)->dicid == id) +int +seldict(TypeDicID id) +{ + DICTL *dp; + + for (dp = dictlist ; dp ; dp = dp -> next) { + if ((curdict = dp -> dict) -> dicid == id) return TRUE; } curdict = NULL; @@ -73,8 +88,10 @@ int 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 649682f..b2eb146 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 @@ -27,56 +27,66 @@ * */ +/* + * $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 4be8f3a..b2e7448 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: dictmake.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:35 $ + */ + + + + #include "sj_sysvdef.h" #include #ifdef SVR4 @@ -39,40 +48,41 @@ #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; @@ -85,7 +95,7 @@ static void touroku(y, k, h) 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; @@ -95,22 +105,22 @@ static void touroku(y, k, h) 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_HINSHI_CODE: + 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: @@ -119,92 +129,94 @@ static void touroku(y, k, h) 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 2bec11a..f7ec0b4 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,83 +32,84 @@ */ #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); -/* cnvhinshi.c */ -int cnvhinshi(unsigned char* buf); +/* cnvhinsi.c */ +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_asshuku(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 hinshi, 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 39a743c..0d3364c 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 @@ -27,409 +27,469 @@ * */ +/* + * $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; -{ - 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(); + +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 (); } -#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 ';' -CRP(row, col) -int *row, *col; + +#define CRPLIM 4 +#define BACKLIM 16 +#define MARKER '%' +#define SEPARA ';' + +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; -{ - 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++); + +unget_inkey2 (s, n) +wchar16_t *s; +int n; +{ + 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 ++); } } -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; - SJ_read(&c, 1); + +CRI () +{ + wchar16_t c; + + 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); - } else { - CursorRead(row, col); - CursorSet(cv->line + 1, 0); + if (status_line) { + tputs (tgoto (TS, 0, 0), 1, outc); } - Flush(); + else { + CursorRead (row, col); + CursorSet (cv->line + 1, 0); + } + Flush (); } -EndGuide(row, col) unsigned short row, col; +EndGuide (row, col) +unsigned short row, col; { - if(status_line) { - tputs(FS, 1, outc); - } else { - CursorSet(row, col); + if (status_line) { + tputs (FS, 1, outc); } - Flush(); + else { + CursorSet (row, col); + } + Flush (); master_flush_flag = 1; } -Flush() { - fflush(stdout); +Flush () +{ + fflush (stdout); } -Cscroll() { - +Cscroll () +{ + return (1); } diff --git a/douon.c b/douon.c index c483033..d0eeea7 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 @@ -27,461 +27,504 @@ * */ +/* + * $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_gakushuu(); +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; - cv = GetConversion(); - if(cv->CurBun == -1) { + +exec_douon () +{ + Conversion *cv; + int val; + + 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 gakushuu; - unsigned short row, col; - Conversion* cv; + int gakusyuu; + unsigned short row, col; + Conversion *cv; cv = current_conversion; - gakushuu = 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(gakushuu) - 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) + if (keyvalue == KEY_KETTEI) + break; + else if (keyvalue == KEY_HENKAN || keyvalue == KEY_RIGHT) + return (0); + else if (c == ' ') return (0); - 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; + 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_gakushuu() { - 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_gakushuu(i, j); + check_and_gakusyuu (i, j); i = j; } } } -check_and_gakushuu(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_gakushuu(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_gakushuu(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 6c23f31..61fbd0f 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 @@ -27,63 +27,76 @@ * */ +/* + * $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; - cv = GetConversion(); - if(cv->CurBun < 0) + +Bbig () +{ + Conversion *cv; + int i, j, k; + int moji, last, val; + + 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; @@ -92,62 +105,69 @@ 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; -{ - Conversion* cv; - int i, j, k, moji; - int val; - cv = GetConversion(); - if(cv->CurBun < 0) + +Bsmall (small) +int small; +{ + Conversion *cv; + int i, j, k, moji; + int val; + + 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]; @@ -155,597 +175,610 @@ Bsmall(small) 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; - cv = GetConversion(); - if(cv->CurBun < 0) { +void +Bdelete () +{ + Conversion *cv; + int i, j, deletelen, val; + + 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; -{ - Conversion* cv; - int i; - wchar16_t* p; - unsigned short* pp; - int mlen, plen, ipos, rlen, imlen; - cv = GetConversion(); - if(cv->Ppoint[n + 1] == 0) +void +Chain (n, len) +int n; +int len; +{ + Conversion *cv; + int i; + wchar16_t *p; + unsigned short *pp; + int mlen, plen, ipos, rlen, imlen; + + 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'; @@ -755,65 +788,63 @@ 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; } } @@ -821,20 +852,21 @@ 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 5dc43e6..815bcdc 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 @@ -27,6 +27,17 @@ * */ +/* + * $SonyRCSfile: error.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:02:51 $ + * + * $Id$ + */ + + + + #include #include #include @@ -34,35 +45,43 @@ #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; - if(error_file && *error_file) { - if(!strcmp(error_file, tty_name)) { +int +open_error(void) +{ + extern char *error_file; + int flg = 0; + + 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]; - if(errfp) { +void +error_out(char* s, int p1, int p2, int p3, int p4, int p5) +{ + char tmp[BUFSIZ]; + + if (errfp) { sprintf(tmp, s, p1, p2, p3, p4, p5); fprintf(errfp, "%s: %s\r\n", program_name, tmp); fflush(errfp); @@ -70,69 +89,89 @@ void 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]; - if(errfp) { +void +warning_out(char* s, int p1, int p2, int p3, int p4, int p5) +{ + char tmp[BUFSIZ]; + + 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; - if(log_file && *log_file) { - if(!strcmp(log_file, tty_name)) { +int +open_log(void) +{ + extern char *log_file; + int flg = 0; + + 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]; - if(logfp) { +void +logging_out(char* s, int p1, int p2, int p3, int p4, int p5) +{ + char tmp[BUFSIZ]; + + 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; - if(debug_file && *debug_file) { - if(!strcmp(debug_file, tty_name)) { +int +open_debug(void) +{ + extern char *debug_file; + int flg = 0; + + 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 ee6b296..d9ca117 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 @@ -27,136 +27,147 @@ * */ +/* + * $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_shoukyo(); + 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_SHOUKYO: - if(!IsCflag()) - chbun = exec_shoukyo(); + case KEY_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(); @@ -167,24 +178,25 @@ Ssbun(flag) 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; case KEY_MUHENKAN: - val = KEY_SHOUKYO; + val = KEY_SYOUKYO; break; case KEY_ETC: val = KEY_HELP; @@ -205,153 +217,170 @@ etc_map(key) 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 { - HHlevel = 1; - Hlevel = 1; - (void)wcstombs((char*)mtmp, WCMHelp, BUFFLENGTH); - sprintf((char*)tmp, (char*)mtmp, "off"); - (void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH); + Hlevel = 2; + (void) wcstombs((char *)mtmp, WCMHelp, BUFFLENGTH); + sprintf ((char *)tmp, (char *)mtmp, "on"); + (void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH); } - guide_print_pause(WCGHelp, wtmp); + else { + HHlevel = 1; + 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); } 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]; - - (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); - } -} - -UsecWeight(sw) int sw; +change_weight () { + int c; + char s[2]; + char tmp[BUFFLENGTH]; + unsigned char mtmp[BUFFLENGTH]; + wchar16_t wtmp[BUFFLENGTH]; - if(sw) + (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); + } +} + +UsecWeight (sw) +int 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); @@ -360,55 +389,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 { @@ -421,32 +450,33 @@ 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 5875e22..9cf9dbb 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 @@ -27,245 +27,276 @@ * */ +/* + * $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*)" \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 *)" \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*)"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 *)" \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*)"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 *)"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*)"\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*)"\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 *)"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*)"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*)" ", - (unsigned char*)" ", - (unsigned char*)" \302\263\244\261\244\336\244\271\244\253? y", + (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*)"\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 *)"\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\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 *)"\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*)"", - (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*)"shuku", - (unsigned char*)"edit", - (unsigned char*)"toggle", - (unsigned char*)"wrapback", - (unsigned char*)"wrap", - (unsigned char*)"sjrc", - (unsigned char*)"buffer", - (unsigned char*)"toroku", - (unsigned char*)"shoukyo", - (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 *)"Change weight (1-9) current weight %d ", - (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 *)"\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*)"sj2", - (unsigned char*)"shift", + (unsigned char *)" ", + (unsigned char *)" ", + (unsigned char *)" \302\263\244\261\244\336\244\271\244\253? y", - (unsigned char*)"function", - (unsigned char*)"unbuffer", - (unsigned char*)"funcetc" + (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" }; + #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; @@ -287,191 +318,150 @@ int 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] = WCShoukyo; - 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; -} -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(); + +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(); #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(); @@ -481,19 +471,20 @@ int 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 0b207c4..3509e6b 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: execute.c,v $ + * $SonyRevision: 1.7 $ + * $SonyDate: 1998/04/13 11:20:12 $ + * + * $Id$ + */ + + #include "sj_kcnv.h" #include #include @@ -41,61 +50,66 @@ #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; - if(!path || !*path) return ERROR; + +int +make_full_path (char *path) +{ + char tmp[PathNameLen]; + char *index; + int i; + + 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; @@ -106,136 +120,154 @@ int make_full_path(char* path) { return 0; } -WorkArea* -alloc_workarea(void) { - WorkArea* p; - if(!(p = (WorkArea*)malloc(sizeof(WorkArea)))) return NULL; + +WorkArea* +alloc_workarea (void) +{ + WorkArea *p; + + 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 @@ -248,240 +280,274 @@ void 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; - while(dictl) { - unlock_dict((DictFile*)(dictl->dict), cur_cli->fd); - closedict((DictFile*)(dictl->dict)); - p = dictl->next; - free((char*)dictl); + +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); 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); - closestdy(cur_cli->stdy); - cur_cli->stdy = NULL; + +void +exec_closestdy (void) +{ + if (!cur_cli -> stdy) longjmp(error_ret, SJ3_StdyFileNotOpened); + + 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); - lock = cur_cli->work->lock; - if(lock != NotLocked && lock != cur_cli->fd) +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) 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); - 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; +static void +exec_unlock (void) +{ + int lock; + DICTL *dl; - for(dl = dictlist; dl; dl = dl->next) { - if(dl->dict->maxunit == 0) continue; - unlock_dict((DictFile*)(dl->dict), cur_cli->fd); + 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); } put_int(SJ3_NormalEnd); } -static void -lock_check_for_read(void) { - int lock; - lock = cur_cli->work->lock; - if(lock == NotLocked) -#ifdef SEVERE_LOCK + +static void +lock_check_for_read (void) +{ + int 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); } @@ -492,58 +558,61 @@ 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)); @@ -554,37 +623,40 @@ 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; @@ -593,48 +665,51 @@ void 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; @@ -644,48 +719,53 @@ void 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); } } @@ -698,87 +778,90 @@ 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; @@ -790,84 +873,77 @@ void 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) { - int err; - STDYOUT stdy; - err = get_nstring(buf1, sizeof(buf1)); +void +exec_clstudy (int mb_flag) +{ + int err; + STDYOUT stdy; + + 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: @@ -875,434 +951,471 @@ 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_BadHinshi) - err = SJ3_BadHinshiCode; - 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_BadHinshi) - err = SJ3_BadHinshiCode; - else if(err & AD_NoMidasi) - err = SJ3_NoSuchWord; - else if(err & AD_NoHinshi) - 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); + 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); - 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); + 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); - 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); + 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); - 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; - err = get_nstring(path, sizeof(path)); + +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)); 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; - err = get_nstring(path, sizeof(path)); + +void +exec_makestdy (void) +{ + struct stat sbuf; + char path[PathNameLen]; + int err; + int stynum; + int clstep; + int cllen; + + 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; - i = get_nstring(path, sizeof(path)); + +void +exec_access (void) +{ + char path[PathNameLen]; + int mode; + int i; + + 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); @@ -1312,45 +1425,61 @@ void exec_makedir(void) { put_int(SJ3_NormalEnd); } -void exec_who(void) { - int i; - Client* cli; - i = 0; + +void +exec_who (void) +{ + int i; + Client *cli; + + 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)); @@ -1360,79 +1489,105 @@ void 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)); - if(!work_base) longjmp(error_ret, SJ3_NotConnected); - if(!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); - if(err) longjmp(error_ret, SJ3_TooLongPasswd); +void +exec_stdypass (void) +{ + char buf[PasswdLen + 1]; + int err; - if(set_stdypass(buf)) longjmp(error_ret, serv_errno); + + 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); put_int(SJ3_NormalEnd); } -void exec_stdycmnt(void) { - char buf[CommentLength + 1]; - int err; - 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); +void +exec_stdycmnt (void) +{ + char buf[CommentLength + 1]; + int err; - if(set_stdycmnt(buf)) longjmp(error_ret, serv_errno); + + 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); put_int(SJ3_NormalEnd); } -void exec_stdypara(void) { - int stynum, clstep, cllen; - if(!work_base) longjmp(error_ret, SJ3_NotConnected); - if(!stdy_base) longjmp(error_ret, SJ3_StdyFileNotOpened); + +void +exec_stdypara (void) +{ + int stynum, clstep, cllen; + + 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); @@ -1441,180 +1596,89 @@ void exec_stdypara(void) { put_int(cllen); } -void execute_cmd(void) { - int i; - if((i = setjmp(error_ret)) != 0) { + +void +execute_cmd (void) +{ + int i; + + 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 7f83fc2..544bb2e 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 @@ -27,6 +27,13 @@ * */ +/* + * $SonyRCSfile: file.c,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1995/02/03 07:38:32 $ + */ + + #include #include #include @@ -34,105 +41,123 @@ #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 deleted file mode 100755 index c8fdbcf..0000000 --- a/format.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -clang-format --verbose -i *.c *.h diff --git a/funckey.c b/funckey.c index fe502c3..14a1a68 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 @@ -27,6 +27,15 @@ * */ +/* + * $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" @@ -35,103 +44,109 @@ #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[]; -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_SHOUKYO, 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}; +extern wchar16_t *comstr[]; -void mk_cvtkey(char* term) { - char* p; - char line[MAXLINE], rstr[16]; - FILE* fd; - char cvtkey_file[LONGLENGTH]; - struct cvtkey* ckeyp; - struct wcvtkey* wckeyp; +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 + }; - /* - * Change a default value. - * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10 - */ + +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 + */ 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++; @@ -142,49 +157,57 @@ void 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; - if(Unumber >= UKEYNUM) +void +set_func (struct wordent word[]) +{ + int i, num; + wchar16_t *p, *s; + struct wcvtkey *ckeyp; + + 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; } @@ -192,12 +215,12 @@ void 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]; } } @@ -206,106 +229,127 @@ void set_func(struct wordent word[]) { } } -wchar16_t -eval_keys(wchar16_t* s, wchar16_t* p) { - wchar16_t c, i; - if(wslen(s) > SEQLEN) - return (-1); +wchar16_t +eval_keys (wchar16_t* s, wchar16_t* p) +{ + wchar16_t c, i; + + 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; - if(u_etckeys >= ETCKEYS) +int +set_etckeys (struct wordent word[]) +{ + int i; + + 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 c116c29..cc03ce5 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 @@ -27,36 +27,52 @@ * */ +/* + * $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 7099a9a..7a51bbb 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 @@ -27,42 +27,61 @@ * */ +/* + * $SonyRCSfile: fuzoku.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:47 $ + */ + + + + + #include "sj_kcnv.h" -#include "sj_hinshi.h" +#include "sj_hinsi.h" #include "sj_right.h" #include "sj_yomi.h" -CLREC* argclrec(); -int terminate(); -static int fzkstrcmp(yptr, fzkp, saml) -unsigned char* yptr; -unsigned char* fzkp; -int* saml; + +CLREC *argclrec(); +int terminate(); + + + +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)++; @@ -72,192 +91,204 @@ 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 hinshi; - 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)++; - hinshi = jrec->hinshi; + + hinsi = jrec -> hinsi; - if(hinshi >= DO_SAHEN && hinshi <= SP_KA_ONB) - new->kubun = K_DOUSHI; + if (hinsi >= DO_SAHEN && hinsi <= SP_KA_ONB) + new -> kubun = K_DOUSHI; - else if((hinshi >= KEIYOUSHI_1 && hinshi <= KE_DOUSHI_9) || - (hinshi == SP_KEIYOUSHI)) { - if(right == R_FZKMEISHI) - new->kubun = K_TAIGEN; + else if ((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) || + (hinsi == SP_KEIYOUSI)){ + if(right == R_FZKMEISI) + new -> kubun = K_TAIGEN; else - new->kubun = K_YOUGEN; + new -> kubun = K_YOUGEN; } - else if(hinshi == RENTAISHI) - new->kubun = K_RENTAISHI; + else if (hinsi == RENTAISI) + new -> kubun = K_RENTAISI; - else if((hinshi >= FUKUSHI_1 && hinshi <= FUKUSHI_9) || - (hinshi == SP_FUKUSHI)) - new->kubun = K_FUKUSHI; + else if ((hinsi >= FUKUSI_1 && hinsi <= FUKUSI_9) || + (hinsi == SP_FUKUSI)) + new -> kubun = K_FUKUSI; - else if(hinshi == SETSUZOKU || hinshi == KANDOUSHI || - hinshi == TANKANJI || hinshi == AISATSU) - new->kubun = K_SONOTA; + else if (hinsi == SETUZOKU || hinsi==KANDOUSI || + hinsi == TANKANJI || hinsi==AISATU) + new -> kubun = K_SONOTA; - else if(gobilen) { - if(hinshi >= MEISHI_5 && hinshi <= MEISHI_7) - new->kubun = K_DOUSHI; + else if (gobilen) { + if (hinsi >= MEISI_5 && hinsi <= MEISI_7) + new -> kubun = K_DOUSHI; - else if(hinshi == D_MEISHI_4) - new->kubun = K_DOUSHI; + else if (hinsi == D_MEISI_4) + new -> kubun = K_DOUSHI; - else if(hinshi == SETSUBI_7 || hinshi == SETSUBI_8) - new->kubun = K_DOUSHI; + else if (hinsi == SETUBI_7 || hinsi == SETUBI_8) + new -> kubun = K_DOUSHI; - else if(hinshi == D_MEISHI_5) - new->kubun = K_YOUGEN; - else if(hinshi == SETSUBI_5 || hinshi == SETSUBI_6) - 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 - new->kubun = K_TAIGEN; - } else if(hinshi >= MEISHI_5 && hinshi <= MEISHI_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(!(fzk = Fzkadr(*yptr - _XA))) return; + if (len) return; + + if (!(fzk = Fzkadr(*yptr - _XA))) return; + yptr++; + + for ( ; *fzk != FZKEND ; fzk += nlen + (i ? 4 : 3)) { - for(; *fzk != FZKEND; fzk += nlen + (i ? 4 : 3)) { - - nlen = FzkNkrLen(fzk); - i = FzkHasCode(fzk); + 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(!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); } } diff --git a/fzkyomi.c b/fzkyomi.c index bb6f8e8..6780843 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 @@ -27,6 +27,14 @@ * */ +/* + * $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" @@ -34,675 +42,733 @@ #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_FZKMEISHI, - (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_FZKMEISHI, - (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_FZKMEISHI, - (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_FZKMEISHI, - (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 d63fddc..419f241 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 @@ -27,57 +27,78 @@ * */ +/* + * $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; - cnt = (*s & KanjiCodeMask) + 1; - - if(flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2; + + 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; - cnt = (*s & KanjiCodeMask) + 1; + + if (flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2; - if(flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2; - - while(cnt-- > 0) { - - if(*ym == 0xa4) { + + 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++; } @@ -86,123 +107,126 @@ 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) { - return code2kanji(askknj[*s & KnjAsshukuMask], d, ym, yl, flg); +unsigned char* +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); +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); } + 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 ZenHiraAsshuku: - d = getkan_hira(s, d, ym, yl, flg); - break; + 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 ZenKataAsshuku: - d = getkan_kata(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 OffsetAsshuku: - 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 KanjiAsshuku: - d = getkan_knj(s, d, ym, yl, flg); - break; - - default: - d = getkan_norm(s, d, ym, yl, flg); + default: + d = getkan_norm(s, d, ym, yl, flg); } break; - } else + } + else switch(*s & KanjiModeMask) { - case ZenHiraAsshuku: - d = getkan_hira(s, d, ym, yl, FALSE); - break; + 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 ZenKataAsshuku: - d = getkan_kata(s, d, ym, yl, FALSE); - break; + case LeadingHankaku: + d = getkan_ascii(s, d, ym, yl, FALSE); break; - case OffsetAsshuku: - 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 KanjiAsshuku: - d = getkan_knj(s, d, ym, yl, FALSE); - break; - - default: + 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 524fd15..34a7bc3 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 @@ -27,94 +27,123 @@ * */ +/* + * $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); -void getrank(void) { +static void setstynum (void); +static void setnspr (KHREC *kptr, STDYIN *sptr); +static void regetrank (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; - for(ptr = kouhotbl; ptr < kptr; ptr++) { - if(styno < ptr->styno) { - ptr->rank++; +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++; 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; - if(nrank < trank) { + +static void +regetrank (void) +{ + KHREC *kptr; + int count; + int tmp; + + 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 470a50a..00c8029 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 @@ -27,25 +27,32 @@ * */ +/* + * $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 hinshi_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; -AsshukuRec* asshuku = 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 3574a75..094f49f 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 @@ -27,6 +27,13 @@ * */ +/* + * $SonyRCSfile: global.c,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1994/12/09 11:27:06 $ + */ + + #include #include @@ -39,10 +46,11 @@ #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; +STDY *stdy_base; + +int serv_errno; -int serv_errno; diff --git a/henkan.c b/henkan.c index e6fbd35..a8a8a44 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 @@ -27,6 +27,14 @@ * */ +/* + * $SonyRCSfile: henkan.c,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1997/01/23 11:09:37 $ + */ + + + #include "common.h" #include "key.h" #include "wchar16.h" @@ -34,28 +42,29 @@ 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; } } @@ -63,83 +72,84 @@ 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'; + *p = '\0'; + + 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 && !dconnect(1)) + bnum = SJ2_henkan(cv->yomiout, cv->Bun, cv->kanjiout, BUFFLENGTH*4); - 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; + 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 { @@ -148,34 +158,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; @@ -195,356 +205,373 @@ 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; -load_bun(num, s, type) int num; -wchar16_t* s; -unsigned char type; +static unsigned char load_mode; + +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; -Bstr(bnum, s) int bnum; -wchar16_t* s; + +static unsigned char Bstr_mode; + +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); - 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 + 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) { 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; @@ -552,279 +579,309 @@ wchar16_t* s; } else len = -1; Bstr_mode = 1; - } else + } + else len = -1; return (len); } -mode_muhenkan(mod, bkettei) int mod, bkettei; -{ - int def; - if(!(bkettei & Bmuhenkan)) + +mode_muhenkan (mod, bkettei) +int mod, bkettei; +{ + int def; + + 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); - cv = GetConversion(); - Cclear(redraw); - SetVcol(0); - for(i = 0; i < cv->Bnum; i++) { - if((len = Bstr(i, BDtmp)) < 0) +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) 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; - CursorRead(&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; - cv = GetConversion(); + CursorRead(&row, &col); + + 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; - } + 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->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; - cv = GetConversion(); - flag = 0; +void +Bright () +{ + Conversion *cv; + int flag; + + 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; - cv = GetConversion(); - flag = 0; +void +Bleft () +{ + Conversion *cv; + int flag; + + 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; - cv = GetConversion(); +void +Blast () +{ + Conversion *cv; + + 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; - cv = GetConversion(); +void +Btop () +{ + Conversion *cv; + + 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 26e7321..c28dd28 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 @@ -27,16 +27,24 @@ * */ -#define ObjEnd 0 -#define ObjHenkan 1 -#define ObjMuhenkan 2 +/* + * $SonyRCSfile: henkan.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:43 $ + */ -#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 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) diff --git a/hindo.c b/hindo.c index 8fc492a..5743da0 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 @@ -27,322 +27,397 @@ * */ +/* + * $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 AsshukuRec* asshuku; -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; - if(hindo_num <= 0) return 0; +int +check_hindo(unsigned char* ptr, int len) +{ + int low, high, mid; + int i; - low = 0; - high = hindo_num - 1; - while(low <= high) { + + if (hindo_num <= 0) return 0; + + + 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 AsshukuRec* -makeasshuku(int num) { - AsshukuRec* arec; - arec = (AsshukuRec*)Malloc(sizeof(AsshukuRec)); - if(!arec) { + +static AssyukuRec* +makeassyuku (int num) +{ + AssyukuRec *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 -asshuku_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) == OffsetAsshuku) && - (hrec->klen == 2)) { + + if (((*(hrec->kptr) & KanjiModeMask) == OffsetAssyuku) && + (hrec->klen == 2)) { + + p = real_ofsrec(hrec -> kptr); - p = real_ofsrec(hrec->kptr); - - org = check_hindo(p->kptr, p->klen); + + 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); - old = hrec->klen * (hrec->exist + hrec->hindo); - - new = hrec->klen + (hrec->exist + hrec->hindo); + + new = hrec -> klen + (hrec -> exist + hrec -> hindo); } + return (old - new); } + + static void -set_asshuku(HindoRec* hrec) { - AsshukuRec* arec; - AsshukuRec* aprev; - int len; +set_assyuku(HindoRec* hrec) +{ + AssyukuRec *arec; + AssyukuRec *aprev; + int len; - len = asshuku_len(hrec); + + len = assyuku_len(hrec); - if(len <= 0) return; + + if (len <= 0) return; - arec = asshuku; - 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 = makeasshuku(len); + + 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 = asshuku; - asshuku = arec; + + if (aprev) { + arec -> anext = aprev -> anext; + aprev -> anext = arec; + } + else { + arec -> anext = assyuku; + assyuku = arec; } } + + static void -reset_asshuku(HindoRec* hrec) { - AsshukuRec* arec; - AsshukuRec* aptr; - AsshukuRec* 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(!asshuku) return; - aptr = asshuku; - 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(aprev) - aprev->anext = arec->anext; + + if (!aptr) return; + + if (aprev) + aprev -> anext = arec -> anext; + else - asshuku = 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; - } else { - hrec->hindo = 1; - hrec->exist = 0; - hrec->offset = 0; + + hrec -> klen = len; + hrec -> kptr = p; + if (len == alen && len > 2) { + hrec -> hindo = 0; + hrec -> exist = 1; + hrec -> offset = ++kanji_num; } - while(len-- > 0) *p++ = *ptr++; - hrec->anext = NULL; - hrec->arec = NULL; + else { + hrec -> hindo = 1; + hrec -> exist = 0; + hrec -> offset = 0; + } + 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; - if(hindo_num <= 0) { - hrec = makehindo(ptr, len, alen); - hindo[0] = hrec; + +static void +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; hindo_num = 1; - set_asshuku(hrec); + + 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_asshuku(hrec); + + 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_asshuku(hrec); + + 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_asshuku(hrec); + + 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 { - - set_asshuku(hrec); + } + else { + + set_assyuku(hrec); } return; @@ -351,141 +426,170 @@ 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]; - for(kp1 = p, kl1 = l; kl1 > 0;) { +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(i = 0, kp2 = kp1; i < kl1;) { - if(codesize(*kp2) == 1) { + for (kp1 = p, kl1 = l ; kl1 > 0 ; ) { + + + 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]; - for(kp1 = p, kl1 = l; kl1 > 0;) { +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(i = 0, kp2 = kp1; i < kl1;) { - if(codesize(*kp2) == 1) { + for (kp1 = p, kl1 = l ; kl1 > 0 ; ) { + + + 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_asshuku(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; - AsshukuRec* 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 = asshuku; 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) == OffsetAsshuku) { + + 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_asshuku(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) == OffsetAsshuku) { + 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); @@ -497,10 +601,13 @@ end: return len; } -void clear_hindo(void) { - int i; - for(i = 0; i < hindo_num; i++) { +void +clear_hindo(void) +{ + int i; + + for (i = 0 ; i < hindo_num ; i++) { Free(hindo[i]->kptr); Free(hindo[i]); } @@ -508,12 +615,15 @@ void clear_hindo(void) { kanji_num = 0; } -void clear_asshuku(void) { - AsshukuRec* p; - while(asshuku) { - p = asshuku; - asshuku = asshuku->anext; +void +clear_assyuku(void) +{ + AssyukuRec *p; + + while (assyuku) { + p = assyuku; + assyuku = assyuku -> anext; Free(p); } } diff --git a/hinshi.c b/hinshi.c deleted file mode 100644 index a02d636..0000000 --- a/hinshi.c +++ /dev/null @@ -1,249 +0,0 @@ -/* - * 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 - * without limitation the rights to use, copy, modify, merge, publish, - * 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. - * IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM, - * 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 - * from Sony Corporation. - * - */ - -#include "sj_hinshi.h" - -static struct hlist { - int code; - char* str; -} hinshi[] = { - {MEISHI_1, "\314\276\273\354"}, - {MEISHI_1, "\314\276\243\261"}, - {MEISHI_2, "\314\276\243\262"}, - {MEISHI_3, "\314\276\243\263"}, - {MEISHI_4, "\314\276\243\264"}, - {MEISHI_5, "\314\276\243\265"}, - {MEISHI_6, "\314\276\243\266"}, - {MEISHI_7, "\314\276\243\267"}, - {MEISHI_8, "\314\276\243\270"}, - {MEISHI_9, "\314\276\243\271"}, - {MEISHI_10, "\314\276\243\261\243\260"}, - {MEISHI_11, "\314\276\243\261\243\261"}, - {MEISHI_20, "\314\276\243\262\243\260"}, - {D_MEISHI_1, "\302\345\314\276\273\354"}, - {D_MEISHI_1, "\302\345\243\261"}, - {D_MEISHI_2, "\302\345\243\262"}, - {D_MEISHI_3, "\302\345\243\263"}, - {D_MEISHI_4, "\302\345\243\264"}, - {D_MEISHI_5, "\302\345\243\265"}, - {D_MEISHI_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"}, - {RENTAISHI, "\317\242\302\316\273\354"}, - {RENTAISHI, "\317\242\302\316"}, - {SETSUZOKU, "\300\334\302\263\273\354"}, - {SETSUZOKU, "\300\334\302\263"}, - {KANDOUSHI, "\264\266\306\260"}, - {JOSUUSHI, "\275\365\277\364\273\354"}, - {JOSUUSHI, "\275\365\277\364"}, - {SUUSHI, "\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"}, - {SETSUBI_1, "\300\334\310\370\270\354"}, - {SETSUBI_1, "\300\334\310\370\243\261"}, - {SETSUBI_2, "\300\334\310\370\243\262"}, - {SETSUBI_3, "\300\334\310\370\243\263"}, - {SETSUBI_4, "\300\334\310\370\243\264"}, - {SETSUBI_5, "\300\334\310\370\243\265"}, - {SETSUBI_6, "\300\334\310\370\243\266"}, - {SETSUBI_7, "\300\334\310\370\243\267"}, - {SETSUBI_8, "\300\334\310\370\243\270"}, - {SETSUBI_9, "\300\334\310\370\243\271"}, - {FUKUSHI_1, "\311\373\273\354"}, - {FUKUSHI_1, "\311\373\243\261"}, - {FUKUSHI_2, "\311\373\243\262"}, - {FUKUSHI_3, "\311\373\243\263"}, - {FUKUSHI_4, "\311\373\243\264"}, - {FUKUSHI_5, "\311\373\243\265"}, - {FUKUSHI_6, "\311\373\243\266"}, - {FUKUSHI_7, "\311\373\243\267"}, - {FUKUSHI_8, "\311\373\243\270"}, - {FUKUSHI_9, "\311\373\243\271"}, - {JOSUUSHI2, "\275\365\277\364\243\262"}, - {KEIYOUSHI_1, "\267\301\315\306\273\354"}, - {KEIYOUSHI_1, "\267\301\243\261"}, - {KEIYOUSHI_2, "\267\301\243\262"}, - {KEIYOUSHI_3, "\267\301\243\263"}, - {KEIYOUSHI_4, "\267\301\243\264"}, - {KEIYOUSHI_5, "\267\301\243\265"}, - {KEIYOUSHI_6, "\267\301\243\266"}, - {KEIYOUSHI_7, "\267\301\243\267"}, - {KEIYOUSHI_8, "\267\301\243\270"}, - {KEIYOUSHI_9, "\267\301\243\271"}, - {KEIYOUSHI_10, "\267\301\243\261\243\260"}, - {KEIYOUSHI_11, "\267\301\243\261\243\261"}, - {KE_DOUSHI_1, "\267\301\315\306\306\260\273\354"}, - {KE_DOUSHI_1, "\267\301\306\260\243\261"}, - {KE_DOUSHI_2, "\267\301\306\260\243\262"}, - {KE_DOUSHI_3, "\267\301\306\260\243\263"}, - {KE_DOUSHI_4, "\267\301\306\260\243\264"}, - {KE_DOUSHI_5, "\267\301\306\260\243\265"}, - {KE_DOUSHI_6, "\267\301\306\260\243\266"}, - {KE_DOUSHI_7, "\267\301\306\260\243\267"}, - {KE_DOUSHI_8, "\267\301\306\260\243\270"}, - {KE_DOUSHI_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_SHU, "\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_SHU, "\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_FUKUSHI, "\306\303\274\354\311\373"}, - {AISATSU, "\260\247\273\242"}, - {SP_KEIYOUSHI, "\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; -{ - struct hlist* p; - - for(p = hinshi; p->code; p++) { - if(p->code == code) - return p->str; - } - - return "ERROR"; -} - -int str2hns(str) -char* str; -{ - struct hlist* p; - - for(p = hinshi; p->code; p++) { - if(strcmp(p->str, str) == 0) - return p->code; - } - - return 0; -} diff --git a/hinsi.c b/hinsi.c new file mode 100644 index 0000000..de704ca --- /dev/null +++ b/hinsi.c @@ -0,0 +1,259 @@ +/* + * 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 + * without limitation the rights to use, copy, modify, merge, publish, + * 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. + * IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM, + * 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 + * from Sony Corporation. + * + */ + +/* + * $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; +} 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} +}; + +char *hns2str(code) +int code; +{ + struct hlist *p; + + for (p = hinsi ; p -> code ; p++) { + if (p -> code == code) + return p -> str; + } + + return "ERROR"; +} + +int str2hns(str) +char *str; +{ + struct hlist *p; + + 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 35fba91..e887a7a 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 @@ -27,6 +27,15 @@ * */ +/* + * $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" @@ -34,21 +43,26 @@ #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 851125a..85e3cd0 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 @@ -27,36 +27,44 @@ * */ +/* + * $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; @@ -64,13 +72,15 @@ void mkidxtbl(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 846108b..99603d7 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 @@ -27,6 +27,18 @@ * */ -#define KEYBUFSIZ 520 -#define KEYBUFLIM 512 -#define AVLEN 3 +/* + * $SonyRCSfile: inkey.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:44 $ + */ + + + + + + +#define KEYBUFSIZ 520 +#define KEYBUFLIM 512 +#define AVLEN 3 + diff --git a/istrcmp.c b/istrcmp.c index 624e579..01d1a91 100644 --- a/istrcmp.c +++ b/istrcmp.c @@ -33,18 +33,20 @@ #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 97939b1..2017501 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 @@ -27,55 +27,66 @@ * */ -#define ZKATA1 0xa5 -#define ZHIRA1 0xa4 -#define ZKATAF2 0xa1 -#define ZKATAE2 0xf6 -#define ZHIRAF2 0xa1 -#define ZHIRAE2 0xf3 -#define ZKATAMU 0xe0 -#define ZHIRAMU 0xe0 +/* + * $SonyRCSfile: kana.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:45 $ + */ -#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 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 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_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 ZKATAn (ZKATAE2-ZKATAF2+1) + -#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 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 diff --git a/kanakan.h b/kanakan.h index 35ff128..6958eec 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 hinshi); +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 hinshi); -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 hinshi); +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); -/* mkbunsetsu.c */ -void mkbunsetsu(void); +/* mkbunset.c */ +void mkbunsetu(void); CLREC* argclrec(int len); -/* mkjiritsu.c */ -void mkjiritsu(int mode); -JREC* argjrec(int len, JREC* rec); +/* mkjiritu.c */ +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 hinshi, 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*); -/* setsubi.c */ -unsigned char* getstb(TypeGram hinshi); -void setsubi(JREC* rec, unsigned char* stbtbl); +/* setubi.c */ +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 03e8507..e1940a7 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 @@ -27,33 +27,41 @@ * */ +/* + * $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 @@ -63,22 +71,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 @@ -93,14 +101,15 @@ #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 8cbd6a0..192b805 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 @@ -27,59 +27,72 @@ * */ -#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 +/* + * $SonyRCSfile: key.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:47 $ + */ -#define KEY_WRAP 18 -#define KEY_WRAPBACK 19 -#define KEY_HELP 20 -#define KEY_TOROKU 21 -#define KEY_SHOUKYO 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_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_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_IGNORE 36 -#define KEY_DEBUG 37 +#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_TOP 38 -#define KEY_END 39 -#define KEY_RECONNECT 40 -#define KEY_KILL 41 -#define KEY_OTHER 42 +#define KEY_HA_KET 24 +#define KEY_FLUSH 25 +#define KEY_BUFFER 26 -#define KEY_MORE 43 +#define KEY_HANKAKU 27 +#define KEY_ZENKAKU 28 + +#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 UKEYNUM 64 -#define SEQLEN 8 -#define COMNUM 64 diff --git a/kigou.c b/kigou.c index 6cbafc2..085f964 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 @@ -27,168 +27,180 @@ * */ +/* + * $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': @@ -202,94 +214,97 @@ IsCKey(inc) 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; -{ - wchar16_t tmp[3]; - unsigned short ccode; - if(jis2euc(code) == 0) { +pkigou (code) +int code; +{ + wchar16_t tmp[3]; + unsigned short ccode; + + 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 { + } else { ccode = WcJIS2X0208(code); - } - EndGuide(row, col); - s[0] = ccode; + } + 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); + 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(); + restore_obuf(); } else { - master_out(s, 2); - master_flush(); + master_out (s, 2); + master_flush(); } - StartGuide(&row, &col); - guide_kigou(basecode, code, increse); + StartGuide (&row, &col); + guide_kigou (basecode, code, increse); lastcode = code; } diff --git a/knjcvt.c b/knjcvt.c index daa8e8e..ebd50da 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 @@ -27,6 +27,17 @@ * */ +/* + * $SonyRCSfile: knjcvt.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:00:37 $ + * + * $Id$ + */ + + + + #include #include #include @@ -35,190 +46,229 @@ #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; - p = (DivList*)Malloc(sizeof(DivList)); - if(!p) { + +static DivList* +make_divrec(void) +{ + DivList *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; + +static int +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; - else if(len == 1) { - - minrec->len = len; - minrec->code[0] = *knj; - - parent->child = minrec; + 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; + + 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; } - 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) { - + + 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] = (OffsetAsshuku | ((num >> 8) & 0xff)); + 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++) { + + for (i = 0 ; i < askknj_num ; i++) { + + if ((j = askknj[i] -> klen) > len) continue; - if((j = askknj[i]->klen) > len) continue; - - if(string_cmp(askknj[i]->kptr, j, knj, j)) continue; + + if (string_cmp(askknj[i]->kptr, j, knj, j)) continue; + tmprec.len = 1; - tmprec.code[0] = (KanjiAsshuku | i); + 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; + +unsigned char* +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 10e2672..cae4cca 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,18 +98,21 @@ 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)); @@ -117,7 +120,8 @@ put_int(int c) { } static void -put_cmd(int cmd) { +put_cmd(int cmd) +{ ReadErrorFlag = FALSE; putpos = getlen = 0; put_int(cmd); @@ -125,81 +129,85 @@ 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; } @@ -207,81 +215,90 @@ 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; } @@ -290,8 +307,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; } @@ -299,52 +316,56 @@ 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; } @@ -352,24 +373,26 @@ 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)); } @@ -383,87 +406,91 @@ int 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; @@ -475,39 +502,43 @@ long 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; @@ -518,124 +549,134 @@ int 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; } @@ -650,41 +691,44 @@ int 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_bunsetsu_henkan(SJ3_CLIENT_ENV* client, - unsigned char* yomi, - int len, - unsigned char* kanji, - int mb_flag) { - int result; - int buflen; +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)) { + 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(); @@ -692,23 +736,25 @@ int sj3_bunsetsu_henkan(SJ3_CLIENT_ENV* client, return ReadErrorFlag ? ERROR : result; } -int sj3_bunsetsu_jikouho(SJ3_CLIENT_ENV* client, - unsigned char* kanji, - int mode, - int mb_flag) { - int 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) + if (mb_flag == MBCODE_SJIS) put_cmd(SJ3_NEXTCL); else put_cmd(SJ3_NEXTCL_EUC); put_int(mode); - if(put_flush() == ERROR) + if (put_flush() == ERROR) return ERROR; - if((sj3_error_number = get_int())) + if ((sj3_error_number = get_int())) return ERROR; result = get_int(); @@ -716,21 +762,23 @@ int sj3_bunsetsu_jikouho(SJ3_CLIENT_ENV* client, return ReadErrorFlag ? ERROR : result; } -int sj3_bunsetsu_maekouho(SJ3_CLIENT_ENV* client, - unsigned char* kanji, int mode, int mb_flag) { - int 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) + if (mb_flag == MBCODE_SJIS) put_cmd(SJ3_PREVCL); else put_cmd(SJ3_PREVCL_EUC); put_int(mode); - if(put_flush() == ERROR) + if (put_flush() == ERROR) return ERROR; - if((sj3_error_number = get_int())) + if ((sj3_error_number = get_int())) return ERROR; result = get_int(); @@ -738,68 +786,72 @@ int sj3_bunsetsu_maekouho(SJ3_CLIENT_ENV* client, return ReadErrorFlag ? ERROR : result; } -int sj3_bunsetsu_kouhosuu(SJ3_CLIENT_ENV* client, - unsigned char* yomi, - int len, - int mb_flag) { +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) + 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_bunsetsu_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); @@ -810,32 +862,36 @@ int sj3_bunsetsu_zenkouho(SJ3_CLIENT_ENV* client, return ReadErrorFlag ? ERROR : cnt; } -int sj3_tango_gakushuu(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_bunsetsu_gakushuu(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; @@ -843,186 +899,198 @@ int sj3_bunsetsu_gakushuu(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_shutoku(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; @@ -1032,30 +1100,32 @@ int 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; @@ -1065,26 +1135,28 @@ int 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; @@ -1093,22 +1165,24 @@ int 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; @@ -1119,39 +1193,41 @@ int 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); @@ -1168,56 +1244,62 @@ int 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 2df0d48..7b93391 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 @@ -27,6 +27,13 @@ * */ +/* + * $SonyRCSfile: libif.c,v $ + * $SonyRevision: 1.3 $ + * $SonyDate: 1996/02/23 11:04:02 $ + */ + + #include "sj_sysvdef.h" #ifdef SVR4 #include @@ -36,95 +43,74 @@ #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 int current_locale; -int sjislen(), euclen(); +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(); int (*len_func[3])() = {0, sjislen, euclen}; -#define YOMILEN 32 -#define KLEN 64 -SJ2_henkan(yomiout, bun, kanjiout, kanjilen) struct bunsetsu_sj3* bun; -wchar16_t *yomiout, *kanjiout; -int kanjilen; +#define YOMILEN 32 +#define KLEN 64 + + + + + +SJ2_henkan (yomiout, bun, kanjiout, kanjilen) +struct bunsetu_sj3 *bun; +wchar16_t *yomiout, *kanjiout; +int kanjilen; { - int retv; - SJ3_BUNSETSU 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 len = 0, bytes = 1; - - if(!max) return 0; - while((bytes <= max) && *str) { - if(issjis1(*str)) { - str++; - bytes++; - if(!*str) break; - len++; - } else { - len++; - } - str++; - bytes++; - } - return len; -} - -euclen(str, max) unsigned char* str; +int +sjislen(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 (issjis1(*str)) { str++; bytes++; - if(!*str) break; - str++; - bytes++; - if(!*str) break; - len++; - } else if((*str == SS2) || (*str & 0x80)) { - str++; - bytes++; - if(!*str) break; + if (!*str) break; len++; } else { len++; @@ -135,209 +121,245 @@ int max; return len; } -SJ2_getdouon(s, d, n, choice, reconv) - wchar16_t* s; -struct douon_sj3* d; -int n; -int choice; -int reconv; +euclen(str, max) +unsigned char *str; +int max; { - int i, ret; - SJ3_DOUON d_sjis[DOUON_N]; + int len = 0, bytes = 1; + + if (!max) return 0; + while ((bytes <= max) && *str) { + if (*str == SS3) { + str++; + bytes++; + if (!*str) break; + str++; + bytes++; + if (!*str) break; + len++; + } else if ((*str == SS2) || (*str & 0x80)) { + str++; + bytes++; + if (!*str) break; + len++; + } else { + len++; + } + str++; + bytes++; + } + return len; +} + + + +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]; 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; } - 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_BUNSETSU_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); + 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_gakushuu(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) { - sj3_gakushuu2(y1, y2, dcid); + if (current_locale == LC_CTYPE_SHIFTJIS) { + sj3_gakusyuu2(y1, y2, dcid); } else { - sj3_gakushuu2_euc(y1, y2, dcid); + 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_shoukyo(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_shoukyo(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_shoukyo_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); + 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_end () +{ + sj3_close (); } -SJ2_henkan_init() { - int i, err; - int* err_dict = NULL; - int err_num = 0; +SJ2_henkan_init () +{ + int i, err; + int *err_dict = NULL; + int err_num = 0; - sj3_set_timeout(5); + 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); + 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); + 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 3639ab9..acf670b 100644 --- a/main.c +++ b/main.c @@ -46,66 +46,76 @@ #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 { @@ -125,13 +135,14 @@ 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(); @@ -139,21 +150,23 @@ 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); } @@ -163,8 +176,8 @@ int 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); } @@ -183,7 +196,7 @@ int 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 f454b9c..e579ca5 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 @@ -27,6 +27,15 @@ * */ +/* + * $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 @@ -39,24 +48,30 @@ #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); @@ -64,89 +79,111 @@ char* 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; - if((progname = strrchr(argv[0], '/')) != NULL) +void +parse(int argc, char** argv) +{ + char *progname = NULL; + char *p; + + + 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; - while(*ptr >= '0' && *ptr <= '9') { +int +get_number(char* ptr) +{ + int i = 0; + + 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; - if((c = Fgetc(infp)) != EOF) return c; +int +getch(void) +{ + if (infp) { + int 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); @@ -158,25 +195,29 @@ int getch(void) { return EOF; } -void mark_file(FILE* out) { - static char pathname[MAXPATHLEN]; - static long pos; - if(out) { - FILE* fp; - int c; +void +mark_file(FILE* out) +{ + static char pathname[MAXPATHLEN]; + static long pos; + + 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 a624ce9..2337eb7 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: makelist.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:00:39 $ + * + * $Id$ + */ + + #include #include #include @@ -38,128 +47,153 @@ #define SS2 0x8e #endif -extern DouonRec* douon_ptr; -extern int douon_num; -extern int yomi_len; -extern int hinshi_num; -extern int kanji_len; -extern HindoRec* hindo[]; -extern int hindo_num; -extern HindoRec* askknj[]; -extern int askknj_num; -extern HindoRec* asshuku; +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 DouonRec* drectmp = NULL; static void -clearklist(KanjiRec* krec) { - KanjiRec* p; +clearklist(KanjiRec* krec) +{ + KanjiRec *p; - while(krec) { + + while (krec) { + + Free(krec -> kptr); + Free(krec -> aptr); - Free(krec->kptr); - Free(krec->aptr); - - p = krec; - krec = krec->knext; + + p = krec; + krec = krec -> knext; + Free(p); } } + + static void -clearhlist(HinshiRec* hrec) { - HinshiRec* p; +clearhlist(HinsiRec* hrec) +{ + HinsiRec *p; - while(hrec) { + + while (hrec) { + + clearklist(hrec -> krec); - clearklist(hrec->krec); - - p = hrec; - hrec = hrec->hnext; + + p = hrec; + hrec = hrec -> hnext; + Free(p); } } -void clear_list(void) { - DouonRec* p; - DouonRec* drec = douon_ptr; - while(drec) { +void +clear_list(void) +{ + DouonRec *p; + DouonRec *drec = douon_ptr; - Free(drec->yptr); + + while (drec) { + + 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; - for(p = yomi, i = 0; *p;) + +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; + + + 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++] = (ZenHiraAsshuku | (i - 1)); + ktmp[pos++] = (ZenHiraAssyuku | (i - 1)); + } + + else if ((i = top_strcmp(kana, kanji))!=0) { + kanji += i; + ktmp[pos++] = (ZenKataAssyuku | (i - 1)); } - else if((i = top_strcmp(kana, kanji)) != 0) { - kanji += i; - ktmp[pos++] = (ZenKataAsshuku | (i - 1)); - } - - while(*kanji) { - - if((i = last_strcmp(yomi, kanji)) != 0) { + + while (*kanji) { + + if ((i = last_strcmp(yomi, kanji))!=0) { kanji += i; - ktmp[pos++] = (ZenHiraAsshuku | (i - 1)); + 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++] = (ZenKataAsshuku | (i - 1)); + 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; @@ -171,8 +205,9 @@ 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); } @@ -181,28 +216,32 @@ 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; - for(i = 0; *y;) { + +static unsigned char* +makeyomi(int* yomi) +{ + unsigned char tmp[MaxYomiLength + 1]; + int i; + int j; + int *y = yomi; + unsigned char *p; + + + 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); } @@ -211,303 +250,368 @@ makeyomi(int* yomi) { return p; } -static KanjiRec* -make_krec(unsigned char* kcode, int klen) { - KanjiRec* krec; - krec = (KanjiRec*)Malloc(sizeof(KanjiRec)); - if(!krec) { + +static KanjiRec* +make_krec(unsigned char* kcode, int klen) +{ + KanjiRec *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 HinshiRec* -make_hrec(int hinshi) { - HinshiRec* hrec; - hrec = (HinshiRec*)Malloc(sizeof(HinshiRec)); - if(!hrec) { + +static HinsiRec* +make_hrec(int hinsi) +{ + HinsiRec *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->hinshi = hinshi; - 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; - drec = (DouonRec*)Malloc(sizeof(DouonRec)); - if(!drec) { + +static DouonRec* +make_drec(unsigned char* ycode) +{ + DouonRec *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) { + if (dprev) { + + p1 = dprev -> yptr; p2 = drec -> yptr; + while (*p1 && (*p1 == *p2)) { p1++; p2++; } - p1 = dprev->yptr; - p2 = drec->yptr; - while(*p1 && (*p1 == *p2)) { - p1++; - p2++; - } - - if(*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); + output_yomi(stderr, dprev -> yptr); fputc('\n', stderr); exit(1); } - - else if(*p1 > *p2) { + + 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); + output_yomi(stderr, drec->yptr); fputc('\n', stderr); exit(1); } - while(*p2++) ylen++; + + while (*p2++) ylen++; } - return ylen; + return ylen; } + + static int -douon_knj(DouonRec* drec) { - int i; - int len = 0; - unsigned char* p; - unsigned char* knjofscvt(); - HinshiRec* 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; - HinshiRec* 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; - hinshi_num = 0; + hinsi_num = 0; kanji_len = 0; - asshuku = NULL; + assyuku = NULL; } + klen = douon_knj(drec); + ylen = diff_ylen(drec); - hnum = drec->hrec_num; - - i = 1 + - MaxKnjAskNumber + + + hnum = drec -> hrec_num; + + i = 1 + + MaxKnjAskNumber + + douon_num * DouonBlkSizeNumber + DouonBlkSizeNumber + - yomi_len + ylen + - hinshi_num + hnum + - hinshi_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; - hinshi_num += hnum; + + 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_asshuku(); + + 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 hinshi, int* atr) { - unsigned char* ycode; - unsigned char* kcode; - int klen; - HinshiRec* 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(hinshi); - 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->hinshi == hinshi) break; + + for (hrec = drectmp -> hrec ; hrec -> hnext ; hrec = hrec -> hnext) + if (hrec -> hinsi == hinsi) break; - if(hrec->hinshi == hinshi) { - - 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); @@ -516,6 +620,7 @@ void makelist(int* yomi, int* kanji, int hinshi, int* atr) { output_int(stderr, kanji); fprintf(stderr, "\n"); + Free(kcode); return; @@ -523,15 +628,18 @@ void makelist(int* yomi, int* kanji, int hinshi, int* atr) { kprev = krec; } - kprev->knext = make_krec(kcode, klen); + + kprev -> knext = make_krec(kcode, klen); return; } - hrec->hnext = make_hrec(hinshi); - 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 c15a0e0..5709f80 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: makeseg.c,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1994/12/09 11:27:05 $ + * + * $Id$ + */ + + #include #include #include @@ -37,55 +46,58 @@ #include "Dict.h" #include "dicttool.h" -extern HindoRec* askknj[]; -extern int askknj_num; -extern DouonRec* douon_ptr; -extern FILE* outfp; -extern int douon_num; +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 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 ZenHiraAsshuku: - case ZenKataAsshuku: - case KanjiAsshuku: + 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 OffsetAsshuku: + 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; @@ -95,236 +107,258 @@ 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; - while(len > 0) { - switch(*src & KanjiModeMask) { - case ZenHiraAsshuku: - case ZenKataAsshuku: - case KanjiAsshuku: +size_t +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: *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 OffsetAsshuku: + 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; - HinshiRec* 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; \ - } +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; } #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) { - for(hrec = drec->hrec; hrec; hrec = hrec->hnext) { + + datset(hrec -> hinsi); - datset(hrec->hinshi); + + for (krec = hrec->krec ; krec ; krec = krec->knext) { - for(krec = hrec->krec; krec; krec = krec->knext) { - - p = q = knjcvt(krec->kptr, krec->klen, &i); + + 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(HinshiBlkTerm); + + 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; - while(dst < buf + sizeof(buf)) *dst++ = DouonBlkTerm; - - if(Fseek(outfp, - (long)(HeaderLength + CommentLength + MainIndexLength + idxnum * MainSegmentLength), - 0) < 0) { + + 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); @@ -333,66 +367,63 @@ void 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; - 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); - put4byte(header + DictSegPos, i); - put4byte(header + DictSegLen, MainSegmentLength); - put4byte(header + DictSegMax, 0); - put4byte(header + DictSegNum, idxnum); + put4byte(header + DictAIdxPos, 0); + put4byte(header + DictAIdxLen, 0); - put4byte(header + DictAIdxPos, 0); - put4byte(header + DictAIdxLen, 0); + put4byte(header + DictASegPos, 0); + put4byte(header + DictASegLen, 0); - put4byte(header + DictASegPos, 0); - put4byte(header + DictASegLen, 0); + Fseek(outfp, (long)HeaderPos, 0); + Fwrite(header, sizeof(header), 1, outfp); + Fseek(outfp, (long)IndexPos, 0); + Fwrite(segindex, MainIndexLength, 1, outfp); - Fseek(outfp, (long)HeaderPos, 0); - Fwrite(header, sizeof(header), 1, outfp); - Fseek(outfp, (long)IndexPos, 0); - Fwrite(segindex, MainIndexLength, 1, outfp); - -#undef IndexPos +#undef IndexPos } diff --git a/memory.c b/memory.c index 61fe54a..3fff3dd 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 @@ -27,31 +27,46 @@ * */ +/* + * $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 efd415a..b671e5a 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 @@ -27,26 +27,34 @@ * */ +/* + * $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; @@ -57,36 +65,38 @@ 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; @@ -94,46 +104,48 @@ 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 21056fd..0a8ba6f 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 @@ -27,60 +27,69 @@ * */ +/* + * $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 mkjiritsu(), mkbunsetsu(), 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; - mkjiritsu(DO_IKKATU | DO_CLSTUDY); + mkjiritu(DO_IKKATU | DO_CLSTUDY); - mkbunsetsu(); + 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; } @@ -89,13 +98,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); } @@ -103,37 +112,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); @@ -141,13 +150,14 @@ 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/mkbunsetsu.c b/mkbunset.c similarity index 56% rename from mkbunsetsu.c rename to mkbunset.c index 72268b6..a5f35ba 100644 --- a/mkbunsetsu.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 @@ -27,24 +27,35 @@ * */ +/* + * $SonyRCSfile: mkbunset.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:02:02 $ + * + * $Id$ + */ + + #include #include #include "sj_kcnv.h" -#include "sj_hinshi.h" +#include "sj_hinsi.h" #include "kanakan.h" -int terminate(); -void setclrec(), srchfzk(); +int terminate(); +void setclrec(), srchfzk(); -void mkbunsetsu(void) { - JREC* jrec; - TypeGram hinshi; - 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; @@ -52,18 +63,18 @@ void mkbunsetsu(void) { jrec = maxjptr; - while(jrec) { + while (jrec) { - if(jrec->stbofs && (cnj = getstb(jrec->hinshi))) - hinshi = StbHinshi(cnj + jrec->stbofs - 1); + if (jrec -> stbofs && (cnj = getstb(jrec -> hinsi))) + hinsi = StbHinsi(cnj + jrec -> stbofs - 1); else - hinshi = jrec->hinshi; + hinsi = jrec -> hinsi; - if((right = Connadr[hinshi]) != '\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); } @@ -71,15 +82,15 @@ void mkbunsetsu(void) { srchfzk(jrec, next, right, 0); } - else if((count = setconj(hinshi, 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); } @@ -88,66 +99,70 @@ void mkbunsetsu(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->hinshi == 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->hinshi == 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/mkjiritsu.c b/mkjiritu.c similarity index 57% rename from mkjiritsu.c rename to mkjiritu.c index 5792df6..ea3dd5f 100644 --- a/mkjiritsu.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 @@ -27,21 +27,32 @@ * */ +/* + * $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 mkjiritsu(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; @@ -49,25 +60,25 @@ void mkjiritsu(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(); } @@ -75,106 +86,111 @@ void mkjiritsu(int mode) { cnvlen += headlen; } - for(jrec = maxjptr; jrec; jrec = jrec->jsort) { - if((stb = getstb(jrec->hinshi)) != NULL) - setsubi(jrec, stb); + 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 3e9ef71..cec2e46 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 @@ -27,347 +27,385 @@ * */ +/* + * $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_hinshi.h" +#include "sj_hinsi.h" #include "sj_suuji.h" #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_BUNSETSU: - + 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; - if(seldict(jrec->dicid)) { - (*curdict->getdic)(curdict, jrec->jseg); +static void +cl_kanji(JREC* jrec, CLREC* clrec) +{ + unsigned char *ptr; + int kcount = khcount; + + + if (seldict(jrec -> dicid)) { + (*curdict->getdic)(curdict, jrec -> jseg); ptr = dicbuf + jrec->jofsst + 1; get_askknj(); - while(*ptr != HinshiBlkTerm) { - - if(diffknj(jrec, ptr, kcount)) { + + while (*ptr != HinsiBlkTerm) { + + 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) == ZenHiraAsshuku) - *d++ = 0x10 | (*s & KnjAsshukuMask); - else - *d++ = 0x90 | (*s & KnjAsshukuMask); - if(flg) *d++ = KanjiStrEnd; +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); + + if (flg) *d++ = KanjiStrEnd; return d; } -unsigned char* -makekan_knj(unsigned char* s, unsigned char* d, int flg) { - return makekan(askknj[*s & KnjAsshukuMask], d, flg); +unsigned char* +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); +unsigned char* +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 ZenHiraAsshuku: - d = makekan_1byte(s, d, flg); - break; + 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 ZenKataAsshuku: - d = makekan_1byte(s, d, flg); - break; - - case OffsetAsshuku: - 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 KanjiAsshuku: - d = makekan_knj(s, d, flg); - break; - - default: + 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 ZenHiraAsshuku: - d = makekan_1byte(s, d, FALSE); - break; + 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 ZenKataAsshuku: - d = makekan_1byte(s, d, FALSE); - break; + case LeadingHankaku: + d = makekan_ascii(s, d, FALSE); break; - case OffsetAsshuku: - d = makekan_ofs(s, d, FALSE); - break; + case KanjiAssyuku: + d = makekan_knj(s, d, FALSE); break; - case AiAttribute: - d = makekan_none(s, d, FALSE); - break; - - case LeadingHankaku: - d = makekan_ascii(s, d, FALSE); - break; - - case KanjiAsshuku: - d = makekan_knj(s, d, FALSE); - break; - - default: + 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->hinshi == 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->hinshi == 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) { - unsigned short i; - unsigned short* p; - unsigned short* q; - switch(jrec->class) { +int +sel_sjmode(JREC* jrec) +{ + unsigned short i; + unsigned short *p; + unsigned short *q; + + switch (jrec -> class) { case C_N_ARABIA: case C_N_ARACMA: case C_N_KAZU: @@ -385,57 +423,68 @@ int 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; - unsigned short j; - unsigned short* tbl; +static void +cl_numcmn(JREC* jrec, CLREC* clrec) +{ + unsigned char *p; + int i; + unsigned short j; + 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 != HinshiBlkTerm) { - + + 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; + 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 44ccd89..0125cbf 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 @@ -27,306 +27,406 @@ * */ +/* + * $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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type00(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type01(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type02(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type03(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type04(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type05(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type06(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type07(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type08(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + 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]; - setwdnum(s1, (int)jrec->numlen, num); +void +num_type09(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned short num[NumWordBuf]; + + setwdnum(s1, (int)jrec -> numlen, num); + + kan_num(num, Num3tbl, Num5tbl); } -void num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec) { - int i; - for(i = jrec->numlen; i > 0; i--) { +void +num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + int i; - if(Chrtbl[*s1++] & NUMBER) { + + for (i = jrec -> numlen ; i > 0 ; i--) { + + 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; - i = j = jrec->numlen; - if(!(Chrtbl[*(s1 + j - 4)] & NUMBER)) j -= (j - 1) / 4; +void +num_type11(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + int i; + int j; - for(; i > 0; i--) { + + i = j = jrec -> numlen; + if (!(Chrtbl[*(s1 + j - 4)] & NUMBER)) j -= (j - 1) / 4; - if(Chrtbl[*s1++] & NUMBER) { + + for ( ; i > 0 ; i--) { + + 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; - for(i = jrec->numlen; i > 0; i--) { +void +num_type12(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + int i; + int j; - if(Chrtbl[j = *s1++] & NUMBER) { - j = (j - N_0) * 2; + + for (i = jrec -> numlen ; i > 0 ; i--) { + + 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; - for(i = 0; i < len; i++) { +static void +num_kurai(unsigned char* p, int len, unsigned char* tbl) +{ + int i; + int j; + unsigned char tmp; + + 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; - len = setucnum(s1, (int)jrec->numlen, num); +void +num_type13(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned char num[NumKetaLength]; + int len; + + 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; - len = setucnum(s1, (int)jrec->numlen, num); +void +num_type14(unsigned char* s1, unsigned char* s2, JREC* jrec) +{ + unsigned char num[NumKetaLength]; + int len; + + len = setucnum(s1, (int)jrec -> numlen, num); + + num_kurai(num, len, Num2tbl); } diff --git a/mvmemd.c b/mvmemd.c index 5f5c948..2b8c1aa 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 @@ -27,12 +27,22 @@ * */ +/* + * $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 0b405b6..b956b01 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 @@ -27,12 +27,22 @@ * */ +/* + * $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 95f9b27..47328c2 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 @@ -27,61 +27,76 @@ * */ +/* + * $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 -nmttyslot(name) char* name; + +static char *getttys(); +static char *ttys = "/etc/ttys"; + +#define NULL 0 + +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'; @@ -89,9 +104,10 @@ 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 68eb6d7..a2100be 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: offset.c,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1994/08/17 01:50:26 $ + */ + + + + #include #include #include @@ -34,116 +43,142 @@ #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; - if(ofsrec_num <= 0) { - orec = makeoffset(ptr, len, ofs); - ofsrec[0] = orec; +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; 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; - if(ofsrec_num <= 0) return 0; +int +isknjexist(unsigned char* knj, int len) +{ + int low, high, mid; + int i; - low = 0; - high = ofsrec_num - 1; - while(low <= high) { + + if (ofsrec_num <= 0) return 0; + + + 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; - for(i = 0; i < ofsrec_num; i++) { - Free(ofsrec[i]->kptr); +void +clear_ofsrec(void) +{ + int i; + + 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++ & KnjAsshukuMask); - 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 928b975..be1a29e 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 @@ -27,25 +27,39 @@ * */ +/* + * $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(); -static void add_yomi(void); -static void cd2sjh_chr(unsigned char ch, unsigned char* dst); -static int next_douon(void); -static int next_hinshi(void); -static int next_kanji(void); -static int prev_douon(void); -static int prev_hinshi(void); -static int prev_kanji(void); -static void set_buf(unsigned char* buf); -static void set_idxyomi(void); -static void set_kanji(void); +unsigned char *skiphblk(); -int getusr(unsigned char* buf) { +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 nlen; peepyomi[0] = peepknj[0] = peepgrm = 0; @@ -55,12 +69,12 @@ int 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; @@ -73,11 +87,15 @@ int 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; @@ -86,11 +104,15 @@ int 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; @@ -99,26 +121,32 @@ int prevusr(unsigned char* buf) { return 0; } -static void -set_kanji(void) { - int len; - len = getkanji(peepyomi, getnlen(peepdptr) + getplen(peepdptr), - peepkptr, peepknj); + +static void +set_kanji (void) +{ + int len; + + 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; - for(p = peepyomi; *p;) *buf++ = *p++; + +static void +set_buf (unsigned char *buf) +{ + unsigned char *p; + int i, csize; + + 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; @@ -126,59 +154,68 @@ 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_hinshi(); + 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_hinshi(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 != HinshiBlkTerm) { + 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; - if(peepdptr <= segtop()) { - if(peepidx <= DicSegBase) return 0; + +static int +prev_douon (void) +{ + unsigned char *p1; + unsigned char *p2; + int nlen; + + if (peepdptr <= segtop()) { + if (peepidx <= DicSegBase) return 0; (*curdict->getdic)(curdict, --peepidx); get_askknj(); @@ -190,8 +227,9 @@ prev_douon(void) { peepdptr = p1; add_yomi(); p1 = getntag(p1); - } while(!segend(p1)); - } else { + } while (!segend(p1)); + } + else { set_idxyomi(); p1 = segtop(); @@ -200,90 +238,104 @@ 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 != HinshiBlkTerm); + 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 == HinshiBlkTerm) return next_hinshi(); + if (*p1 == HinsiBlkTerm) return next_hinsi(); peepkptr = p1; return -1; } -static int -next_hinshi(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; - if((p2 = get_idxptr(peepidx)) != NULL) { + +static void +set_idxyomi (void) +{ + unsigned char *p1, *p2; + + if ((p2 = get_idxptr(peepidx)) != NULL) { p1 = peepyomi; - while(*p2) { + while (*p2) { cd2sjh_chr(*p2++, p1); p1 += 2; } @@ -291,16 +343,19 @@ 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; } @@ -308,36 +363,50 @@ 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 c5c252a..244da88 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 @@ -27,28 +27,39 @@ * */ +/* + * $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 ph2knj(unsigned char* zyomi, unsigned char* kanji, int knjlen) { - unsigned char* ptr; - unsigned char* dst; - int i; +int sj2cd_chr(); +void mk2claus(); +void freework(); +void selclrec(); +CLREC *free_clst(); +JREC *free_jlst(); - for(ptr = zyomi, dst = hyomi, i = 0; *ptr;) { - if(i++ >= MaxPhInputLen) { - *kanji = 0; - return 0; - } + + +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; } ptr += sj2cd_chr(ptr, dst++); } *dst = 0; @@ -57,21 +68,21 @@ int ph2knj(unsigned char* zyomi, unsigned char* kanji, int knjlen) { 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) { - mkjiritsu(DO_CLSTUDY | DO_IKKATU); - mkbunsetsu(); - if(!maxclptr) wakachi(); + while (cnvlen && kanjilen) { + if (!clt1st) { + mkjiritu(DO_CLSTUDY | DO_IKKATU); + mkbunsetu(); + if (!maxclptr) wakachi(); jrt1st = maxjptr; clt1st = maxclptr; } @@ -80,27 +91,28 @@ int ph2knj(unsigned char* zyomi, unsigned char* kanji, int knjlen) { selclrec(); - prevclgrm = selcl->jnode->hinshi; - 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 1811bb8..c549c16 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 @@ -27,52 +27,69 @@ * */ +/* + * $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; - if(!seldict((jrec = clrec->jnode)->dicid)) { - if(!khcount) - ph_setkouho(clrec, (TypeDicOfs)1, (STDYIN*)NULL); + +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); return; } - (*curdict->getdic)(curdict, jrec->jseg); + (*curdict->getdic)(curdict, jrec -> jseg); ptr = dicbuf + jrec->jofsst + 1; - for(; *ptr != HinshiBlkTerm; 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; - switch((jrec = clrec->jnode)->class) { + +int +ph_khtbl (CLREC *clrec) +{ + JREC *jrec; + int flg = FALSE; + + switch((jrec = clrec -> jnode) -> class) { case C_DICT: ph_setsty(clrec); break; @@ -87,17 +104,19 @@ int 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_BUNSETSU: + 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 0408164..f233123 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 @@ -27,124 +27,136 @@ * */ +/* + * $SonyRCSfile: priority.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:02:10 $ + */ + + + #include "sj_kcnv.h" -#include "sj_hinshi.h" +#include "sj_hinsi.h" #include "sj_right.h" #include "sj_prty.h" -static int isfukusi(hinshi) -TypeGram hinshi; +static int isfukusi(hinsi) +TypeGram hinsi; { - if(FUKUSHI_1 <= hinshi && hinshi <= FUKUSHI_7) + if (FUKUSI_1 <= hinsi && hinsi <= FUKUSI_7) return TRUE; - else if(hinshi == MEISHI_11 || hinshi == D_MEISHI_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_MEISHI || right == R_DMEISHI || right == R_SMEISHI1) + if (right == R_MEISI || right == R_DMEISI || right == R_SMEISI1) return TRUE; - if(right == R_WO_MEISHI || right == R_DAIMEISHI || right == R_JOSUUSHI) + 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(hinshi1, hinshi2) -TypeGram hinshi1; -TypeGram hinshi2; +static int taicnt(hinsi1, hinsi2) +TypeGram hinsi1; +TypeGram hinsi2; { - if(hinshi2 == TANKANJI) return 0; + if (hinsi2 == TANKANJI) return 0; - if(MYOUJI <= hinshi1 && hinshi1 <= KEN_KU) { - if(MEISHI_1 <= hinshi2 && hinshi2 <= SETSUBI_9) - return Taipri(hinshi1 - MYOUJI, hinshi2); + if (MYOUJI <= hinsi1 && hinsi1 <= KEN_KU) { + if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) + return Taipri(hinsi1 - MYOUJI, hinsi2); else return 3; - } else if((MEISHI_1 <= hinshi1 && hinshi1 <= MEISHI_11) || - hinshi1 == D_MEISHI_2) { - if(MEISHI_1 <= hinshi2 && hinshi2 <= SETSUBI_9) { - return Taipri(5, hinshi2); - } else + } + else if ((MEISI_1 <= hinsi1 && hinsi1 <= MEISI_11) || + hinsi1 == D_MEISI_2) { + if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) { + return Taipri(5, hinsi2); + } + else return 5; } else { - if(MEISHI_1 <= hinshi2 && hinshi2 <= SETSUBI_9) - return Taipri(6, hinshi2); + if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) + return Taipri(6, hinsi2); else return 4; } } -static int sttcnt(hinshi1, hinshi2) -TypeGram hinshi1; -TypeGram hinshi2; +static int sttcnt(hinsi1, hinsi2) +TypeGram hinsi1; +TypeGram hinsi2; { - if(SETTOU_1 <= hinshi1 && hinshi1 <= SETTOU_5) { - if(MEISHI_1 <= hinshi2 && hinshi2 <= SUUSHI) - return Sttpri(hinshi1 - SETTOU_1, hinshi2); + 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 hinshi1; - 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_BUNSETSU) { + if (clrec->jnode->class == C_BUNSETU) { prty = Termtbl[clrec->right] & GETPRI; - return (0xf0 + prty); + return(0xf0 + prty); } - hinshi1 = clrec->jnode->hinshi; - if(prevclrow == R_WO || prevclrow == R_WO_S || - prevclrow == R_NI1 || prevclrow == R_DRENYOU2) { - if(clrec->kubun == K_DOUSHI || isfukusi(hinshi1)) + 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)) prev = 5; } - else if(istaigen(prevclrow)) { + else if (istaigen(prevclrow)) { - if(clrec->kubun == K_TAIGEN) - prev = taicnt(prevclgrm, hinshi1); + 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, hinshi1); + prty = sttcnt(prevclgrm, hinsi1); } - if(hinshi1 >= SETSUBI_1 && hinshi1 <= SETSUBI_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; } @@ -152,40 +164,42 @@ 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(hinshi1, cl2rec->jnode->hinshi); + 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) { - i = taicnt(hinshi1, cl2rec->jnode->hinshi); - if(i > prty) + while (cl2rec && (int)cl2rec->cllen == keeplen) { + i = taicnt(hinsi1, cl2rec->jnode->hinsi); + 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; } @@ -197,14 +211,15 @@ 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->hinshi == SETSUBI_1 || - cl2rec->jnode->hinshi == SETSUBI_2) { + } + else if (cl2rec->jnode->hinsi == SETUBI_1 || + cl2rec->jnode->hinsi == SETUBI_2) { prty = 7; goto finish; } @@ -214,53 +229,56 @@ CLREC* clrec; } } + finish: cl2rec = maxclptr; - if(hinshi1 == SUUSHI) prty -= 4; + if (hinsi1 == SUUSI) prty -= 4; - if(cl2rec->jnode->hinshi == SUUSHI) 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->hinshi == SETSUBI_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; - clrec = selcl; - keeplen = clrec->cllen; +void pritiny() +{ + CLREC *clrec; + int keeplen; + int i, prty = 0; - if(istaigen(prevclrow)) { - while(clrec && (int)clrec->cllen == keeplen) { - i = taicnt(prevclgrm, clrec->jnode->hinshi); - if(i > prty) { + clrec = selcl; + keeplen = clrec -> cllen; + + 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->hinshi >= MYOUJI && - clrec->jnode->hinshi <= 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->hinshi == TANKANJI) + else if (clrec -> jnode -> hinsi == TANKANJI) return; else { selcl = clrec; @@ -269,3 +287,4 @@ void pritiny() { } } } + diff --git a/prtytbl.c b/prtytbl.c index 1614662..9572afb 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 @@ -27,214 +27,76 @@ * */ +/* + * $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, - }, - { - 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, - }, +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, - 10, - 10, - 4, - 4, - 4, - 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, }, - { - 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, 4, 4, 4, 10, 10, 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, - }}; + { 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, } + }; diff --git a/readline.c b/readline.c index 60c6558..e01df50 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: readline.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:00:44 $ + * + * $Id$ + */ + + #include #include #include "sj_euc.h" @@ -34,122 +43,139 @@ #include "sj_macro.h" #include "dicttool.h" + /* static long lineloc; */ -static int yomi[MaxYomiLength + 1]; -static int kanji[MaxKanjiLength + 1]; -static int hinshi[MaxHinshiNumber + 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 -readhinshi(void) { - static int c = 0; - int i; - unsigned char hinshi[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(TooLongHinshi); - hinshi[i++] = ((c >> 24) & 0xff); - if(i >= 126) error(TooLongHinshi); - hinshi[i++] = ((c >> 16) & 0xff); - if(i >= 126) error(TooLongHinshi); - hinshi[i++] = ((c >> 8) & 0xff); - } else if(c > 0xffff) { - if(i >= 126) error(TooLongHinshi); - hinshi[i++] = ((c >> 16) & 0xff); - if(i >= 126) error(TooLongHinshi); - hinshi[i++] = ((c >> 8) & 0xff); - } else if(c > 0xff) { - if(i >= 126) error(TooLongHinshi); - hinshi[i++] = ((c >> 8) & 0xff); + + 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); + hinsi[i++] = ((c >> 16) & 0xff); + if (i >= 126) error(TooLongHinsi); + hinsi[i++] = ((c >> 8) & 0xff); + } else if (c > 0xffff) { + if (i >= 126) error(TooLongHinsi); + hinsi[i++] = ((c >> 16) & 0xff); + if (i >= 126) error(TooLongHinsi); + hinsi[i++] = ((c >> 8) & 0xff); + } else if (c > 0xff) { + if (i >= 126) error(TooLongHinsi); + hinsi[i++] = ((c >> 8) & 0xff); } - if(i >= 127) error(TooLongHinshi); - hinshi[i++] = (c & 0xff); - c = readchar(); + if (i >= 127) error(TooLongHinsi); + hinsi[i++] = (c & 0xff); + c = readchar(); } - if(i == 0) return 0; + + if (i == 0) return 0; - if(hinshi[0] == '[' && hinshi[i - 1] == ']') { - hinshi[i - 1] = 0; - i = cnvhinshi(hinshi + 1); - if(i > 0) { + + if (hinsi[0] == '[' && hinsi[i - 1] == ']') { + hinsi[i - 1] = 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", - hinshi + 1); - } else if(!i) { - + hinsi + 1); + } + 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", - hinshi + 1); + hinsi + 1); goto retry; } } - + else { - hinshi[i] = 0; - i = cnvhinshi(hinshi); - 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", hinshi); + hinsi[i] = 0; + 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; } } @@ -157,75 +183,93 @@ 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 = readhinshi()) != 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 >= MaxHinshiNumber) error(TooManyHinshi); - hinshi[j++] = c; + } + else { + if (j >= MaxHinsiNumber) error(TooManyHinsi); + hinsi[j++] = c; } } atr[i] = 0; - if(j == 0) hinshi[j++] = HinshiTankan; - hinshi[j] = 0; + if (j == 0) hinsi[j++] = HinsiTankan; + hinsi[j] = 0; + return yomi; } -void setline(void (*func)(int*, int*, int, int*)) { - int i; - for(i = 0; hinshi[i]; i++) (*func)(yomi, kanji, hinshi[i], atr); +void +setline(void (*func)(int*, int*, int, int*)) +{ + int i; + + for (i = 0 ; hinsi[i] ; i++) (*func)(yomi, kanji, hinsi[i], atr); } diff --git a/rk.h b/rk.h index ded1270..2b570e8 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 @@ -27,47 +27,56 @@ * */ +/* + * $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 4b0a693..799254c 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 @@ -27,10 +27,18 @@ * */ +/* + * $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 @@ -58,149 +66,159 @@ 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 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 WTOUPPER(c) ((wchar16_t)(islower(((c) & 0xff)) ? toupper(((c) & 0xff)) : ((c) & 0xff))) - -#define RKSIZE 256 -#define RKINCZ 32 +#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 -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; +#define SJ3_NO -1 +#define SJ3_SJIS 0 +#define SJ3_EUC 1 -static RkbufRec rkpbuf, *rkpp = NULL; -static RkTablW16* rkhp; -static StrbufRec strpbuf, *strpp; -static wchar16_t* shp; -static YmibufRec ymipbuf, *ymipp; -static unsigned short* yhp; +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; -sj3_rkcode(code) int code; + +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; { - 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; @@ -208,27 +226,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; @@ -236,16 +254,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); @@ -256,9 +274,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 { @@ -273,92 +291,95 @@ 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; @@ -366,27 +387,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; @@ -394,16 +415,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); @@ -414,9 +435,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 { @@ -431,485 +452,522 @@ 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; - if(rkpp == NULL) { - rkp = (RkTablW16*)malloc(RKSIZE * sizeof(RkTablW16)); - if(rkp == NULL) - return (NULL); - rkhp = rkp; - rkpp = &rkpbuf; + +RkTablW16 * +rkalloc() +{ + RkTablW16 *rkp; + RkbufRec *rkbrp; + + 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* 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; + +stradd(cp, str, len) +wchar16_t **cp; +wchar16_t *str; +int len; +{ + 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; 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; } @@ -917,34 +975,36 @@ 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++; @@ -954,10 +1014,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; @@ -966,8 +1026,8 @@ int wlen; s++; } } - if(rlen <= wlen) { - while(*p != NSTR) { + if (rlen <= wlen) { + while (*p != NSTR) { *q++ = *p++; } *q = NSTR; @@ -984,25 +1044,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; } @@ -1010,131 +1070,137 @@ int wlen; *kstr = 0; break; } - return (len); + return(len); } -int sj3_rkconv_w16(wchar16_t*, wchar16_t*); -sj3_rkconv(romaji, kana) unsigned char* romaji; -unsigned char* kana; + + +int sj3_rkconv_w16(wchar16_t *, wchar16_t *); + +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; @@ -1142,12 +1208,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; @@ -1156,10 +1222,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; @@ -1167,37 +1233,38 @@ 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 b7579d4..048cb9c 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 @@ -27,71 +27,81 @@ * */ +/* + * $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; -{ - Conversion* cv; - wchar16_t* p; - unsigned short c1, cc; - unsigned int c2; - unsigned short op; - unsigned char mode; - int len, i; - unsigned int rkstr[MAXLLEN], *rkp; - extern char erase_str[]; - cv = GetConversion(); + +exec_romaji(c) +wchar16_t c; +{ + Conversion *cv; + wchar16_t *p; + unsigned short c1, cc; + unsigned int c2; + unsigned short op; + unsigned char mode; + int len, i; + unsigned int rkstr[MAXLLEN], *rkp; + extern char erase_str[]; + + 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); @@ -99,108 +109,111 @@ exec_romaji(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) { @@ -209,110 +222,112 @@ move_cur(kval) 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; - - cv = GetConversion(); - prefix = cv->out_buf[pos]; - return (sj_addten(prefix, c)); -} - -getipos(pos) unsigned short pos; -{ - Conversion* cv; + Conversion *cv; cv = GetConversion(); - return (getipos2(cv->out_mode, pos)); + prefix = cv->out_buf[pos]; + return(sj_addten(prefix, c)); } -getipos2(omode, pos) unsigned short* omode; +getipos(pos) +unsigned short pos; +{ + Conversion *cv; + + cv = GetConversion(); + return(getipos2(cv->out_mode, pos)); +} + +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 { @@ -324,109 +339,108 @@ 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; @@ -440,94 +454,97 @@ 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 b48914c..745d549 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 @@ -27,116 +27,125 @@ * */ +/* + * $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 8b2f29a..3a6024b 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 @@ -27,326 +27,384 @@ * */ +/* + * $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; - cv = GetConversion(); - cv->wrap = 0; + +wrap_off () +{ + Conversion *cv; + + 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; - cv = GetConversion(); - put_space(1); - cv->Vindex[cv->Vlen++] = cv->CurrentVcol++; - if(cv->wrap && ((cv->CurrentVcol % cv->column) == 1)) { - put_space(1); - Backspace(); + +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 (); } } -VBackspace() { - Conversion* cv; - int i; - cv = GetConversion(); - if(cv->wrap && ((cv->CurrentVcol % cv->column) == 1)) { - Ccheck(); + +VBackspace () +{ + Conversion *cv; + int i; + + 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; -{ - Conversion* cv; - int i, col, oldcol, len; - unsigned short* p; - cv = GetConversion(); - printR(s); + +vprintR (s, mod) +wchar16_t *s; +char mod; +{ + Conversion *cv; + int i, col, oldcol, len; + unsigned short *p; + + 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; - cv = GetConversion(); - CursorRead(&(cv->SavedRow), &(cv->SavedCol)); - cv->CurrentVcol = cv->SavedCol; - cv->Vlen = 0; + +Csave () +{ + Conversion *cv; + + 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; - StartGuide(&row, &col); - Clear_EOL(); - EndGuide(row, col); - Flush(); -} -print_guide_line() { - unsigned short row, col; - - StartGuide(&row, &col); - spaceR(Guide); - Clear_EOL(); - EndGuide(row, col); - Flush(); -} - -set_guide_line(mode) int mode; +clear_guide_line () { + unsigned short row, col; - switch(mode) { + StartGuide (&row, &col); + Clear_EOL (); + EndGuide (row, col); + Flush (); +} + +print_guide_line () +{ + unsigned short row, col; + + StartGuide (&row, &col); + spaceR (Guide); + Clear_EOL (); + EndGuide (row, col); + Flush (); +} + +set_guide_line (mode) +int mode; +{ + + + + switch (mode) { case KEY_NORMAL: - wscpy(Nguide, WCSJrun); + wscpy (Nguide, WCSJrun); Guide = Nguide; break; case KEY_CONV: @@ -357,15 +415,16 @@ set_guide_line(mode) 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; @@ -407,7 +466,7 @@ disp_mode() { default: break; } - switch(cv->BuffMode) { + switch (cv->BuffMode) { case BUFF: Bmode = WCMode_buff; break; @@ -417,31 +476,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() { - unsigned short row, col; - - StartGuide(&row, &col); -} - -guide_print(s1, s2) - wchar16_t* s1, - *s2; +TopGuide () { - unsigned short row, col; + unsigned short row, col; - StartGuide(&row, &col); - if(s1) - printR(s1); - SJ_print(s2); - Clear_EOL(); - EndGuide(row, col); - Flush(); + 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 (); } diff --git a/selclrec.c b/selclrec.c index 83a253a..a5d7af9 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 @@ -27,76 +27,105 @@ * */ +/* + * $SonyRCSfile: selclrec.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:02:14 $ + */ + + + + + #include "sj_kcnv.h" -void free_clall(), free_jall(), mkjiritsu(), mkbunsetsu(); -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_BUNSETSU) 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; - - while(rec) { - - if(len == rec->cllen) { + + nextcllen = rec -> cllen - len; + + 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; - mkjiritsu(DO_IKKATU); + + mkjiritu(DO_IKKATU); - mkbunsetsu(); - if(!maxclptr) wakachi(); + + mkbunsetu(); + 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 a438595..2d59e02 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 @@ -27,6 +27,14 @@ * */ +/* + * $SonyRCSfile: select.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:03:49 $ + */ + + + #include #include #include @@ -34,4 +42,4 @@ #include #endif -typedef fd_set SELECT_FD; +typedef fd_set SELECT_FD; diff --git a/selsuuji.c b/selsuuji.c index fb0a6a1..ca23c7b 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,72 +32,84 @@ #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 0528ea6..aea4da9 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/serverrc b/serverrc index c5fe096..e086c6e 100644 --- a/serverrc +++ b/serverrc @@ -26,4 +26,10 @@ ## from Sony Corporation. ## +## +## $SonyRCSfile: serverrc,v $ +## $SonyRevision: 1.1 $ +## $SonyDate: 1994/06/03 08:02:55 $ +## + readdict sj3main.dic diff --git a/setconj.c b/setconj.c index 82c254c..0a623e1 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 @@ -27,38 +27,48 @@ * */ +/* + * $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_hinshi.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)++; @@ -68,73 +78,76 @@ cnjstrcmp(unsigned char* yptr, unsigned char* cnjp, int* saml) { return MATCH; } -static TypeCnct -cnvrow(JREC* rec, TypeCnct row) { - TypeGram hinshi; - int stt; +static TypeCnct +cnvrow (JREC *rec, TypeCnct row) +{ + TypeGram hinsi; + int stt; - hinshi = rec->hinshi; + 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((hinshi >= KEIYOUSHI_1 && hinshi <= KE_DOUSHI_9) || - (hinshi == MEISHI_5) || (hinshi == MEISHI_9)) + else if((hinsi>=KEIYOUSI_1 && hinsi<=KE_DOUSI_9)|| + (hinsi == MEISI_5) || (hinsi == MEISI_9)) ; else row = 0; } - else if(stt == SETTOU_GO) { + else if (stt == SETTOU_GO) { - if(hinshi == MEISHI_7 && row == R_SMEISHI1) + if (hinsi == MEISI_7 && row == R_SMEISI1) row++; } return row; } -int setconj(TypeGram hinshi, 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(hinshi)) != 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++; } @@ -143,3 +156,4 @@ int setconj(TypeGram hinshi, JREC* jrec, CREC* crec) { return count; } + diff --git a/setjrec.c b/setjrec.c index cc08de8..3ca585a 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 @@ -27,128 +27,149 @@ * */ +/* + * $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_hinshi.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; - p = dicbuf + ((*p & KanjiCodeMask) << 8) + *(p + 1); +int +setj_ofs(unsigned char* p) +{ + int contf = TRUE; + + 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 ZenHiraAsshuku: - p += setj_norm1(p); - break; + 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 ZenKataAsshuku: - p += setj_norm1(p); - break; + case KanjiAssyuku: + p += setj_knj(p); break; - case OffsetAsshuku: - p += setj_ofs(p); - break; + case KanjiStrEnd: + contf = FALSE; break; - case AiAttribute: - p += setj_atrb(p); - break; - - case LeadingHankaku: - p += setj_norm2(p); - break; - - case KanjiAsshuku: - p += setj_knj(p); - break; - - case KanjiStrEnd: - contf = FALSE; - break; - - default: + default: p += setj_norm2(p); } - } while(contf); + } while (contf); return 2; } -int setj_knj(unsigned char* p) { - int contf = TRUE; - p = askknj[*p & KnjAsshukuMask]; +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 ZenHiraAsshuku: - p += setj_norm1(p); - break; + 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 ZenKataAsshuku: - p += setj_norm1(p); - break; + case LeadingHankaku: + p += setj_norm2(p); break; + + case KanjiAssyuku: + p += setj_knj(p); break; - case OffsetAsshuku: - p += setj_ofs(p); - break; + case KanjiStrEnd: + contf = FALSE; break; - case AiAttribute: - p += setj_atrb(p); - break; - - case LeadingHankaku: - p += setj_norm2(p); - break; - - case KanjiAsshuku: - p += setj_knj(p); - break; - - case KanjiStrEnd: - contf = FALSE; - break; - - default: + 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 == SUUSHI) 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; } } @@ -156,150 +177,167 @@ 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 != HinshiBlkTerm;) { + + for (tmp = ptr + 1; *tmp != HinsiBlkTerm ; ) { switch(*tmp & KanjiModeMask) { - case ZenHiraAsshuku: - tmp += setj_norm1(tmp); - break; + 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 ZenKataAsshuku: - tmp += setj_norm1(tmp); - break; + case KanjiStrEnd: + tmp++; break; - case OffsetAsshuku: - tmp += setj_ofs(tmp); - break; - - case AiAttribute: - tmp += setj_atrb(tmp); - break; - - case LeadingHankaku: - tmp += setj_norm2(tmp); - break; - - case KanjiAsshuku: - tmp += setj_knj(tmp); - break; - - case KanjiStrEnd: - tmp++; - break; - - default: + 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->hinshi = 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 != HinshiBlkTerm;) { + + for (tmp = ptr + 1; *tmp != HinsiBlkTerm ; ) { switch(*tmp & KanjiModeMask) { - case ZenHiraAsshuku: - tmp += setj_norm1(tmp); - break; + 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 ZenKataAsshuku: - tmp += setj_norm1(tmp); - break; + case KanjiStrEnd: + tmp++; break; - case OffsetAsshuku: - tmp += setj_ofs(tmp); - break; - - case AiAttribute: - tmp += setj_atrb(tmp); - break; - - case LeadingHankaku: - tmp += setj_norm2(tmp); - break; - - case KanjiAsshuku: - tmp += setj_knj(tmp); - break; - - case KanjiStrEnd: - tmp++; - break; - - default: + 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; - if(!(rec = argjrec((int)ClYomiLen(tagp), (JREC*)NULL))) return; +void +setcrec(unsigned char* tagp) +{ + JREC *rec; - rec->jofsst = tagp - ClStudyDict; - rec->class = C_BUNSETSU; - rec->hinshi = ClGramCode(tagp); + + if (!(rec = argjrec((int)ClYomiLen(tagp), (JREC *)NULL))) return; + + + rec -> jofsst = tagp - ClStudyDict; + rec -> class = C_BUNSETU; + rec -> hinsi = ClGramCode(tagp); } diff --git a/setkouho.c b/setkouho.c index e068eb8..d20c75e 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 @@ -27,223 +27,269 @@ * */ +/* + * $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_hinshi.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; - if(khcount >= MaxKouhoNumber) return; +void +setkouho(CLREC* clrec, TypeDicOfs offs, int mode) +{ + JREC *jrec; + KHREC *kptr; + unsigned char *fptr; + int flg; + int i; - jrec = clrec->jnode; + + if (khcount >= MaxKouhoNumber) return; + 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; - if(sptr) { - stdytop = sptr; - kouhotbl[0].styno = sptr->styno; - kouhotbl[0].sttkj = sptr->sttkj; +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; } - + 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 ZenHiraAsshuku: - result = hiraknj_hask(p, &i); - break; + 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 ZenKataAsshuku: - result = hiraknj_kask(p, &i); - break; + case KanjiAssyuku: + result = hiraknj_knj(p, &i); break; - case OffsetAsshuku: - result = hiraknj_ofs(p, &i); - break; - - case AiAttribute: - result = hiraknj_atrb(p, &i); - break; - - case LeadingHankaku: - result = hiraknj_norm(p, &i); - break; - - case KanjiAsshuku: - result = hiraknj_knj(p, &i); - break; - - default: + 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 & KnjAsshukuMask]); + 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/setsubi.c b/setubi.c similarity index 67% rename from setsubi.c rename to setubi.c index a5363ca..598fcd3 100644 --- a/setsubi.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 @@ -27,44 +27,58 @@ * */ +/* + * $SonyRCSfile: setubi.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:02:22 $ + * + * $Id$ + */ + + #include #include "sj_kcnv.h" -#include "sj_hinshi.h" +#include "sj_hinsi.h" #include "kanakan.h" unsigned char* -getstb(TypeGram hinshi) { - if(hinshi < MEISHI_1 || hinshi > TIMEI) return NULL; +getstb(TypeGram hinsi) +{ + if (hinsi < MEISI_1 || hinsi > TIMEI) return NULL; - return Stbadr(hinshi); + return Stbadr(hinsi); } -void setsubi(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 4269d3a..f449715 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 @@ -28,6 +28,17 @@ * */ +/* + * $SonyRCSfile: setup.c,v $ + * $SonyRevision: 1.3 $ + * $SonyDate: 1994/12/09 11:27:07 $ + * + * $Id$ + */ + + + + #include "sj_sysvdef.h" #include #include @@ -49,400 +60,417 @@ #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; - unsigned char buf[BUFSIZ]; - struct optlist* opt; - unsigned char* p; - if(!(fp = fopen(runcmd_file, "r"))) { + +void +read_runcmd(void) +{ + FILE *fp; + unsigned char buf[BUFSIZ]; + struct optlist *opt; + unsigned char *p; + + 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; - extern char* optarg; - extern int optind; +void +parse_arg(int argc, char** argv) +{ + int c; + int errflg = 0; + char *p; + size_t ret; + + 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; @@ -453,29 +481,32 @@ void 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]; - work_base = (Global*)malloc(sizeof(Global)); - if(!work_base) { +void +preload_dict(void) +{ + StrList *p; + char filename[PathNameLen]; + + 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 @@ -485,70 +516,77 @@ void 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; - if(!allow_user) return TRUE; +int +check_user(char* user, char* host) +{ + StrList *p; - for(p = allow_user; p; p = p->link) { - if(!str_match(p->str1, user)) continue; + if (!allow_user) return TRUE; - if(p->str2) - if(!str_match(p->str2, host)) 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; return TRUE; } diff --git a/sj2.h b/sj2.h index 637d7eb..aee158a 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,6 +51,7 @@ #undef HUPCL #endif + #include #ifdef SVR4 #include @@ -64,88 +65,104 @@ #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 OTHER 0 -#define NEWS 1 -#define ONEWS 2 -#define JTERM 3 -#define OJTERM 4 -#define NWP511 5 -#define NWP517 6 +#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 OTHER_KB 0 -#define NEWS_KB 1 +#define TCBUFSIZE 1024 +#define AREASIZE 256 -#define MINCOL 72 +#define MAXLINE 256 +#define MAXWORD 256 +#define WORDN 32 -#define STDIN 0 -#define STDOUT 1 +#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 BS '\010' -#define ESC '\033' -#define DEL '\177' -#define UNBUFF 0 -#define BUFF 1 /* * Remove warning. @@ -155,21 +172,23 @@ #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 wordent { + wchar16_t word_str[MAXWORD]; + }; + struct valtbl { - wchar16_t* keyword; - int ivalue; + wchar16_t *keyword; + int ivalue; }; -#define aprintf printf +#define aprintf printf diff --git a/sj2code.c b/sj2code.c index 328dbac..1423c03 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 @@ -27,93 +27,106 @@ * */ +/* + * $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) + 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) *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 if (chr <= EUC_END_HIRA) + *yomi = chr - EUC_START + _XA; else *yomi = Y_ZENKAKU; - } else if(chr == EUC_a4) { + } else if (chr == EUC_a5) { chr = *euc; - 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) + 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; - if(!len--) return FALSE; - - while(*euc && len--) euc += sj2cd_chr(euc, yomi++); + + while (*euc && len--) euc += sj2cd_chr(euc, yomi++); *yomi = 0; return *euc ? FALSE : TRUE; diff --git a/sj3.c b/sj3.c index 0fc74fc..662c9e9 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 @@ -27,12 +27,20 @@ * */ +/* + * $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 @@ -56,379 +64,421 @@ #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 *cur_serv; + +char my_hname[MAXHOSTNAMELEN]; +char **serv_list; + + + +extern int vflag; +extern char **environ; +extern int status_line; + -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 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 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 (); } -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)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 +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); /* * 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(); - if(cur_serv == NULL) - cur_serv = serv_list[0] = my_hname; - SJ2_henkan_init(); - start_guideline(); +void +sjinit (void) +{ + getfixtty (); + setshellname (); + + if (cur_serv == NULL) + cur_serv = serv_list[0] = my_hname; + SJ2_henkan_init (); + start_guideline (); } -void setshellname(void) { - char* s; - char* namep; - if(shellprog[0] == '\0') { - s = getenv("SHELL"); - if((s == NULL) || (*s == '\0') || Lflag) - strcpy(shellprog, DEFAULTSHELL); +void +setshellname (void) +{ + char *s; + char *namep; + + 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) { -#ifdef SVR4 - struct stat stb; - if((master = open(mptname, O_RDWR)) < 0) { - aprintf("Out of pty's\n\r"); - done3(); +void +getmaster (void) +{ +#ifdef SVR4 + struct stat stb; + + 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. @@ -436,89 +486,92 @@ void 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 { @@ -529,15 +582,18 @@ 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; @@ -547,170 +603,185 @@ void 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) + SetRegion (); + } + if (cv->column < MINCOL) { + if (Hlevel > 1) Hlevel = 1; - } else if(HHlevel > 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); +/* + * 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); #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(); - } +void +sj3_setenv (char* ename, char* eval, char* buf) +{ + char *cp, *dp; + char **ep = environ; - 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); -#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++) + 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; @@ -718,8 +789,11 @@ void 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; @@ -727,302 +801,329 @@ void 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]; - path = getenv("PATH"); - cp = fullcmd; +void +execcmd (char* cmd, char** ap) +{ + int c; + char *getenv (); + char *path, *cp, fullcmd[BUFSIZ]; - while((c = *path++) != 0) { - if(c == ':') { + path = getenv ("PATH"); + cp = fullcmd; + + 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); - clear_guide_line(); - end_guideline(); - done2(); +void +done (void) +{ + (void) signal (SIGWINCH, SIG_IGN); + + 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) { -#ifdef SIGTYPE_VOID - void (*old_sigtstp)(); -#else - int (*old_sigtstp)(); -#endif - SELECT_FD ifds; - int nc; - struct timeval t; - clear_guide_line(); +void +suspend (void) +{ +#ifdef SIGTYPE_VOID + void (*old_sigtstp) (); +#else + int (*old_sigtstp) (); +#endif + SELECT_FD ifds; + int nc; + struct timeval t; + + 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(); } @@ -1032,192 +1133,218 @@ void suspend(void) { * 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(); + - if(!status_line) { +/* + * 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) { --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); + - if(ioctl(master, TIOCGPGRP, &ttypgrp) == 0) - killpg(ttypgrp, SIGWINCH); + killpg (Pid_shell, 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(); - if(!status_line) - RegionSet(1, Ttysize.ts_lines); +void +SetRegion (void) +{ + set_tty_size (); + + 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; - 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]; +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]; } -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 1491719..83610db 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,24 +64,25 @@ 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 701ae45..8074d62 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 @@ -27,6 +27,12 @@ * */ +/* + * $SonyRCSfile: sj3_rkcv.c,v $ + * $SonyRevision: 1.3 $ + * $SonyDate: 1995/02/10 06:02:25 $ + */ + #include #include "wchar16.h" @@ -43,456 +49,471 @@ #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_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_NA, - KANA_NA + 1, - KANA_NA + 2, - KANA_NA + 3, - KANA_NA + 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_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_MA, + KANA_MA + 1, + KANA_MA + 2, + KANA_MA + 3, + KANA_MA + 4, - KANA_MA, - KANA_MA + 1, - KANA_MA + 2, - KANA_MA + 3, - KANA_MA + 4, + KANA_XYA, KANA_YA, + KANA_XYA + 1, KANA_YA + 1, + KANA_XYA + 2, KANA_YA + 2, - KANA_XYA, KANA_YA, - KANA_XYA + 1, KANA_YA + 1, - KANA_XYA + 2, KANA_YA + 2, + KANA_RA, + KANA_RA + 1, + KANA_RA + 2, + KANA_RA + 3, + KANA_RA + 4, - KANA_RA, - KANA_RA + 1, - KANA_RA + 2, - KANA_RA + 3, - KANA_RA + 4, + KANA_WA, KANA_WA, + KANA_A + 1, + KANA_A + 3, + KANA_WO, + KANA_WA + 1, - 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}; + ((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*); -sj3_hantozen(out, in) unsigned char* out, *in; +int sj3_hantozen_w16(wchar16_t *, wchar16_t *); + +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++; @@ -500,106 +521,108 @@ 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; @@ -607,214 +630,213 @@ sj3_zentohan(out, in) 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 d7802cf..ed80664 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 @@ -27,67 +27,81 @@ * */ -#define SJ3SERV_VERSION_NO 2 +/* + * $SonyRCSfile: sj3cmd.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:00:57 $ + */ -#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 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 SJ3SERV_VERSION_NO 2 -#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_CONNECT 1 +#define SJ3_DISCONNECT 2 -#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_OPENDICT 11 +#define SJ3_CLOSEDICT 12 -#define SJ3_SETCVER 110 -#define SJ3_PH2KNJ_EUC 111 +#define SJ3_OPENSTDY 21 +#define SJ3_CLOSESTDY 22 +#define SJ3_STDYSIZE 23 -#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_LOCK 31 +#define SJ3_UNLOCK 32 -#define SJ3_CLSTUDY_EUC 117 +#define SJ3_PH2KNJ 41 -#define SJ3_ADDDICT_EUC 118 -#define SJ3_DELDICT_EUC 119 +#define SJ3_CL2KNJ 51 +#define SJ3_NEXTCL 52 +#define SJ3_PREVCL 53 +#define SJ3_CL2KNJ_ALL 54 +#define SJ3_CL2KNJ_CNT 55 -#define SJ3_GETDICT_EUC 120 -#define SJ3_NEXTDICT_EUC 121 -#define SJ3_PREVDICT_EUC 122 +#define SJ3_STUDY 61 +#define SJ3_CLSTUDY 62 + +#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 diff --git a/sj3dic.c b/sj3dic.c index 32f01fa..ec96c15 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: sj3dic.c,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1996/02/15 02:22:58 $ + * + * $Id$ + */ + + #include "sj_sysvdef.h" #include #include @@ -40,6 +49,7 @@ #include "sj3lib.h" #include "sj3dic.h" + static void _open_error(int err); static void _close_error(int err); static void init_env(void); @@ -53,39 +63,43 @@ 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; - if(!init_code()) { +int +main(int argc, char** argv) +{ + int err; + int mode; + + if (!init_code()) { fprintf(stderr, "Can't excute on this locale\n"); exit(1); } @@ -97,10 +111,10 @@ int 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; @@ -112,35 +126,36 @@ int 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); @@ -149,7 +164,8 @@ 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); @@ -157,157 +173,159 @@ 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 c3f8202..2054d5e 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,10 +32,11 @@ */ #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 e1b42aa..1a6110a 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 @@ -27,76 +27,82 @@ * */ +/* + * $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_BadHinshiCode, "\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 e8f755f..8dc4af4 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 @@ -27,71 +27,81 @@ * */ -#define SJ3_InternalError -1 +/* + * $SonyRCSfile: sj3err.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:00:58 $ + */ -#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_TooLongParameter 21 -#define SJ3_IllegalParameter 22 -#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_InternalError -1 -#define SJ3_StdyAlreadyOpened 51 -#define SJ3_StdyFileNotOpened 52 -#define SJ3_TooSmallStdyArea 53 +#define SJ3_NormalEnd 0 -#define SJ3_LockedByOther 61 -#define SJ3_NotLocked 62 +#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_NoSuchDict 71 -#define SJ3_ReadOnlyDict 72 -#define SJ3_DictLocked 73 -#define SJ3_BadYomiString 74 -#define SJ3_BadKanjiString 75 -#define SJ3_BadHinshiCode 76 +#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_AddDictFailed 81 -#define SJ3_AlreadyExistWord 82 -#define SJ3_NoMoreDouonWord 83 -#define SJ3_NoMoreUserDict 84 -#define SJ3_NoMoreIndexBlock 85 +#define SJ3_TooLongParameter 21 +#define SJ3_IllegalParameter 22 -#define SJ3_DelDictFailed 91 -#define SJ3_NoSuchWord 92 +#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_DirAlreadyExist 101 -#define SJ3_CannotCreateDir 102 +#define SJ3_StdyAlreadyOpened 51 +#define SJ3_StdyFileNotOpened 52 +#define SJ3_TooSmallStdyArea 53 -#define SJ3_NoMoreDictData 111 +#define SJ3_LockedByOther 61 +#define SJ3_NotLocked 62 -#define SJ3_UserConnected 121 +#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_TooLongPasswd 131 -#define SJ3_TooLongComment 132 +#define SJ3_AddDictFailed 81 +#define SJ3_AlreadyExistWord 82 +#define SJ3_NoMoreDouonWord 83 +#define SJ3_NoMoreUserDict 84 +#define SJ3_NoMoreIndexBlock 85 -#define SJ3_CannotCodeConvert 133 +#define SJ3_DelDictFailed 91 +#define SJ3_NoSuchWord 92 + +#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 diff --git a/sj3lib.c b/sj3lib.c index faf99cf..337d525 100644 --- a/sj3lib.c +++ b/sj3lib.c @@ -43,134 +43,139 @@ #include "const.h" #include "sj3err.h" -#include "sj_hinshi.h" +#include "sj_hinsi.h" #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; } @@ -182,106 +187,109 @@ 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; } @@ -289,57 +297,59 @@ int 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; @@ -353,8 +363,8 @@ int 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; } @@ -362,7 +372,7 @@ int sj3_close(void) { return err; server_dead: - if(dicid_list) { + if (dicid_list) { free(dicid_list); dicid_list = NULL; } @@ -371,37 +381,39 @@ server_dead: return SJ3_SERVER_DEAD; } -int sj3_getkan(unsigned char* yomi, SJ3_BUNSETSU* 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++; @@ -412,9 +424,9 @@ int sj3_getkan(unsigned char* yomi, SJ3_BUNSETSU* bun, unsigned char* knj, int k *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)); @@ -424,58 +436,60 @@ int sj3_getkan(unsigned char* yomi, SJ3_BUNSETSU* bun, unsigned char* knj, int k return buncnt; } -int sj3_getkan_euc(unsigned char* yomi, SJ3_BUNSETSU* 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_BUNSETSU* 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++; @@ -486,36 +500,36 @@ int sj3_getkan_euc(unsigned char* yomi, SJ3_BUNSETSU* bun, unsigned char* knj, i *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; } @@ -524,24 +538,28 @@ int sj3_getkan_euc(unsigned char* yomi, SJ3_BUNSETSU* bun, unsigned char* knj, i return buncnt; } -int sj3_getkan_mb(unsigned char* yomi, SJ3_BUNSETSU* 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_BUNSETSU_YOMI) + if ((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) return 0; - i = sj3_bunsetsu_kouhosuu(&client, yomi, i, MBCODE_SJIS); - if(i == ERROR) { - if(client.fd < 0) { + i = sj3_bunsetu_kouhosuu(&client, yomi, i, MBCODE_SJIS); + if (i == ERROR) { + if (client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -552,28 +570,30 @@ int 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_BUNSETSU_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_bunsetsu_kouhosuu(&client, yp, i, flag); - if(i == ERROR) { - if(client.fd < 0) { + i = sj3_bunsetu_kouhosuu(&client, yp, i, flag); + if (i == ERROR) { + if (client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -584,24 +604,28 @@ int 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_BUNSETSU_YOMI) + if ((i = strlen(yomi)) > SJ3_BUNSETU_YOMI) return 0; - i = sj3_bunsetsu_zenkouho(&client, yomi, i, dou, MBCODE_SJIS); - if(i == ERROR) { - if(client.fd < 0) { + i = sj3_bunsetu_zenkouho(&client, yomi, i, dou, MBCODE_SJIS); + if (i == ERROR) { + if (client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -611,39 +635,41 @@ int 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_BUNSETSU_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_bunsetsu_zenkouho(&client, buf1, i, dou, MBCODE_SJIS); - if(i == ERROR) { - if(client.fd < 0) { + i = sj3_bunsetu_zenkouho(&client, buf1, i, dou, MBCODE_SJIS); + 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_bunsetsu_zenkouho(&client, yomi, i, dou, MBCODE_EUC); - if(i == ERROR) { - if(client.fd < 0) { + i = sj3_bunsetu_zenkouho(&client, yomi, i, dou, MBCODE_EUC); + if (i == ERROR) { + if (client.fd < 0) { mdicid = udicid = 0; return -1; } @@ -653,18 +679,22 @@ int 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_gakushuu(SJ3_STUDYREC* dcid) { - if(sj3_tango_gakushuu(&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; } @@ -673,10 +703,12 @@ int sj3_gakushuu(SJ3_STUDYREC* dcid) { return 0; } -int sj3_gakushuu2(unsigned char* yomi1, unsigned char* yomi2, SJ3_STUDYREC* dcid) { - if(sj3_bunsetsu_gakushuu(&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; } @@ -685,31 +717,33 @@ int sj3_gakushuu2(unsigned char* yomi1, unsigned char* yomi2, SJ3_STUDYREC* dcid return 0; } -int sj3_gakushuu2_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_bunsetsu_gakushuu(&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; } @@ -718,203 +752,185 @@ int sj3_gakushuu2_euc(unsigned char* yomi1, unsigned char* yomi2, SJ3_STUDYREC* return 0; } -int sj3_gakushuu2_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) - return sj3_gakushuu2_euc(yomi1, yomi2, dcid); + if (_sys_code == SYS_EUC) + return sj3_gakusyuu2_euc(yomi1, yomi2, dcid); else - return sj3_gakushuu2(yomi1, yomi2, dcid); + 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_BadHinshiCode: - return SJ3_BAD_HINSHI_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_BadHinshiCode: - return SJ3_BAD_HINSHI_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_shoukyo(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_BadHinshiCode: - return SJ3_BAD_HINSHI_CODE; - case SJ3_NoSuchWord: - return SJ3_WORD_NOT_EXIST; - default: - return SJ3_SHOUKYO_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_shoukyo_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_BadHinshiCode: - return SJ3_BAD_HINSHI_CODE; - case SJ3_NoSuchWord: - return SJ3_WORD_NOT_EXIST; - default: - return SJ3_SHOUKYO_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_shoukyo_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) - return sj3_shoukyo_euc(yomi, kanji, code); + if (_sys_code == SYS_EUC) + return sj3_syoukyo_euc(yomi, kanji, code); else - return sj3_shoukyo(yomi, kanji, code); + return sj3_syoukyo(yomi, kanji, code); } -int sj3_getdict(unsigned char* buf) { - if(sj3_tango_shutoku(&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; } @@ -923,27 +939,29 @@ int 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_shutoku(&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; @@ -952,8 +970,8 @@ int sj3_getdict_euc(unsigned char* buf) { l += 4; memcpy(buf, kbuf, l); } else { - if(sj3_tango_shutoku(&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; } @@ -963,18 +981,22 @@ int 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; } @@ -983,27 +1005,29 @@ int 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; @@ -1012,8 +1036,8 @@ int 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; } @@ -1023,18 +1047,22 @@ int 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; } @@ -1043,27 +1071,29 @@ int 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; @@ -1072,8 +1102,8 @@ int 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; } @@ -1083,18 +1113,22 @@ int 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; } @@ -1103,9 +1137,11 @@ int 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 a3f4ba3..5e65f56 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_HINSHI_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_SHOUKYO_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_BUNSETSU_YOMI 128 -#define SJ3_BUNSETSU_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 bunsetsu { - int srclen; - int destlen; - unsigned char* srcstr; - unsigned char* deststr; - struct studyrec dcid; -} SJ3_BUNSETSU; +typedef struct bunsetu { + int srclen; + int destlen; + unsigned char *srcstr; + unsigned char *deststr; + struct studyrec dcid; +} SJ3_BUNSETU; typedef struct douon { - unsigned char ddata[SJ3_BUNSETSU_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_bunsetsu_henkan(SJ3_CLIENT_ENV*, unsigned char*, int, unsigned char*, int); -int sj3_bunsetsu_jikouho(SJ3_CLIENT_ENV*, unsigned char*, int, int); -int sj3_bunsetsu_maekouho(SJ3_CLIENT_ENV*, unsigned char*, int, int); -int sj3_bunsetsu_kouhosuu(SJ3_CLIENT_ENV*, unsigned char*, int, int); -int sj3_bunsetsu_zenkouho(SJ3_CLIENT_ENV*, unsigned char*, int, SJ3_DOUON*, int); -int sj3_tango_gakushuu(SJ3_CLIENT_ENV*, SJ3_STUDYREC*); -int sj3_bunsetsu_gakushuu(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_shutoku(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_BUNSETSU*, unsigned char*, int); -int sj3_getkan_euc(unsigned char*, SJ3_BUNSETSU*, unsigned char*, int); -int sj3_getkan_mb(unsigned char*, SJ3_BUNSETSU*, 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_gakushuu(SJ3_STUDYREC*); -int sj3_gakushuu2(unsigned char*, unsigned char*, SJ3_STUDYREC*); -int sj3_gakushuu2_euc(unsigned char*, unsigned char*, SJ3_STUDYREC*); -int sj3_gakushuu2_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_shoukyo(unsigned char*, unsigned char*, int); -int sj3_shoukyo_euc(unsigned char*, unsigned char*, int); -int sj3_shoukyo_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 ec7b721..0375e1c 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 @@ -27,25 +27,37 @@ * */ +/* + * $SonyRCSfile: sj3libsj3.h,v $ + * $SonyRevision: 1.3 $ + * $SonyDate: 1996/05/27 10:52:05 $ + */ + + + #include "wchar16.h" #include "sj3lib.h" -typedef struct bunsetsu_sj3 { - int srclen; - int destlen; - wchar16_t* srcstr; - wchar16_t* deststr; - struct studyrec dcid; -} SJ3_BUNSETSU_SJ3; + + +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_BUNSETSU_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 f1e0526..02a5138 100644 --- a/sj3stat.c +++ b/sj3stat.c @@ -35,18 +35,20 @@ #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); } @@ -54,54 +56,48 @@ int 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 0c27b72..1fd0e87 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 @@ -27,17 +27,26 @@ * */ +/* + * $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 910aeb0..9523245 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 @@ -27,485 +27,498 @@ * */ -#ifndef _SJ_CONNECT +/* + * $SonyRCSfile: sj_connect.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:00 $ + */ -#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 -#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 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 +#ifndef _SJ_CONNECT -#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 _SJ_CONNECT -#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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ze_x 0 -#define kke_x 0 -#define n_si_x 0 -#define deha_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 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 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 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 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 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 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 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 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 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 ze_x 0 +#define kke_x 0 +#define n_si_x 0 +#define deha_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 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 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 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 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 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 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 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 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 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 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 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 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 #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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ze_o 0x80 -#define kke_o 0x40 -#define n_si_o 0x20 -#define deha_o 0x10 +#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 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 ze_o 0x80 +#define kke_o 0x40 +#define n_si_o 0x20 +#define deha_o 0x10 -#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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 yasui_o 0x80 -#define yoi_o 0x40 -#define yaru_o 0x20 +#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 -#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 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 #endif -#define ttarasii_o 0x10 +#define ttarasii_o 0x10 + #endif diff --git a/sj_dict.h b/sj_dict.h index f4d7467..9adbe9b 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 @@ -27,56 +27,87 @@ * */ -#ifndef _SJ_DICT +/* + * $SonyRCSfile: sj_dict.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:03 $ + */ -#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 HinshiBlkTerm 0xff -#define MaxSegmentNumber 0xffff -#define NormalKanjiMask 0x7f -#define SS3Kanji 0x0080 -#define ZenHiraAsshuku 0x80 -#define OffsetAsshuku 0x90 -#define ZenKataAsshuku 0xa0 -#define AiAttribute 0xb0 -#define KanjiAsshuku 0xc0 -#define LeadingHankaku 0xd0 -#define KanjiStrEnd 0x00 -#define IsAsshuku 0x80 -#define AssukuUse2byte 0x90 -#define KnjAsshukuMask 0x0f -#define KanjiCodeMask 0x0f -#define KanjiModeMask 0xf0 -#define AtrMsKanjiOfs 0xc0c0 -#define MaxKnjAskNumber 16 -#define MaxYomiAskNumber 16 +#ifndef _SJ_DICT -#define MaxWdYomiLen 31 -#define MaxWdKanjiLen 64 +#define _SJ_DICT -#define AsshukuYomiTop 0x80 -#define NokoriYomiTop 0x40 -#define getsize(p) (((int)(*(p) & 0x0f) * 0x100) + *((p) + 1)) -#define getntag(p) ((*(p) == DicSegTerm) ? (p) : (p) + getsize(p)) +#define DIC_MAIN 0 +#define DIC_USER 1 -#define getplen(p) (((*(p) & AsshukuYomiTop) ? 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 DicSegBase 0 +#define MaxDouonBlk 0xfff +#define DouonBlkSizeNumber 3 +#define DicSegTerm 0xff +#define DouonBlkTerm 0xff +#define HinsiBlkTerm 0xff +#define MaxSegmentNumber 0xffff + + + +#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) #endif + diff --git a/sj_euc.h b/sj_euc.h index d5077e6..e002055 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 @@ -27,6 +27,14 @@ * */ +/* + * $SonyRCSfile: sj_euc.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:05 $ + */ + + + #ifndef _SJ_EUC #define _SJ_EUC @@ -35,13 +43,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 2ee99f6..318b57d 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,18 +31,21 @@ * $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 cf5a4eb..6d7cf42 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 @@ -27,8 +27,20 @@ * */ -extern Global* global_work_base; +/* + * $SonyRCSfile: sj_global.h,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1994/12/09 11:27:06 $ + */ -extern Global* work_base; -extern STDY* stdy_base; + +extern Global *global_work_base; + + + +extern Global *work_base; + + + +extern STDY *stdy_base; diff --git a/sj_hinshi.h b/sj_hinshi.h deleted file mode 100644 index 1348a9d..0000000 --- a/sj_hinshi.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * 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 - * without limitation the rights to use, copy, modify, merge, publish, - * 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. - * IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM, - * 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 - * from Sony Corporation. - * - */ - -#ifndef _SJ_HINSHI - -#define _SJ_HINSHI - -#define MEISHI_1 1 -#define MEISHI_2 2 -#define MEISHI_3 3 -#define MEISHI_4 4 -#define MEISHI_5 5 -#define MEISHI_6 6 -#define MEISHI_7 7 -#define MEISHI_8 8 -#define MEISHI_9 9 -#define MEISHI_10 10 -#define MEISHI_11 11 -#define D_MEISHI_1 12 -#define D_MEISHI_2 13 -#define D_MEISHI_3 14 -#define D_MEISHI_4 15 -#define D_MEISHI_5 16 -#define D_MEISHI_6 17 -#define MEISHI_20 18 - -#define MYOUJI 21 -#define NAMAE 22 -#define KIGYOU 23 -#define TIMEI 24 -#define KEN_KU 25 -#define RENTAISHI 26 -#define SETSUZOKU 27 -#define KANDOUSHI 28 -#define JOSUUSHI 29 -#define SUUSHI 30 -#define SETTOU_1 31 -#define SETTOU_2 32 -#define SETTOU_3 33 -#define SETTOU_4 34 -#define SETTOU_5 35 -#define SETSUBI_1 36 -#define SETSUBI_2 37 -#define SETSUBI_3 38 -#define SETSUBI_4 39 -#define SETSUBI_5 40 -#define SETSUBI_6 41 -#define SETSUBI_7 42 -#define SETSUBI_8 43 -#define SETSUBI_9 44 -#define FUKUSHI_1 45 -#define FUKUSHI_2 46 -#define FUKUSHI_3 47 -#define FUKUSHI_4 48 -#define FUKUSHI_5 49 -#define FUKUSHI_6 50 -#define FUKUSHI_7 51 -#define FUKUSHI_8 52 -#define FUKUSHI_9 53 -#define JOSUUSHI2 54 - -#define KEIYOUSHI_1 60 -#define KEIYOUSHI_2 61 -#define KEIYOUSHI_3 62 -#define KEIYOUSHI_4 63 -#define KEIYOUSHI_5 64 -#define KEIYOUSHI_6 65 -#define KEIYOUSHI_7 66 -#define KEIYOUSHI_8 67 -#define KEIYOUSHI_9 68 -#define KEIYOUSHI_10 69 -#define KEIYOUSHI_11 70 -#define KE_DOUSHI_1 71 -#define KE_DOUSHI_2 72 -#define KE_DOUSHI_3 73 -#define KE_DOUSHI_4 74 -#define KE_DOUSHI_5 75 -#define KE_DOUSHI_6 76 -#define KE_DOUSHI_7 77 -#define KE_DOUSHI_8 78 -#define KE_DOUSHI_9 79 - -#define DO_SAHEN 80 -#define DO_ZAHEN 81 - -#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_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 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_SHU 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_SHU 180 -#define SP_KA_KAT 181 -#define SP_KA_MEI 182 -#define TEINEI1 183 - -#define TEINEI2 184 -#define SP_KA_ONB 185 -#define SP_FUKUSHI 186 -#define AISATSU 187 -#define SP_KEIYOUSHI 188 -#define TANKANJI 189 - -#define IKKATU 200 - -#endif diff --git a/sj_hinsi.h b/sj_hinsi.h new file mode 100644 index 0000000..101125f --- /dev/null +++ b/sj_hinsi.h @@ -0,0 +1,231 @@ +/* + * 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 + * without limitation the rights to use, copy, modify, merge, publish, + * 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. + * IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM, + * 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 + * from Sony Corporation. + * + */ + +/* + * $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 + + +#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_SAHEN 80 +#define DO_ZAHEN 81 + + +#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_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 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 + +#endif diff --git a/sj_kcnv.h b/sj_kcnv.h index dfbdf0c..9298a2d 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 @@ -27,6 +27,16 @@ * */ +/* + * $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 96b2966..4b86da8 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 @@ -27,242 +27,260 @@ * */ -#ifndef _SJ_LEFT +/* + * $SonyRCSfile: sj_left.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:12 $ + */ -#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 -#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_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 +#ifndef _SJ_LEFT -#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 _SJ_LEFT -#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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ZE 0x79 -#define L_KKE 0x7a -#define L_N_SI 0x7b -#define L_DEHA 0x7c +#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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ZE 0x79 +#define L_KKE 0x7a +#define L_N_SI 0x7b +#define L_DEHA 0x7c -#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_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_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 #endif diff --git a/sj_macro.h b/sj_macro.h index e770b1c..404ec91 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 @@ -27,14 +27,23 @@ * */ +/* + * $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 5f19b2c..243d2d4 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 @@ -27,42 +27,55 @@ * */ -#ifndef _SJ_PRIORITY +/* + * $SonyRCSfile: sj_prty.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:13 $ + */ -#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_DAIMEISHI 4 -#define P_MEISHI 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_SETSUBI 6 -#define P_SUUSHI 4 -#define P_FUKUSHI 13 -#define P_F_FUKUSHI 10 -#define P_RENTAISHI 10 -#define P_KANDOU 6 -#define P_SETSUZOKU 14 -#define P_FZKKGU 9 -#define P_JOSUUSHI 10 +#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 + +#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 #endif diff --git a/sj_rename.h b/sj_rename.h index d8be9a6..fdb82d7 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 @@ -27,402 +27,541 @@ * */ -#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 mkbunsetsu Jmkbunsetsu -#define argclrec Jargclrec - -#define mkjiritsu Jmkjiritsu -#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_hinshi Jprev_hinshi -#define prev_douon Jprev_douon -#define next_kanji Jnext_kanji -#define next_hinshi Jnext_hinshi -#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 setsubi Jsetsubi - -#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 +/* + * $SonyRCSfile: sj_rename.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:14 $ + */ -#define study Jstudy -#define srchstdy Jsrchstdy -#define terminate Jterminate -#define wakachi Jwakachi -#define cmpstr Jcmpstr +#ifndef _SJ_RENAME -#define hzstrlen Jhzstrlen +#define _SJ_RENAME -#define istrcmp Jistrcmp -#define sstrncpy Jsstrncpy -#define mvmemd Jmvmemd +#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 mvmemi Jmvmemi -#define skiphblk Jskiphblk -#define skipkstr Jskipkstr +#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 sstrcmp Jsstrcmp -#define sstrlen Jsstrlen -#define sstrncmp Jsstrncmp +#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 charsize Jcharsize -#define chrtbl Jchrtbl -#define conjadr Jconjadr +#define clstudy Jclstudy +#define delcldata Jdelcldata +#define delclsub Jdelclsub +#define delclold Jdelclold +#define srchclpos Jsrchclpos +#define mkclidx Jmkclidx -#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 cvtclknj Jcvtclknj -#define taipri Jtaipri -#define sttpri Jsttpri -#define kigou Jkigou -#define selsjadrs Jselsjadrs +#define cvtdict Jcvtdict +#define cvtminasi Jcvtminasi +#define cvtwakachi Jcvtwakachi -#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 cvtphknj Jcvtphknj +#define cvtkouho Jcvtkouho +#define setstyrec Jsetstyrec -#define termtbl Jtermtbl + + +#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 #endif diff --git a/sj_right.h b/sj_right.h index 8333a8f..e67af14 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 @@ -27,291 +27,347 @@ * */ -#ifndef _SJ_RIGHT +/* + * $SonyRCSfile: sj_right.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:15 $ + */ -#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 +#ifndef _SJ_RIGHT -#define R_RENYOU1 27 -#define R_RENYOU5 28 -#define R_SA5RENYOU1 29 +#define _SJ_RIGHT -#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_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_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_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_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_ITADAKE 25 -#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_EXP 26 -#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_FZKMEISHI 121 -#define R_AISATSU 122 -#define R_KOSODO 123 +#define R_RENYOU1 27 +#define R_RENYOU5 28 +#define R_SA5RENYOU1 29 -#define R_YOU1 124 -#define R_HASI 125 +#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_DAIMEISHI 126 -#define R_DAIMEISHI6 127 +#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_FZKKI 128 -#define R_DEHA 129 -#define R_NAGARA2 130 -#define R_WO_S 131 -#define R_WO_MEISHI 132 -#define R_SITE 133 -#define R_N_SI 134 -#define R_F_FUKUSHI 135 -#define R_CUT 137 +#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_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_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_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_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_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_SUUSHI 241 -#define R_SETSUZOKU 242 -#define R_KANDOU 243 -#define R_SETTOU 244 -#define R_FUKUSHI 245 -#define R_FZKKGU 246 -#define R_MEISHI 247 -#define R_DMEISHI 248 -#define R_SMEISHI1 249 -#define R_SMEISHI2 250 -#define R_KSTB 251 -#define R_ICHISETSUBI 252 -#define R_JOSUUSHI 253 -#define R_RENTAISHI 254 -#define R_TANKAN 255 +#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 deleted file mode 100644 index 746875d..0000000 --- a/sj_stdint.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Small fixed-width integer compatibility layer for SJ3. - * - * In C99 or newer translation units, use . In C89 translation - * units, provide the fixed-width names that SJ3 needs when the host integer - * model has matching types. - */ - -#ifndef SJ_STDINT_H_ -#define SJ_STDINT_H_ - -#if defined(HAVE_C99_STDINT) && HAVE_C99_STDINT && \ - defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -#include -#else - -#include - -#if !defined(UINT8_MAX) -#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 -#endif - -#if !defined(UINT16_MAX) -#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 -#endif - -#if !defined(UINT32_MAX) -#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; -typedef unsigned long uint32_t; -#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 unsigned long uint64_t; -#define UINT64_MAX ULONG_MAX -#elif !defined(UINT64_MAX) && (defined(_MSC_VER) || defined(_WIN32)) -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; -#endif - -#endif - -#endif /* SJ_STDINT_H_ */ diff --git a/sj_struct.h b/sj_struct.h index ae90752..8815441 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 @@ -27,142 +27,175 @@ * */ -#ifndef _SJ_STRUCT -#define _SJ_STRUCT 1 +/* + * $SonyRCSfile: sj_struct.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:16 $ + * + * $Id$ + */ + + +#ifndef _SJ_STRUCT +#define _SJ_STRUCT 1 #include #include "sj_typedef.h" -typedef struct jiritsu { - struct jiritsu* jsort; - TypeDicSeg jseg; - TypeDicOfs jofsst; - TypeDicOfs jofsed; - unsigned short flags; - TypeClass class; - TypeDicID dicid; - unsigned char jlen; - TypeGram hinshi; - 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 bunsetsu { - JREC* jnode; - struct bunsetsu* clsort; + + + +typedef struct bunsetu { + 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; - short clstdylen; - unsigned char* clstdydic; + +typedef struct stdy { + short stdycnt; + short stdymax; + STDYIN *stdydic; + + short clstdystep; + unsigned short *clstdyidx; + + short clstdylen; + unsigned char *clstdydic; } STDY; #endif diff --git a/sj_struct2.h b/sj_struct2.h index eb43c57..ed4775c 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 @@ -27,55 +27,76 @@ * */ +/* + * $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 hinshi_rec { - int hinshi; - KanjiRec* krec; - struct hinshi_rec* hnext; -} HinshiRec; + + +typedef struct hinsi_rec { + int hinsi; + KanjiRec *krec; + struct hinsi_rec *hnext; +} HinsiRec; + + typedef struct douon_rec { - unsigned char* yptr; - int dlen; - int hrec_num; - HinshiRec* 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 asshuku_rec* arec; + struct hindo_rec *anext; + struct assyuku_rec *arec; } HindoRec; -typedef struct asshuku_rec { - int len; - HindoRec* nrec; - struct asshuku_rec* anext; -} AsshukuRec; + + +typedef struct assyuku_rec { + 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 219cb0a..6c4ec37 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 @@ -27,64 +27,95 @@ * */ -#ifndef _SJ_STUDY +/* + * $SonyRCSfile: sj_study.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:18 $ + */ -#define _SJ_STUDY -#define StudyExist() (stdy_base) -#define StudyCount (stdy_base->stdycnt) -#define StudyMax (stdy_base->stdymax) -#define StudyDict (stdy_base->stdydic) -#define ClStudyIdx (stdy_base->clstdyidx) -#define ClStudyStep (stdy_base->clstdystep) -#define ClStudyLen (stdy_base->clstdylen) -#define ClStudyDict (stdy_base->clstdydic) -#define StudyTail (StudyDict + StudyMax) -#define StudyRecSize (sizeof(STDYIN)) +#ifndef _SJ_STUDY -#define ClStudyTail (ClStudyDict + ClStudyLen) +#define _SJ_STUDY -#define StudyNormEnd 0 -#define StudyNoDict 1 -#define StudyFullArea 2 -#define StudyNotStudy 3 -#define StudyError 4 +#define StudyExist() (stdy_base) -#define CLSTDY_TMPLEN 256 -#define ClstudyNormEnd 0 -#define ClstudyNoDict 1 -#define ClstudyParaErr 2 -#define ClstudyYomiErr 3 -#define ClstudyNoArea 4 +#define StudyCount (stdy_base -> stdycnt) +#define StudyMax (stdy_base -> stdymax) +#define StudyDict (stdy_base -> stdydic) -#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 ClStudyIdx (stdy_base -> clstdyidx) +#define ClStudyStep (stdy_base -> clstdystep) +#define ClStudyLen (stdy_base -> clstdylen) +#define ClStudyDict (stdy_base -> clstdydic) -#define iseocl(p) (!ClYomiLen(p) || (unsigned char*)(p) >= ClStudyTail) +#define StudyTail (StudyDict + StudyMax) +#define StudyRecSize (sizeof(STDYIN)) -#define ClGramCode(p) *((p) + CL_GRAM2) +#define ClStudyTail (ClStudyDict + ClStudyLen) -#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 StudyNormEnd 0 +#define StudyNoDict 1 +#define StudyFullArea 2 +#define StudyNotStudy 3 +#define StudyError 4 -#define ClYomiPos(p) ((p) + CL_YDATA) -#define ClBlkLen(p) (ClYomiLen(p) + CL_HDLEN) -#define ClNextTag(p) ((p) + ClBlkLen(p)) + +#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)) #endif diff --git a/sj_suuji.h b/sj_suuji.h index de8c9b2..a721386 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 @@ -27,90 +27,120 @@ * */ -#ifndef _SJ_SUUJI +/* + * $SonyRCSfile: sj_suuji.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:19 $ + */ -#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) -#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 +#ifndef _SJ_SUUJI -#define CommaHigh 0xa1 -#define CommaLow 0xa4 +#define _SJ_SUUJI -#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 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 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 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)) #endif diff --git a/sj_sysvdef.h b/sj_sysvdef.h index c5ac5f3..ebd0f54 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 @@ -27,20 +27,28 @@ * */ +/* + * $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 @@ -48,7 +56,7 @@ #endif /* SVR4 */ #ifdef linux -#if !(defined(__GLIBC__) && (__GLIBC__ >= 2)) +#if !(defined (__GLIBC__) && (__GLIBC__ >= 2)) #define LACKOF_SETLOCALE #endif #define SYSV_TERMIOS @@ -56,4 +64,4 @@ #define SIGTYPE_VOID #endif /* linux */ -#endif +#endif diff --git a/sj_table.h b/sj_table.h index 2ed03f5..660dad4 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 @@ -27,89 +27,98 @@ * */ -#ifndef _SJ_TABLE -#define _SJ_TABLE 1 +/* + * $SonyRCSfile: sj_table.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:21 $ + * + * $Id$ + */ + + +#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 StbHinshi(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 bc28f8c..55d79e0 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 @@ -27,25 +27,34 @@ * */ -#ifndef _SJ_TYPEDEF -#define _SJ_TYPEDEF 1 +/* + * $SonyRCSfile: sj_typedef.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:22 $ + * + * $Id$ + */ + + +#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 unsigned char TypeGroup; +typedef unsigned char TypeGram; +typedef unsigned short TypeIdxOfs; +typedef short TypeDicSeg; +typedef unsigned short TypeDicOfs; +typedef ino_t TypeDicID; +typedef unsigned char TypeCnct; +typedef unsigned short TypeStyNum; +typedef unsigned char TypeClass; +typedef unsigned char 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 35f8bb3..f9e9fb5 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 @@ -27,17 +27,38 @@ * */ -#ifndef _SJ_VAR +/* + * $SonyRCSfile: sj_var.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:23 $ + */ -#define _SJ_VAR -#define MaxKouhoNumber 255 -#define MaxPhInputLen 256 -#define MaxClInputLen 64 -#define MinClOutputLen 512 -#define MinPhOutputLen 288 +#ifndef _SJ_VAR + +#define _SJ_VAR + + + +#define MaxKouhoNumber 255 + + + + +#define MaxPhInputLen 256 +#define MaxClInputLen 64 + + + + +#define MinClOutputLen 512 + + + + +#define MinPhOutputLen 288 #endif diff --git a/sj_yomi.h b/sj_yomi.h index 04d8845..79f507a 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 @@ -27,181 +27,191 @@ * */ -#ifndef _SJ_YOMICODE +/* + * $SonyRCSfile: sj_yomi.h,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:01:24 $ + */ -#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 -#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 +#ifndef _SJ_YOMICODE -#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 _SJ_YOMICODE -#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 _TYOUON 0x01 +#define _IGETA 0x02 +#define _ATTO 0x03 +#define _YUUBIN 0x04 -#define _NIL 0 +#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 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 #endif diff --git a/sjctype.h b/sjctype.h index ff25b06..1b13e21 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 @@ -27,47 +27,56 @@ * */ +/* + * $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 459b330..6ed9988 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 @@ -27,6 +27,14 @@ * */ +/* + * $SonyRCSfile: sjgetchar.c,v $ + * $SonyRevision: 1.5 $ + * $SonyDate: 1997/01/23 11:26:31 $ + */ + + + #include "sj_sysvdef.h" #include "wchar16.h" #include "kctype.h" @@ -41,7 +49,7 @@ #include #endif #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__) -#define USE_OLD_TTY +#define USE_OLD_TTY #include #endif @@ -51,150 +59,154 @@ #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; @@ -203,26 +215,27 @@ 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; } } @@ -230,236 +243,245 @@ 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 53ac2fa..197c8cf 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 @@ -27,6 +27,15 @@ * */ +/* + * $SonyRCSfile: sjrc.c,v $ + * $SonyRevision: 1.3 $ + * $SonyDate: 1997/01/23 11:26:31 $ + */ + + + + #include #include #include @@ -36,89 +45,96 @@ #include "sjtool.h" struct wordent { - char word_str[MAXWORD]; -}; + char word_str[MAXWORD]; + }; -extern char home_dir[]; -extern char term_name[]; +extern char home_dir[]; +extern char term_name[]; -char RCfile[LONGLENGTH]; +char RCfile[LONGLENGTH]; -static char* rcfile = ".sjrc"; +static char *rcfile = ".sjrc"; -static int user_euc = 0; -static int file_code = SYS_SJIS; -void setrc(); -int set_dict(), set_server(); +static int user_euc = 0; +static int file_code = SYS_SJIS; + +void setrc(); +int set_dict(), set_server(); struct functbl { - char* keyword; + char *keyword; int (*func)(); } funcs[] = { - {"dictionary", set_dict}, - {"userdic", set_dict}, - {"server", set_server}, - {NULL, NULL}}; + {"dictionary", set_dict}, + {"userdic", set_dict}, + {"server", set_server}, + {NULL, NULL} +}; -#define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) +#define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) -int sjset_code() { - char* loc; +int +sjset_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) { 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; } } @@ -126,76 +142,81 @@ int 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[]; -{ - unsigned char c, cc; - char* p; - int i, wcount; - if(IsDelimitor(*s)) { +int +getword (s, word) +char *s; +struct wordent word[]; +{ + unsigned char c, cc; + char *p; + int i, wcount; + + 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; @@ -203,92 +224,98 @@ 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 431ad4a..e6b9912 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 @@ -27,6 +27,14 @@ * */ +/* + * $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) @@ -37,460 +45,488 @@ #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; @@ -510,27 +546,28 @@ mode_key(mode) 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; } @@ -540,250 +577,283 @@ set_init_mode(word) 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 52e73d9..70dfc52 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 @@ -27,31 +27,37 @@ * */ +/* + * $SonyRCSfile: sjtool.h,v $ + * $SonyRevision: 1.2 $ + * $SonyDate: 1996/02/15 02:22:59 $ + */ + #if defined(__NetBSD__) #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 f1237e9..e7f5fb7 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 @@ -27,20 +27,29 @@ * */ +/* + * $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 != HinshiBlkTerm) ptr = skipkstr(ptr); + while (*ptr != HinsiBlkTerm) ptr = skipkstr(ptr); ptr++; return ptr; } + diff --git a/skipkstr.c b/skipkstr.c index 7bc34dd..591efda 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,16 +35,18 @@ #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 f329ca2..8627829 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 @@ -27,43 +27,56 @@ * */ +/* + * $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++; @@ -73,21 +86,24 @@ int 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; @@ -98,11 +114,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); @@ -110,23 +126,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; } @@ -142,3 +158,4 @@ srchdict(unsigned char* tagp) { return NULL; } + diff --git a/srchhead.c b/srchhead.c index fd1e4bf..b96c408 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 @@ -27,28 +27,38 @@ * */ +/* + * $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 d46ad37..9b79569 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 @@ -27,25 +27,35 @@ * */ +/* + * $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; @@ -53,11 +63,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; } @@ -68,3 +78,4 @@ srchidx(TypeDicSeg low, int len) { return (cmp == OVER && mid != DicSegBase) ? mid - 1 : mid; } + diff --git a/srchnum.c b/srchnum.c index da87726..b93f850 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 @@ -27,141 +27,158 @@ * */ +/* + * $SonyRCSfile: srchnum.c,v $ + * $SonyRevision: 1.1 $ + * $SonyDate: 1994/06/03 08:02:30 $ + * + * $Id$ + */ + + #include #include #include "sj_kcnv.h" #include "sj_yomi.h" -#include "sj_hinshi.h" +#include "sj_hinsi.h" #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, JOSUUSHI); + srch_josuu_sub(jrec, JOSUUSI); - if(!headcode) srch_josuu_sub(jrec, JOSUUSHI2); + 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->hinshi = SUUSHI; - 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++; } @@ -170,46 +187,47 @@ 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; } @@ -218,16 +236,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: @@ -235,22 +253,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); @@ -258,34 +276,35 @@ 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); @@ -294,7 +313,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); @@ -305,9 +324,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; } @@ -315,29 +334,32 @@ 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); @@ -354,33 +376,35 @@ 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; @@ -388,12 +412,13 @@ 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)); } @@ -403,7 +428,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--; @@ -411,47 +436,50 @@ 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)); } @@ -460,7 +488,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--; @@ -468,47 +496,53 @@ 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; - } else { - if(suuji_keta >= 4) break; - if(*suuji_yptr == N_0) break; + for (i = 0 ; i < MaxClInputLen ; i++) { + if ((ch = *p++) == Y_COMMA) { + if (suuji_keta) { + if (suuji_comma) { + if (suuji_comma != 3) break; } - } else + else { + if (suuji_keta >= 4) break; + if (*suuji_yptr == N_0) break; + } + } + 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); } @@ -517,29 +551,32 @@ 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); @@ -547,24 +584,29 @@ void 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 390710d..e27f29c 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 @@ -27,36 +27,47 @@ * */ +/* + * $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; -#define SPAN_FLUSH 0 -#define SPAN_END 1 +extern int keyvalue; -save_span(mode) int mode; +int rkerrbell = 0; +static int delkey = -1; +static int bskey; + +#define SPAN_FLUSH 0 +#define SPAN_END 1 + +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: @@ -64,200 +75,222 @@ save_span(mode) 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; - cv = GetConversion(); - pointer_clear(); - if(flush_conversion) + +buffers_clear () +{ + Conversion *cv; + + 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; - cv = GetConversion(); + +SetCflag () +{ + Conversion *cv; + + 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_gakushuu(); + } + 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; - cv = GetConversion(); - if(cv->BuffMode == BUFF) { + +ChangeBuffMode () +{ + Conversion *cv; + + cv = GetConversion (); + if (cv->BuffMode == BUFF) { sj3_rkebell(0); cv->BuffMode = UNBUFF; } else { @@ -266,233 +299,252 @@ 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; - cv = GetConversion(); +#define STAT_HENKAN 1 +#define STAT_MUHENKAN 2 + +IsHenkan () +{ + Conversion *cv; + + 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; -stat_conv_on() { - convertflag = 1; +static int convertflag; +static int small; + +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; - } - } - restore_obuf(); - if(is_del(inc) && (!IsCflag() && isspaned())) { - if(cv->out_point < cv->out_epoint) { - move_cur(KEY_RIGHT); - inc = bskey; - 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; + } } 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; } @@ -504,263 +556,274 @@ stat_conv() { 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); } break; case KEY_EDIT: case KEY_TOROKU: - case KEY_SHOUKYO: + 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(cv->Imode != MODE_HALPHA) - exec_mode(KEY_HALPHA); - disp_mode(); + if (!IsCflag ()) { + if (cv->Imode != MODE_HALPHA || BuffYes ()) { + if (BuffYes ()) { + exec_kettei (); + ChangeBuffMode (); } - } else if((inc = get_pseq()) != 0) + if (cv->Imode != MODE_HALPHA) + exec_mode (KEY_HALPHA); + disp_mode (); + } + } 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; - cv = GetConversion(); - - 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); - } - 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++; - } - 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; +save_obuf() { - Conversion* cv; - wchar16_t s[3]; - extern wchar16_t pars_seq[]; + Conversion *cv; + int i, cur; - cv = GetConversion(); + cv = GetConversion(); - *s = c; + 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); + } + 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++; + } + 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 (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(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) + if (IsTrap (c)) { + *s = inkey (); + if (keyvalue != KEY_NORMAL) *s = pars_seq[0]; - master_write(s, 1); + master_write (s, 1); } } -exec_mode(key) int key; +exec_mode (key) +int key; { - Conversion* cv; + 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); + 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; +toggle_mode (mod) +int mod; { - int value; + int value; - switch(mod) { + switch (mod) { case MODE_ZHIRA: value = KEY_ZKATA; break; @@ -780,11 +843,12 @@ toggle_mode(mod) 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; @@ -804,70 +868,77 @@ eval_mode(key) 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 cb83297..f3e4b79 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 @@ -27,122 +27,118 @@ * */ +/* + * $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_hinshi.h" -static unsigned char name_stb[] = { - 0x22, MEISHI_1, _KU, _NN, - 0xb7, 0xaf, - 0x22, MEISHI_1, _SA, _MA, - 0xcd, 0xcd, - 0x24, MEISHI_1, _SA, _NN, - 0xa4, 0xb5, 0xa4, 0xf3, - 0x12, MEISHI_1, _SI, - 0xbb, 0xe1, - 0x36, MEISHI_1, _TI, _XYA, _NN, - 0xa4, 0xc1, 0xa4, 0xe3, 0xa4, 0xf3, - 0x22, MEISHI_1, _DO, _NO, - 0xc5, 0xc2, - 0x00}; - -static unsigned char timei_stb[] = { - 0x22, MEISHI_1, _E, _KI, - 0xb1, 0xd8, - 0x44, MEISHI_1, _E, _KI, _HA, _TU, - 0xb1, 0xd8, 0xc8, 0xaf, - 0x44, MEISHI_1, _E, _KI, _YU, _KI, - 0xb1, 0xd8, 0xb9, 0xd4, - 0x22, MEISHI_1, _GU, _NN, - 0xb7, 0xb4, - 0x12, MEISHI_1, _SI, - 0xbb, 0xd4, - 0x32, MEISHI_1, _TI, _XYO, _U, - 0xc4, 0xae, - 0x22, MEISHI_1, _HA, _TU, - 0xc8, 0xaf, - 0x22, MEISHI_1, _MA, _TI, - 0xc4, 0xae, - 0x22, MEISHI_1, _MU, _RA, - 0xc2, 0xbc, - 0x00}; - -static unsigned char meisi_stb[] = { - 0x44, MEISHI_6, _A, _TU, _KA, _I, - 0xb0, 0xb7, 0xa4, 0xa4, - 0x1a, MEISHI_6, _KA, - 0xb2, 0xbd, - 0x22, MEISHI_8, _TE, _KI, - 0xc5, 0xaa, - 0x56, FUKUSHI_1, _NI, _TO, _MO, _NA, _I, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, - 0x56, FUKUSHI_1, _NI, _TO, _MO, _NA, _U, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, - 0x22, MEISHI_8, _HU, _U, - 0xc9, 0xf7, - 0x00}; - -static unsigned char sahen_stb[] = { - 0x44, MEISHI_6, _A, _TU, _KA, _I, - 0xb0, 0xb7, 0xa4, 0xa4, - 0x1a, MEISHI_6, _KA, - 0xb2, 0xbd, - 0x12, MEISHI_11, _GO, - 0xb8, 0xe5, - 0x22, MEISHI_11, _GO, _TO, - 0xcb, 0xe8, - 0x32, MEISHI_11, _ZI, _XYO, _U, - 0xbe, 0xe5, - 0x32, MEISHI_11, _TI, _XYU, _U, - 0xc3, 0xe6, - 0x22, MEISHI_8, _TE, _KI, - 0xc5, 0xaa, - 0x56, FUKUSHI_1, _NI, _TO, _MO, _NA, _I, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, - 0x56, FUKUSHI_1, _NI, _TO, _MO, _NA, _U, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6, - 0x22, MEISHI_8, _HU, _U, - 0xc9, 0xf7, - 0x22, MEISHI_11, _MA, _E, - 0xc1, 0xb0, - 0x00}; - -static unsigned char human_stb[] = { - 0x24, MEISHI_1, _SA, _NN, - 0xa4, 0xb5, 0xa4, 0xf3, - 0x00}; - -static unsigned char ippan_stb[] = { - 0x56, FUKUSHI_1, _NI, _TO, _MO, _NA, _I, - 0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4, - 0x56, FUKUSHI_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, +#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 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 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 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, }; diff --git a/string.c b/string.c index 3448efd..31340e9 100644 --- a/string.c +++ b/string.c @@ -43,36 +43,38 @@ #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; @@ -80,8 +82,8 @@ int 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; } @@ -89,31 +91,33 @@ int 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)++; @@ -122,14 +126,14 @@ int 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 { @@ -137,26 +141,28 @@ int 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++; @@ -167,41 +173,49 @@ int 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; @@ -209,45 +223,50 @@ void 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]; @@ -255,7 +274,8 @@ 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; @@ -268,14 +288,15 @@ 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]; @@ -283,14 +304,15 @@ 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]; @@ -298,14 +320,15 @@ 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 2465678..84a0cd3 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,60 +32,71 @@ #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; - for(p = p1, l = l1; l > 0;) { +int +bubun_str(unsigned char* p1, int l1, unsigned char* p2, int l2) +{ + unsigned char *p; + int l; + int i; - if(l < l2) break; - for(i = 0; i < l2; i++) - if(*(p + i) != *(p2 + i)) break; + for (p = p1, l = l1 ; l > 0 ; ) { + + 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;) { + for (p = p2, l = l2 ; l > 0 ; ) { + + if (l < l1) break; + for (i = 0 ; i < l1 ; i++) if (*(p + i) != *(p1 + i)) break; - if(l < l1) break; - for(i = 0; i < l1; i++) - if(*(p + i) != *(p1 + i)) break; - - if(i >= l1) return -1; + + 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;) { - if(l < l2) { - for(i = 0; (i < l) && (*(p + i) == *(p2 + i)); i++); +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((i >= l) && (l2 + l1 - l < sizeof(tmp))) { + for (p = p1, l = l1 ; l > 0 ; ) { + + if (l < l2) { + for (i = 0 ; (i < l) && (*(p + i) == *(p2 + i)) ; i++) ; - for(i = 0; i < l1; i++) + + if ((i >= l) && (l2 + l1 - l < sizeof(tmp))) { + + 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; } } @@ -96,19 +107,21 @@ int overlap_str(unsigned char* p1, int l1, unsigned char* p2, int l2) { l -= i; } - for(p = p2, l = l2; l > 0;) { + for (p = p2, l = l2 ; l > 0 ; ) { + + if (l < l1) { + for (i = 0 ; (i < l) && (*(p + i) == *(p1 + i)) ; 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++) + + 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; } } @@ -119,58 +132,77 @@ int 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; - for(i = 0; *src && (*src == *dst); src++, dst++) +int +top_strcmp(int* src, int* dst) +{ + int i = 0; + + + 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 ed9b6a0..8f30706 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 @@ -27,37 +27,64 @@ * */ +/* + * $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 dai_settou[] = { - 0x22, 0xc2, 0xe8, 0xc2, 0xe8}; +static unsigned char o_settou[] = { + 0xA1, 0xb8, 0xe6, 0xa4, 0xaa +}; -static unsigned char kigou_settou[] = { - 0x01}; +static unsigned char go_settou[] = { + 0xA1, 0xb8, 0xe6, 0xa4, 0xb4 +}; -unsigned char* settou_ptr[] = { - NULL, o_settou, go_settou, dai_settou, kigou_settou}; +static unsigned char dai_settou[] = { + 0x22, 0xc2, 0xe8, 0xc2, 0xe8 +}; -unsigned char scncttbl[2][24] = { - { +static unsigned char kigou_settou[] = { + 0x01 +}; - 0x48, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x18, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0xff, - 0x00, 0x1f, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x00}, +unsigned char *settou_ptr[] = { + NULL, o_settou, go_settou, dai_settou, kigou_settou +}; - { - 0x22, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +unsigned char scncttbl[2][24] = { + { + + 0x48, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 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 + } +}; diff --git a/study.c b/study.c index 710006f..1c3378b 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 @@ -27,100 +27,111 @@ * */ +/* + * $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) { - p1 = StudyDict; - p2 = NULL; - wi = 0; - for(wcnt = StudyMax; wcnt--; p1++) { - if((nm = p1->styno + 1) > wi) { + if (StudyCount >= StudyMax) { + + 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++; + for (wcnt = StudyCount ; wcnt && (p1 -> seg < seg) ; ) { + wcnt--; p1++; } ofs = outp.stdy1.offset; - while(wcnt-- && (p1->seg == seg)) { - if(p1->offset > ofs) break; + 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; + 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(); @@ -129,52 +140,55 @@ int 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(!StudyCount || !ofs) return NULL; + if (!StudyExist()) return NULL; - low = 0; + if (!StudyCount || !ofs) return NULL; + + 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 54625c7..97ed0b7 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,126 +33,153 @@ #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 kurai2_tbl[] = { - _O, _KU, _NIL, (2 << 4) + 13, - _TI, _XYO, _U, (3 << 4) + 14, - _MA, _NN, _NIL, (1 << 4) + 15, - 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 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 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 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 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 +}; diff --git a/term.c b/term.c index a6c6206..c640812 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 @@ -27,19 +27,34 @@ * */ +/* + * $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() { - 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); +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); } diff --git a/terminat.c b/terminat.c index 6341e38..3a5dc84 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 @@ -27,34 +27,45 @@ * */ +/* + * $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 fb8229b..9b258b1 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,285 +32,287 @@ #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, - 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, +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_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_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_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_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_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_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_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_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, - 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, + 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_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_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_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_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 + 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 + 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, - 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 + 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 + P_MEISHI, - 0 + P_FUKA, - T_KANOU + P_FUKA, - T_KANOU + P_MEISHI, - T_KANOU + P_DAIMEISHI, - T_KANOU + P_DAIMEISHI, - T_KANOU + P_MEISHI, - T_KANOU + P_JOSHI_D, - T_KANOU + P_JOSHI_E, + 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_SHUUSI, - T_KANOU + P_DAIMEISHI, - T_KANOU + P_FUKUSHI, - T_KANOU + P_FUKUSHI, - T_KANOU + P_SHUUSI, - 0 + P_FUKA, - T_KANOU + P_DAIMEISHI, - T_KANOU + 7, - 0 + P_FUKA, - T_SHUUJO + 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_JOSHI_B, - T_KANOU + P_JOSHI_A, - T_KANOU + P_MEISHI, - T_KANOU + P_JOSHI_B, - T_KANOU + P_RENYOU_F, - T_KANOU + P_F_FUKUSHI, - 0, - T_KANOU + P_JOSHI_F, - 0, - 0, + 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, - 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_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_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, + 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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, - 0 + P_JOSHI_C, - T_KANOU + P_SUUSHI, - T_KANOU + P_SETSUZOKU, - T_KANOU + P_KANDOU, - T_KANOU + P_SETTOU, - T_KANOU + P_FUKUSHI, - T_KANOU + P_FZKKGU, - T_KANOU + P_MEISHI, - T_KANOU + P_MEISHI, - T_KANOU + P_MEISHI, + 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_MEISHI, - 0 + P_SETSUBI, - T_KANOU + P_SETSUBI, - T_KANOU + P_JOSUUSHI, - T_KANOU + P_RENTAISHI, - T_KANOU + P_TANKAN}; + 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 +}; diff --git a/tests.c b/tests.c index 2c645e9..d927388 100644 --- a/tests.c +++ b/tests.c @@ -1,6 +1,8 @@ #if TEST___PROGNAME -int main(void) { - extern char* __progname; +int +main(void) +{ + extern char *__progname; return !__progname; } @@ -8,7 +10,9 @@ int main(void) { #if TEST_ARC4RANDOM #include -int main(void) { +int +main(void) +{ return (arc4random() + 1) ? 0 : 1; } #endif /* TEST_ARC4RANDOM */ @@ -16,39 +20,44 @@ int 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; @@ -58,44 +67,29 @@ 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; } #endif /* TEST_CRYPT_NEWHASH */ -#if TEST_C99_STDINT -#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) -#error "C99 is required for stdint.h" -#endif -#include - -int main(void) { - uint8_t u8; - uint16_t u16; - uint32_t u32; - uint64_t u64; - - u8 = 0; - u16 = 0; - u32 = 0; - u64 = 0; - return (int)(u8 + u16 + u32 + u64); -} -#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 */ @@ -119,7 +113,9 @@ int main(void) { #include #include -int main(void) { +int +main(void) +{ warnx("%d. warnx", 1); warnc(ENOENT, "%d. warn", ENOENT); warn("%d. warn", 2); @@ -133,11 +129,13 @@ int 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 @@ -146,29 +144,31 @@ int 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; @@ -177,8 +177,10 @@ int main(void) { #if TEST_GETEXECNAME #include -int main(void) { - const char* progname; +int +main(void) +{ + const char * progname; progname = getexecname(); return progname == NULL; @@ -187,8 +189,10 @@ int main(void) { #if TEST_GETPROGNAME #include -int main(void) { - const char* progname; +int +main(void) +{ + const char * progname; progname = getprogname(); return progname == NULL; @@ -202,7 +206,9 @@ int main(void) { #include #include -int main(void) { +int +main(void) +{ printf("INFTIM is defined to be %ld\n", (long)INFTIM); return 0; } @@ -217,26 +223,31 @@ int 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; } @@ -244,7 +255,9 @@ int 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); @@ -255,12 +268,13 @@ int 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; @@ -270,29 +284,34 @@ 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; @@ -319,7 +338,9 @@ int main(void) { #if TEST_OSBYTEORDER_H #include -int main(void) { +int +main(void) +{ return !OSSwapHostToLittleInt32(23); } #endif /* TEST_OSBYTEORDER_H */ @@ -348,7 +369,9 @@ int main(void) { #include #include -int main(void) { +int +main(void) +{ printf("PATH_MAX is defined to be %ld\n", (long)PATH_MAX); return 0; } @@ -356,15 +379,19 @@ int 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; } @@ -373,45 +400,55 @@ int 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; } @@ -421,10 +458,12 @@ int 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 @@ -432,7 +471,9 @@ int main(void) { #include #include -int main(void) { +int +main(void) +{ return setresgid(-1, -1, -1) == -1; } #endif /* TEST_SETRESGID */ @@ -441,7 +482,9 @@ int main(void) { #include #include -int main(void) { +int +main(void) +{ return setresuid(-1, -1, -1) == -1; } #endif /* TEST_SETRESUID */ @@ -449,12 +492,13 @@ int 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; @@ -467,55 +511,67 @@ 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 @@ -535,28 +591,30 @@ int 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; } @@ -564,14 +622,18 @@ int 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 */ @@ -579,7 +641,9 @@ int main(void) { #include #include -int main(void) { +int +main(void) +{ return !minor(0); } #endif /* TEST_SYS_MKDEV_H */ @@ -589,16 +653,17 @@ int 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); @@ -609,7 +674,7 @@ int main(void) { */ TAILQ_FOREACH_SAFE(p, &foo_q, entries, tmp) - p->bar = i++; + p->bar = i++; /* Test for newer macros as well. */ @@ -620,7 +685,9 @@ int main(void) { #if TEST_SYS_SYSMACROS_H #include -int main(void) { +int +main(void) +{ return !minor(0); } #endif /* TEST_SYS_SYSMACROS_H */ @@ -629,30 +696,32 @@ int 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); @@ -667,11 +736,13 @@ int 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; } @@ -679,14 +750,18 @@ int 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 fd08e27..f07ab3f 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 @@ -27,52 +27,61 @@ * */ +/* + * $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; @@ -96,78 +105,81 @@ 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); - } else { - (void)wcstombs((char*)ytmp, WCMyomi, YOMILEN + 1); - (void)sprintf((char*)tmp, (char*)ytmp); - (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); + } - 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); @@ -177,195 +189,210 @@ 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, WCSHOUKYO_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 = getbunsetsu(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); } -getbunsetsu(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; @@ -373,47 +400,48 @@ getbunsetsu(kanji, guide) return (len); } -exec_shoukyo() { - 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, WCGshoukyo); - if(*kanji == '\0') + if (IsDcflag()) + return(0); + val = getkstr (kanji, KLEN, WCGsyoukyo); + if (*kanji == '\0') return (val); - while(1) { - if(getyomi(yomi, YOMILEN, WCGshoukyo, kanji) || *yomi == '\0') + while (1) { + if (getyomi (yomi, YOMILEN, WCGsyoukyo, kanji) || *yomi == '\0') break; - if(getcheck(yomi, kanji, NULL, WCGshoukyo)) + if (getcheck (yomi, kanji, NULL, WCGsyoukyo)) break; } - if(*yomi == '\0') + if (*yomi == '\0') return (val); - TopGuide(); - printR(WCGshoukyo); + TopGuide (); + printR (WCGsyoukyo); tmp[0] = '\0'; - for(i = 0; i < 5; i++) { - retv = SJ2_shoukyo(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; @@ -421,7 +449,7 @@ exec_shoukyo() { SJ_print(WCUserLock); break; case SJ3_BAD_YOMI_STR: - SJ_print(WCYomiShokyo); + SJ_print(WCYomiShokyo); break; case SJ3_BAD_KANJI_STR: SJ_print(WCKanjiShokyo); @@ -431,22 +459,22 @@ exec_shoukyo() { 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, WCSHOUKYO_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 87e0676..ebbfb9a 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 @@ -27,11 +27,20 @@ * */ +/* + * $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 57d6799..aef9e26 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 @@ -27,24 +27,35 @@ * */ +/* + * $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_hinshi.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; @@ -52,47 +63,49 @@ void 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->hinshi = D_MEISHI_1; + jrec -> class = C_WAKACHI; + jrec -> hinsi = D_MEISI_1; - if(Chrtbl[*(next - 1)] & TAI_KGU) - srchfzk(jrec, next, R_DAIMEISHI, 0); + 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->hinshi = MEISHI_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)MEISHI_6, jrec, crec); + 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; @@ -101,21 +114,22 @@ void 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_MEISHI; - 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 1e41933..2653234 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 @@ -27,6 +27,13 @@ * */ +/* + * $SonyRCSfile: wc16_str.c,v $ + * $SonyRevision: 1.3 $ + * $SonyDate: 1994/11/17 06:49:21 $ + */ + + #include "sj_sysvdef.h" #include #include @@ -43,112 +50,119 @@ #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; + 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) +int +sj3_wsncmp16(ws1, ws2, n) wchar16_t *ws1, *ws2; -int n; +int n; { - int i = 0; + int i=0; - while((*ws1 && *ws2) && (*ws1 == *ws2) && (i < n)) { + 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 (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 * +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; @@ -156,38 +170,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; @@ -195,32 +209,33 @@ 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; @@ -229,21 +244,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; @@ -254,52 +269,53 @@ 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 { @@ -308,32 +324,33 @@ 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 { @@ -342,89 +359,95 @@ 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); + 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; +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_wcs2eucs16(mb, ws, n); else - return sj3_wcs2sjiss16(mb, ws, n); + return sj3_wcs2sjiss16(mb, ws, n); } + + diff --git a/wchar16.h b/wchar16.h index b927fed..5ad83e8 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 @@ -27,21 +27,30 @@ * */ +/* + * $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" @@ -55,57 +64,61 @@ 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 @@ -118,240 +131,262 @@ 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 WCMode_buff WcMessages[1] -#define WCMode_unbuff WcMessages[2] +#define WCSJrun WcMessages[0] -#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_buff WcMessages[1] +#define WCMode_unbuff WcMessages[2] -#define WCGmode WcMessages[8] -#define WCGEtc WcMessages[9] -#define WCGetc WcMessages[10] +#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 WCGHelp WcMessages[11] -#define WCMHelp WcMessages[12] +#define WCGmode WcMessages[8] +#define WCGEtc WcMessages[9] +#define WCGetc WcMessages[10] -#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 WCGHelp WcMessages[11] +#define WCMHelp WcMessages[12] -#define WCGtoroku WcMessages[20] -#define WCMhani WcMessages[21] -#define WCMyomi WcMessages[22] -#define WCTOUROKU_OK WcMessages[23] -#define WCSHOUKYO_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 WCGshoukyo WcMessages[38] -#define WCSHOUKYO_SUCC WcMessages[39] -#define WCNotExist WcMessages[40] -#define WCUserLock WcMessages[41] -#define WCYomiShokyo WcMessages[42] -#define WCKanjiShokyo WcMessages[43] -#define WCShokyoError WcMessages[44] -#define WCSUCCsjrc WcMessages[45] -#define WCFAILsjrc WcMessages[46] -#define WCNOTHsjrc WcMessages[47] +#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 WCWeight_mes WcMessages[48] -#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 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 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 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 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 WCSUCCsjrc WcMessages[45] +#define WCFAILsjrc WcMessages[46] +#define WCNOTHsjrc WcMessages[47] -#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 WCShoukyo 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 WCWeight_mes WcMessages[48] -#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 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 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