Path: ccsf.homeunix.org!CALA-MUZIK!mmcatv.co.jp!newsfeed.media.kyoto-u.ac.jp!newsfeed.s-kddi1.home.ne.jp!news.home.ne.jp!news-virt.s-kddi1.home.ne.jp.POSTED!53ab2750!not-for-mail Newsgroups: fj.sources Subject: FDclone 2.09 patch [7/10] References: Followup-To: fj.sources.d Organization: UNIX users From: shirai@unixusers.net (Takashi SHIRAI) Lines: 1586 Message-ID: Date: Tue, 22 Aug 2006 07:00:48 GMT NNTP-Posting-Host: 61.46.104.74 X-Complaints-To: abuse@home.ne.jp X-Trace: news-virt.s-kddi1.home.ne.jp 1156230048 61.46.104.74 (Tue, 22 Aug 2006 16:00:48 JST) NNTP-Posting-Date: Tue, 22 Aug 2006 16:00:48 JST Xref: ccsf.homeunix.org fj.sources:180  しらいです。  file & directory 管理ツール FDclone 2.09 の patch その 7 です。 Submitted-by: shirai@chandra2 Archive-name: FD-2.09.patch/part07 ---- Cut Here and feed the following to sh ---- #!/bin/sh # This is `FD-2.09.shar.07' (part 7 of FD-2.09.patch). # Do not concatenate these parts, unpack them in order with `/bin/sh'. # File `FD-2.09.patch' is being continued... # echo=echo touch -am 1231235999 $$.touch >/dev/null 2>&1 if test ! -f 1231235999 && test -f $$.touch; then shar_touch=touch else shar_touch=: echo $echo 'WARNING: not restoring timestamps. Consider getting and' $echo "installing GNU \`touch', distributed in GNU File Utilities..." echo fi rm -f 1231235999 $$.touch # if test ! -r _sh00904/seq; then $echo 'Please unpack part 1 first!' exit 1 fi shar_sequence=`cat _sh00904/seq` if test "$shar_sequence" != 7; then $echo 'Please unpack part' "$shar_sequence" 'next!' exit 1 fi if test ! -f _sh00904/new; then $echo 'x -' 'STILL SKIPPING' 'FD-2.09.patch' else $echo 'x -' 'continuing file' 'FD-2.09.patch' sed 's/^X//' << 'SHAR_EOF' >> FD-2.09.patch && + .\mkdict$(EXE) $@ $(DICTSRC) + +mkdict.exe: mkdict.obj troman.obj tkanji.obj + $(HOSTCC) $(HOSTCFLAGS) $(CPPFLAGS) -o $@ mkdict.obj troman.obj tkanji.obj +# ren $@ mkdict +# aout2exe mkdict +# del mkdict + +mktankan.exe: mktankan.obj troman.obj tkanji.obj + $(HOSTCC) $(HOSTCFLAGS) $(CPPFLAGS) -o $@ mktankan.obj troman.obj tkanji.obj +# ren $@ mktankan +# aout2exe mktankan +# del mktankan + +mkdict.obj: mkdict.c machine.h config.h printf.h kctype.h roman.h + $(HOSTCC) $(HOSTCFLAGS) $(CPPFLAGS) -c -o $@ mkdict.c + +mktankan.obj: mktankan.c machine.h config.h printf.h kctype.h roman.h + $(HOSTCC) $(HOSTCFLAGS) $(CPPFLAGS) -c -o $@ mktankan.c + +troman.obj: roman.c machine.h config.h printf.h kctype.h roman.h + $(HOSTCC) $(HOSTCFLAGS) $(CPPFLAGS) -c -o $@ roman.c + +tkanji.obj: kanji.c machine.h config.h printf.h kctype.h + $(HOSTCC) $(HOSTCFLAGS) $(CPPFLAGS) -c -o $@ kanji.c + +rmdict: + -$(RM) $(DICTTBL) + +$(DICTTXT): mktankan.exe + .\mktankan$(EXE) $@ + + +############################################################ X # to install all X -install: $(PROGRAM).exe $(PROGRAM).$(MANSEC) $(UNITBL) +install: $(PROGRAM).exe $(PROGRAM).$(MANSEC) $(UNITBL) X $(INSTALL) $(PROGRAM)$(EXE) $(BINDIR) X $(CHMOD) a+rx $(BINDIR)\$(PROGRAM)$(EXE) X -$(RM) $(BINDIR)\$(ALIAS)$(EXE) X $(LN) $(BINDIR)\$(PROGRAM)$(EXE) $(BINDIR)\$(ALIAS)$(EXE) X $(CHMOD) a+rx $(BINDIR)\$(ALIAS)$(EXE) + [ -d $(JMANDIR) ] || mkdir $(JMANDIR) X $(INSTALL) $(PROGRAM).$(MANSEC) $(JMANDIR)\$(PROGRAM).$(MANSEC) X $(CHMOD) a+r-x $(JMANDIR)\$(PROGRAM).$(MANSEC) X -$(RM) $(JMANDIR)\$(ALIAS).$(MANSEC) X $(LN) $(JMANDIR)\$(PROGRAM).$(MANSEC) $(JMANDIR)\$(ALIAS).$(MANSEC) X $(CHMOD) a+r-x $(JMANDIR)\$(ALIAS).$(MANSEC) + [ -d $(MANDIR) ] || mkdir $(MANDIR) X $(INSTALL) $(MANSRC) $(MANDIR)\$(PROGRAM).$(MANSEC) X $(CHMOD) a+r-x $(MANDIR)\$(PROGRAM).$(MANSEC) X -$(RM) $(MANDIR)\$(ALIAS).$(MANSEC) @@ -237,6 +280,11 @@ X $(INSTALL) $(UNITBL) $(BINDIR); \ X $(CHMOD) a+r-x $(BINDIR)\$(UNITBL); \ X fi + -if [ -f $(DICTTBL) ]; then \ + [ -d $(BINDIR) ] || mkdir $(BINDIR); \ + $(INSTALL) $(DICTTBL) $(BINDIR); \ + $(CHMOD) a+r-x $(BINDIR)\$(DICTTBL); \ + fi X X catman: $(MANCAT) X $(INSTALL) $(MANCAT) $(CATDIR)\$(PROGRAM).$(MANSEC) @@ -418,7 +466,7 @@ X shar -L50 -apc -n $(TITLE)$(VERSION) -o $(TITLE)$(VERSION).shar \ X -T $(SRCS) -C $(JSRCS) X -ipk: $(PROGRAM).exe $(UNITBL) +ipk: $(PROGRAM).exe $(UNITBL) X -[ -d $(IPKWDIR)\$(BINDIR) ] || mkdir -p $(IPKWDIR)\$(BINDIR) X -[ -d $(IPKWDIR)\$(BINDIR) ] || mkdir -p $(IPKWDIR)\$(BINDIR) X -[ -d $(IPKWDIR)\$(CONFDIR) ] || mkdir -p $(IPKWDIR)\$(CONFDIR) @@ -487,6 +535,10 @@ X cp -p $(UNITBL) $(IPKWDIR)\$(BINDIR); \ X $(CHMOD) a+r-x $(IPKWDIR)\$(BINDIR)\$(UNITBL); \ X fi + -if [ -f $(DICTTBL) ]; then \ + cp -p $(DICTTBL) $(IPKWDIR)\$(BINDIR); \ + $(CHMOD) a+r-x $(IPKWDIR)\$(BINDIR)\$(DICTTBL); \ + fi X $(ECHO) "Package: fd" > $(IPKWDIR)\CONTROL\control X $(ECHO) "Priority: optional" >> $(IPKWDIR)\CONTROL\control X $(ECHO) "Section: extras" >> $(IPKWDIR)\CONTROL\control @@ -518,6 +570,8 @@ X -$(RM) expfunc$(EXE) X -$(RM) mkfuncno$(EXE) X -$(RM) mkunitbl$(EXE) + -$(RM) mkdict$(EXE) + -$(RM) mktankan$(EXE) X -$(RM) fdsh$(EXE) X -$(RM) fdbsh$(EXE) X -$(RM) $(PROGRAM)$(EXE) @@ -527,6 +581,8 @@ X -$(RM) $(PROGRAM).doc X -$(RM) $(ARGS) X -$(RM) $(UNITBL) + -$(RM) $(DICTTXT) + -$(RM) X # DO NOT DELETE THIS LINE -- make depend depends on it. X X main.obj: fd.h @@ -618,8 +674,8 @@ X frontend.obj: printf.h X frontend.obj: kctype.h X frontend.obj: pathname.h term.h funcno.h func.h -frontend.obj: dosdisk.h kanji.h termemu.h system.h -frontend.obj: termio.h +frontend.obj: dosdisk.h kanji.h termemu.h roman.h +frontend.obj: system.h termio.h X frontend.obj: wait.h X backend.obj: fd.h X backend.obj: machine.h config.h @@ -669,7 +725,7 @@ X builtin.obj: dosdisk.h funcno.h kanji.h system.h X builtin.obj: termio.h X builtin.obj: wait.h -builtin.obj: termemu.h +builtin.obj: termemu.h roman.h X shell.obj: fd.h X shell.obj: machine.h config.h types.h X shell.obj: printf.h @@ -689,6 +745,31 @@ X input.obj: func.h X input.obj: dosdisk.h kanji.h system.h termio.h X input.obj: wait.h +ime.obj: fd.h +ime.obj: machine.h config.h types.h +ime.obj: printf.h kctype.h +ime.obj: pathname.h term.h func.h +ime.obj: dosdisk.h kanji.h wait.h +ime.obj: roman.h termemu.h +roman.obj: machine.h config.h +roman.obj: printf.h +roman.obj: kctype.h +roman.obj: roman.h +dict.obj: fd.h +dict.obj: machine.h config.h types.h +dict.obj: printf.h +dict.obj: kctype.h +dict.obj: pathname.h term.h termio.h +dict.obj: func.h +dict.obj: dosdisk.h roman.h +dict.obj: hinsi.h +mkdict.obj: machine.h config.h +mkdict.obj: printf.h +mkdict.obj: kctype.h +mkdict.obj: roman.h hinsi.h +mktankan.obj: machine.h config.h +mktankan.obj: printf.h kctype.h +mktankan.obj: roman.h X info.obj: fd.h X info.obj: machine.h X info.obj: config.h types.h diff -urNP ../FD-2.08f/mkdict.c ./mkdict.c --- ../FD-2.08f/mkdict.c Thu Jan 1 09:00:00 1970 +++ ./mkdict.c Tue Aug 22 00:00:00 2006 @@ -0,0 +1,3728 @@ +/* + * mkdict.c + * + * Kanji translation table converter + */ + +#include "machine.h" +#include +#include +#include +#include + +#ifndef NOUNISTDH +#include +#endif + +#ifndef NOSTDLIBH +#include +#endif + +#include "printf.h" +#include "kctype.h" +#include "roman.h" +#include "hinsi.h" + +#define MAXLINESTR 1023 +#define BUFUNIT 32 +#define MAXHINSI 16 +#define MAXBIAS 4 +#define MAXHINSILEN 16 +#define MAXFUZOKULEN 4 +#define MAXRANGE 50 +#define VERBOSECHAR '.' +#define J_DAKUTEN 0x212b +#define J_U 0x2426 +#define J_VU 0x2574 +#define DIC_WNN 1 +#define DIC_CANNA 2 +#define DIC_SJ3 4 +#define DIC_WNNSJ3 (DIC_WNN | DIC_SJ3) +#define getword(s, n) (((u_short)((s)[(n) + 1]) << 8) | (s)[n]) + +typedef struct _dicttable { + ALLOC_T ptr; + ALLOC_T klen; + ALLOC_T size; + int max; +} dicttable; + +typedef struct _biastable { + u_short id; + u_short klen; + u_short kbuf[MAXBIAS]; +} biastable; + +typedef struct _hinsitable { + u_short id; + u_char dict; + u_char klen; + u_short kbuf[MAXHINSILEN]; +} hinsitable; + +typedef struct _hinsisettable { + u_short id; + u_short klen; + u_short set[MAXHINSI]; +} hinsisettable; + +typedef struct _contable { + u_short id; + u_short klen; + u_short kbuf[MAXFUZOKULEN]; + u_short nlen; + u_short next[SH_MAX]; +} contable; + +static u_char *NEAR realloc2 __P_((VOID_P, ALLOC_T)); +static int NEAR addstrbuf __P_((ALLOC_T)); +static int NEAR adddictlist __P_((ALLOC_T, ALLOC_T, ALLOC_T)); +static int NEAR setkbuf __P_((int, u_short *)); +static int NEAR setjisbuf __P_((char *, int, int)); +static int NEAR setword __P_((u_int)); +static int NEAR sethinsi __P_((int, u_short *)); +static int cmphinsi __P_((CONST VOID_P, CONST VOID_P)); +static int NEAR addhinsi __P_((int, u_short *, int, char *)); +static int NEAR _gethinsi __P_((int, u_short *, char *, int *)); +static int NEAR gethinsi __P_((int, u_short *, char *, int *)); +static int NEAR adddict __P_((char *, char *, char *, u_int)); +static u_int NEAR getfreq __P_((char *)); +static int NEAR addcannadict __P_((char *, char *)); +static int NEAR convdict __P_((off_t, FILE *)); +static int NEAR addhinsidict __P_((VOID_A)); +static int NEAR addconlist __P_((int, int, contable *)); +static int NEAR genconlist __P_((VOID_A)); +static int NEAR cmpjisbuf __P_((u_char *, int, u_char *, int)); +static int cmpdict __P_((CONST VOID_P, CONST VOID_P)); +static int NEAR fputbyte __P_((int, FILE *)); +static int NEAR fputword __P_((u_int, FILE *)); +static int NEAR fputdword __P_((long, FILE *)); +static int NEAR writeindex __P_((FILE *)); +static int NEAR writehinsiindex __P_((FILE *)); +static int NEAR writedict __P_((FILE *)); +int main __P_((int, char *[])); + +static dicttable *dictlist = NULL; +static long maxdict = 0L; +static long dictlistsize = 0L; +static u_char *strbuf = NULL; +static ALLOC_T maxstr = (ALLOC_T)0; +static ALLOC_T strbufsize = (ALLOC_T)0; +static int verbose = 0; +static int needhinsi = 0; +static biastable biaslist[] = { + {HN_KA_IKU, 1, {0x2443}}, /* tsu */ + {HN_KO_KO, 1, {0x2424}}, /* i */ + {HN_KU_KU, 2, {0x246b, 0x246c}}, /* ru, re */ + {HN_SU_SU, 1, {0x246b}}, /* ru */ +}; +#define BIASLISTSIZ arraysize(biaslist) +static hinsisettable hinsisetlist[] = { + {HN_JINCHI, 2, {HN_JINMEI, HN_CHIMEI}}, + {HN_KA5DAN, 2, {HN_KA5DOU, HN_KA5YOU}}, + {HN_GA5DAN, 2, {HN_GA5DOU, HN_GA5YOU}}, + {HN_SA5DAN, 2, {HN_SA5DOU, HN_SA5YOU}}, + {HN_TA5DAN, 2, {HN_TA5DOU, HN_TA5YOU}}, + {HN_NA5DAN, 2, {HN_NA5DOU, HN_NA5YOU}}, + {HN_BA5DAN, 2, {HN_BA5DOU, HN_BA5YOU}}, + {HN_MA5DAN, 2, {HN_MA5DOU, HN_MA5YOU}}, + {HN_RA5DAN, 2, {HN_RA5DOU, HN_RA5YOU}}, + {HN_WA5DAN, 2, {HN_WA5DOU, HN_WA5YOU}}, + {HN_1DAN, 2, {HN_1DOU, HN_1YOU}}, + {HN_1_MEI, 3, {HN_1DOU, HN_1YOU, HN_MEISHI}}, + {HN_SAHEN, 2, {HN_SAHDOU, HN_SAHYOU}}, + {HN_ZAHEN, 2, {HN_ZAHDOU, HN_ZAHDOU}}, + {HN_KD_MEI, 2, {HN_KEIDOU, HN_MEISHI}}, +}; +#define HINSISETLISTSIZ arraysize(hinsisetlist) +static hinsitable hinsilist[] = { + {HN_SENTOU, DIC_WNN, /* Sentou */ + 2, {0x4068, 0x462c}}, + + {HN_SUUJI, DIC_WNN, /* Suuji */ + 2, {0x3f74, 0x3b7a}}, + + {HN_KANA, DIC_WNN, /* Kana */ + 2, {0x252b, 0x254a}}, + + {HN_EISUU, DIC_WNN, /* EiSuu */ + 2, {0x3151, 0x3f74}}, + + {HN_KIGOU, DIC_WNN, /* Kigou */ + 2, {0x352d, 0x3966}}, + + {HN_HEIKAKKO, DIC_WNN, /* HeiKakko */ + 3, {0x4a44, 0x3367, 0x384c}}, + + {HN_FUZOKUGO, DIC_WNN, /* Fuzokugo */ + 3, {0x4955, 0x4230, 0x386c}}, + + {HN_KAIKAKKO, DIC_WNN, /* KaiKakko */ + 3, {0x332b, 0x3367, 0x384c}}, + + {HN_GIJI, DIC_WNN, /* Giji */ + 2, {0x353f, 0x3b77}}, + + {HN_MEISHI, DIC_WNN, /* Meishi */ + 2, {0x4c3e, 0x3b6c}}, + {HN_MEISHI, DIC_CANNA, /* #KN */ + 3, {'#', 'K', 'N'}}, + {HN_MEISHI, DIC_CANNA, /* #T25 */ + 4, {'#', 'T', '2', '5'}}, + {HN_MEISHI, DIC_CANNA, /* #T33 */ + 4, {'#', 'T', '3', '3'}}, + {HN_MEISHI, DIC_CANNA, /* #T35 */ + 4, {'#', 'T', '3', '5'}}, + {HN_MEISHI, DIC_CANNA, /* #OKX */ + 4, {'#', 'O', 'K', 'X'}}, + {HN_MEISHI, DIC_SJ3, /* Ikkatsu */ + 2, {0x306c, 0x3367}}, + {HN_MEISHI, DIC_SJ3, /* Dai1 */ + 2, {0x4265, 0x2331}}, + {HN_MEISHI, DIC_SJ3, /* Dai2 */ + 2, {0x4265, 0x2332}}, + {HN_MEISHI, DIC_SJ3, /* Dai3 */ + 2, {0x4265, 0x2333}}, + {HN_MEISHI, DIC_SJ3, /* Dai4 */ + 2, {0x4265, 0x2334}}, + {HN_MEISHI, DIC_SJ3, /* Dai5 */ + 2, {0x4265, 0x2335}}, + {HN_MEISHI, DIC_SJ3, /* Dai6 */ + 2, {0x4265, 0x2336}}, + {HN_MEISHI, DIC_SJ3, /* Mei1 */ + 2, {0x4c3e, 0x2331}}, + {HN_MEISHI, DIC_SJ3, /* Mei2 */ + 2, {0x4c3e, 0x2332}}, + {HN_MEISHI, DIC_SJ3, /* Mei3 */ + 2, {0x4c3e, 0x2333}}, + {HN_MEISHI, DIC_SJ3, /* Mei4 */ + 2, {0x4c3e, 0x2334}}, + {HN_MEISHI, DIC_SJ3, /* Mei5 */ + 2, {0x4c3e, 0x2335}}, + {HN_MEISHI, DIC_SJ3, /* Mei6 */ + 2, {0x4c3e, 0x2336}}, + {HN_MEISHI, DIC_SJ3, /* Mei7 */ + 2, {0x4c3e, 0x2337}}, + {HN_MEISHI, DIC_SJ3, /* Mei8 */ + 2, {0x4c3e, 0x2339}}, + {HN_MEISHI, DIC_SJ3, /* Mei10 */ + 3, {0x4c3e, 0x2331, 0x2330}}, + {HN_MEISHI, DIC_SJ3, /* Mei11 */ + 3, {0x4c3e, 0x2331, 0x2331}}, + {HN_MEISHI, DIC_SJ3, /* Mei20 */ + 3, {0x4c3e, 0x2332, 0x2330}}, + + {HN_JINMEI, DIC_WNN, /* Jinmei */ + 2, {0x3f4d, 0x4c3e}}, + {HN_JINMEI, DIC_CANNA, /* #JN */ + 3, {'#', 'J', 'N'}}, + {HN_JINMEI, DIC_CANNA, /* #JNM */ + 4, {'#', 'J', 'N', 'M'}}, + {HN_JINMEI, DIC_SJ3, /* Myouji */ + 2, {0x4944, 0x3b7a}}, + {HN_JINMEI, DIC_SJ3, /* Namae */ + 2, {0x4c3e, 0x4130}}, + + {HN_CHIMEI, DIC_WNNSJ3, /* Chimei */ + 2, {0x434f, 0x4c3e}}, + {HN_CHIMEI, DIC_CANNA, /* #CN */ + 3, {'#', 'C', 'N'}}, + {HN_CHIMEI, DIC_CANNA, /* #CNS */ + 4, {'#', 'C', 'N', 'S'}}, + {HN_CHIMEI, DIC_CANNA, /* #JNS */ + 4, {'#', 'J', 'N', 'S'}}, + {HN_CHIMEI, DIC_SJ3, /* Kenku */ + 2, {0x3829, 0x3668}}, + + {HN_JINCHI, DIC_WNN, /* Jimmei&Chimei */ + 5, {0x3f4d, 0x4c3e, '&', 0x434f, 0x4c3e}}, + {HN_JINCHI, DIC_CANNA, /* #JCN */ + 4, {'#', 'J', 'C', 'N'}}, + + {HN_KOYUU, DIC_WNN, /* KoyuuMeishi */ + 4, {0x3847, 0x4d2d, 0x4c3e, 0x3b6c}}, + {HN_KOYUU, DIC_CANNA, /* #KK */ + 3, {'#', 'K', 'K'}}, + {HN_KOYUU, DIC_SJ3, /* Kigyou */ + 2, {0x346b, 0x3648}}, + + {HN_SUUSHI, DIC_WNNSJ3, /* Suushi */ + 2, {0x3f74, 0x3b6c}}, + {HN_SUUSHI, DIC_CANNA, /* #NN */ + 3, {'#', 'N', 'N'}}, + {HN_SUUSHI, DIC_CANNA, /* #N00 */ + 4, {'#', 'N', '0', '0'}}, + {HN_SUUSHI, DIC_CANNA, /* #N01 */ + 4, {'#', 'N', '0', '1'}}, + {HN_SUUSHI, DIC_CANNA, /* #N02 */ + 4, {'#', 'N', '0', '2'}}, + {HN_SUUSHI, DIC_CANNA, /* #N03 */ + 4, {'#', 'N', '0', '3'}}, + {HN_SUUSHI, DIC_SJ3, /* Suushi2 */ + 3, {0x3f74, 0x3b6c, 0x2332}}, + + {HN_KA5DOU, DIC_WNN, /* KaDouKan */ + 3, {0x252b, 0x4630, 0x3434}}, + + {HN_GA5DOU, DIC_WNN, /* GaDouKan */ + 3, {0x252c, 0x4630, 0x3434}}, + + {HN_SA5DOU, DIC_WNN, /* SaDouKan */ + 3, {0x2535, 0x4630, 0x3434}}, + + {HN_TA5DOU, DIC_WNN, /* TaDouKan */ + 3, {0x253f, 0x4630, 0x3434}}, + + {HN_NA5DOU, DIC_WNN, /* NaDouKan */ + 3, {0x254a, 0x4630, 0x3434}}, + + {HN_BA5DOU, DIC_WNN, /* BaDouKan */ + 3, {0x2550, 0x4630, 0x3434}}, + + {HN_MA5DOU, DIC_WNN, /* MaDouKan */ + 3, {0x255e, 0x4630, 0x3434}}, + + {HN_RA5DOU, DIC_WNN, /* RaDouKan */ + 3, {0x2569, 0x4630, 0x3434}}, + + {HN_WA5DOU, DIC_WNN, /* WaDouKan */ + 3, {0x256f, 0x4630, 0x3434}}, + + {HN_1DOU, DIC_WNN, /* 1DouKan */ + 3, {0x306c, 0x4630, 0x3434}}, + + {HN_SAHDOU, DIC_WNN, /* SaHenDouKan */ + 4, {0x2535, 0x4a51, 0x4630, 0x3434}}, + + {HN_ZAHDOU, DIC_WNN, /* ZaHenDouKan */ + 4, {0x2536, 0x4a51, 0x4630, 0x3434}}, + + {HN_KA5YOU, DIC_WNN, /* KaDouRenyouKan */ + 5, {0x252b, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_GA5YOU, DIC_WNN, /* GaDouRenyouKan */ + 5, {0x252c, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_SA5YOU, DIC_WNN, /* SaDouRenyouKan */ + 5, {0x2535, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_TA5YOU, DIC_WNN, /* TaDouRenyouKan */ + 5, {0x253f, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_NA5YOU, DIC_WNN, /* NaDouRenyouKan */ + 5, {0x254a, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_BA5YOU, DIC_WNN, /* BaDouRenyouKan */ + 5, {0x2550, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_MA5YOU, DIC_WNN, /* MaDouRenyouKan */ + 5, {0x255e, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_RA5YOU, DIC_WNN, /* RaDouRenyouKan */ + 5, {0x2569, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_WA5YOU, DIC_WNN, /* WaDouRenyouKan */ + 5, {0x256f, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_1YOU, DIC_WNN, /* 1DouRenyouKan */ + 5, {0x306c, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_SAHYOU, DIC_WNN, /* SaHenDouRenyouKan */ + 6, {0x2535, 0x4a51, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_ZAHYOU, DIC_WNN, /* ZaHenDouRenyouKan */ + 6, {0x2536, 0x4a51, 0x4630, 0x4f22, 0x4d51, 0x3434}}, + + {HN_KA5DAN, DIC_WNN, /* KaGyou5Dan */ + 4, {0x252b, 0x3954, 0x385e, 0x434a}}, + {HN_KA5DAN, DIC_CANNA, /* #K5 */ + 3, {'#', 'K', '5'}}, + {HN_KA5DAN, DIC_CANNA, /* #K5r */ + 4, {'#', 'K', '5', 'r'}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-1 */ + 3, {0x252b, 0x385e, 0x2331}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-2 */ + 3, {0x252b, 0x385e, 0x2332}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-3 */ + 3, {0x252b, 0x385e, 0x2333}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-4 */ + 3, {0x252b, 0x385e, 0x2334}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-5 */ + 3, {0x252b, 0x385e, 0x2335}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-6 */ + 3, {0x252b, 0x385e, 0x2336}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-7 */ + 3, {0x252b, 0x385e, 0x2337}}, + {HN_KA5DAN, DIC_SJ3, /* Ka5-8 */ + 3, {0x252b, 0x385e, 0x2338}}, + + {HN_GA5DAN, DIC_WNN, /* GaGyou5Dan */ + 4, {0x252c, 0x3954, 0x385e, 0x434a}}, + {HN_GA5DAN, DIC_CANNA, /* #G5 */ + 3, {'#', 'G', '5'}}, + {HN_GA5DAN, DIC_CANNA, /* #G5r */ + 4, {'#', 'G', '5', 'r'}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-1 */ + 3, {0x252c, 0x385e, 0x2331}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-2 */ + 3, {0x252c, 0x385e, 0x2332}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-3 */ + 3, {0x252c, 0x385e, 0x2333}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-4 */ + 3, {0x252c, 0x385e, 0x2334}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-5 */ + 3, {0x252c, 0x385e, 0x2335}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-6 */ + 3, {0x252c, 0x385e, 0x2336}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-7 */ + 3, {0x252c, 0x385e, 0x2337}}, + {HN_GA5DAN, DIC_SJ3, /* Ga5-8 */ + 3, {0x252c, 0x385e, 0x2338}}, + + {HN_SA5DAN, DIC_WNN, /* SaGyou5Dan */ + 4, {0x2535, 0x3954, 0x385e, 0x434a}}, + {HN_SA5DAN, DIC_CANNA, /* #S5 */ + 3, {'#', 'S', '5'}}, + {HN_SA5DAN, DIC_CANNA, /* #S5r */ + 4, {'#', 'S', '5', 'r'}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-1 */ + 3, {0x2535, 0x385e, 0x2331}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-2 */ + 3, {0x2535, 0x385e, 0x2332}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-3 */ + 3, {0x2535, 0x385e, 0x2333}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-4 */ + 3, {0x2535, 0x385e, 0x2334}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-5 */ + 3, {0x2535, 0x385e, 0x2335}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-6 */ + 3, {0x2535, 0x385e, 0x2336}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-7 */ + 3, {0x2535, 0x385e, 0x2337}}, + {HN_SA5DAN, DIC_SJ3, /* Sa5-8 */ + 3, {0x2535, 0x385e, 0x2338}}, + + {HN_TA5DAN, DIC_WNN, /* TaGyou5Dan */ + 4, {0x253f, 0x3954, 0x385e, 0x434a}}, + {HN_TA5DAN, DIC_CANNA, /* #T5 */ + 3, {'#', 'T', '5'}}, + {HN_TA5DAN, DIC_CANNA, /* #T5r */ + 4, {'#', 'T', '5', 'r'}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-1 */ + 3, {0x253f, 0x385e, 0x2331}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-2 */ + 3, {0x253f, 0x385e, 0x2332}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-3 */ + 3, {0x253f, 0x385e, 0x2333}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-4 */ + 3, {0x253f, 0x385e, 0x2334}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-5 */ + 3, {0x253f, 0x385e, 0x2335}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-6 */ + 3, {0x253f, 0x385e, 0x2336}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-7 */ + 3, {0x253f, 0x385e, 0x2337}}, + {HN_TA5DAN, DIC_SJ3, /* Ta5-8 */ + 3, {0x253f, 0x385e, 0x2338}}, + + {HN_NA5DAN, DIC_WNN, /* NaGyou5Dan */ + 4, {0x254a, 0x3954, 0x385e, 0x434a}}, + {HN_NA5DAN, DIC_CANNA, /* #N5 */ + 3, {'#', 'N', '5'}}, + {HN_NA5DAN, DIC_SJ3, /* Na5 */ + 2, {0x254a, 0x385e}}, + + {HN_BA5DAN, DIC_WNN, /* BaGyou5Dan */ + 4, {0x2550, 0x3954, 0x385e, 0x434a}}, + {HN_BA5DAN, DIC_CANNA, /* #B5 */ + 3, {'#', 'B', '5'}}, + {HN_BA5DAN, DIC_CANNA, /* #B5r */ + 4, {'#', 'B', '5', 'r'}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-1 */ + 3, {0x2550, 0x385e, 0x2331}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-2 */ + 3, {0x2550, 0x385e, 0x2332}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-3 */ + 3, {0x2550, 0x385e, 0x2333}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-4 */ + 3, {0x2550, 0x385e, 0x2334}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-5 */ + 3, {0x2550, 0x385e, 0x2335}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-6 */ + 3, {0x2550, 0x385e, 0x2336}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-7 */ + 3, {0x2550, 0x385e, 0x2337}}, + {HN_BA5DAN, DIC_SJ3, /* Ba5-8 */ + 3, {0x2550, 0x385e, 0x2338}}, + + {HN_MA5DAN, DIC_WNN, /* MaGyou5Dan */ + 4, {0x255e, 0x3954, 0x385e, 0x434a}}, + {HN_MA5DAN, DIC_CANNA, /* #M5 */ + 3, {'#', 'M', '5'}}, + {HN_MA5DAN, DIC_CANNA, /* #M5r */ + 4, {'#', 'M', '5', 'r'}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-1 */ + 3, {0x255e, 0x385e, 0x2331}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-2 */ + 3, {0x255e, 0x385e, 0x2332}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-3 */ + 3, {0x255e, 0x385e, 0x2333}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-4 */ + 3, {0x255e, 0x385e, 0x2334}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-5 */ + 3, {0x255e, 0x385e, 0x2335}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-6 */ + 3, {0x255e, 0x385e, 0x2336}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-7 */ + 3, {0x255e, 0x385e, 0x2337}}, + {HN_MA5DAN, DIC_SJ3, /* Ma5-8 */ + 3, {0x255e, 0x385e, 0x2338}}, + + {HN_RA5DAN, DIC_WNN, /* RaGyou5Dan */ + 4, {0x2569, 0x3954, 0x385e, 0x434a}}, + {HN_RA5DAN, DIC_CANNA, /* #R5 */ + 3, {'#', 'R', '5'}}, + {HN_RA5DAN, DIC_CANNA, /* #R5r */ + 4, {'#', 'R', '5', 'r'}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-1 */ + 3, {0x2569, 0x385e, 0x2331}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-2 */ + 3, {0x2569, 0x385e, 0x2332}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-3 */ + 3, {0x2569, 0x385e, 0x2333}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-4 */ + 3, {0x2569, 0x385e, 0x2334}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-5 */ + 3, {0x2569, 0x385e, 0x2335}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-6 */ + 3, {0x2569, 0x385e, 0x2336}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-7 */ + 3, {0x2569, 0x385e, 0x2337}}, + {HN_RA5DAN, DIC_SJ3, /* Ra5-8 */ + 3, {0x2569, 0x385e, 0x2338}}, + + {HN_WA5DAN, DIC_WNN, /* WaGyou5Dan */ + 4, {0x256f, 0x3954, 0x385e, 0x434a}}, + {HN_WA5DAN, DIC_CANNA, /* #W5 */ + 3, {'#', 'W', '5'}}, + {HN_WA5DAN, DIC_CANNA, /* #W5r */ + 4, {'#', 'W', '5', 'r'}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-1 */ + 3, {0x256f, 0x385e, 0x2331}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-2 */ + 3, {0x256f, 0x385e, 0x2332}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-3 */ + 3, {0x256f, 0x385e, 0x2333}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-4 */ + 3, {0x256f, 0x385e, 0x2334}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-5 */ + 3, {0x256f, 0x385e, 0x2335}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-6 */ + 3, {0x256f, 0x385e, 0x2336}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-7 */ + 3, {0x256f, 0x385e, 0x2337}}, + {HN_WA5DAN, DIC_SJ3, /* Wa5-8 */ + 3, {0x256f, 0x385e, 0x2338}}, + + {HN_1DAN, DIC_WNN, /* 1Dan */ + 2, {0x306c, 0x434a}}, + {HN_1DAN, DIC_CANNA, /* #KS */ + 3, {'#', 'K', 'S'}}, + {HN_1DAN, DIC_SJ3, /* Ippan1 */ + 3, {0x306c, 0x434a, 0x2331}}, + {HN_1DAN, DIC_SJ3, /* Ippan2 */ + 3, {0x306c, 0x434a, 0x2332}}, + {HN_1DAN, DIC_SJ3, /* Ippan3 */ + 3, {0x306c, 0x434a, 0x2333}}, + {HN_1DAN, DIC_SJ3, /* Ippan4 */ + 3, {0x306c, 0x434a, 0x2334}}, + + {HN_1_MEI, DIC_WNN, /* 1Dan&Meishi */ + 5, {0x306c, 0x434a, '&', 0x4c3e, 0x3b6c}}, + {HN_1_MEI, DIC_CANNA, /* #KSr */ + 4, {'#', 'K', 'S', 'r'}}, + + {HN_KA_IKU, DIC_WNN, /* KaGyou(Iku) */ + 6, {0x252b, 0x3954, '(', 0x3954, 0x242f, ')'}}, + {HN_KA_IKU, DIC_CANNA, /* #C5r */ + 4, {'#', 'C', '5', 'r'}}, + {HN_KA_IKU, DIC_SJ3, /* Ka5Onbin */ + 4, {0x252b, 0x385e, 0x323b, 0x4a58}}, + + {HN_KO_KO, DIC_WNN, /* Ko(Ko) */ + 4, {0x4d68, '(', 0x2433, ')'}}, + {HN_KO_KO, DIC_CANNA, /* #kxo */ + 4, {'#', 'k', 'x', 'o'}}, + {HN_KO_KO, DIC_CANNA, /* #kxoi */ + 5, {'#', 'k', 'x', 'o', 'i'}}, + {HN_KO_KO, DIC_SJ3, /* KaHenMi */ + 3, {0x252b, 0x4a51, 0x4c24}}, + {HN_KO_KO, DIC_SJ3, /* KaHenMei */ + 3, {0x252b, 0x4a51, 0x4c3f}}, + + {HN_KI_KI, DIC_WNN, /* Ki(Ki) */ + 4, {0x4d68, '(', 0x242d, ')'}}, + {HN_KI_KI, DIC_CANNA, /* #kxi */ + 4, {'#', 'k', 'x', 'i'}}, + {HN_KI_KI, DIC_SJ3, /* KaHenYou */ + 3, {0x252b, 0x4a51, 0x4d51}}, + + {HN_KU_KU, DIC_WNN, /* Ku(Ku) */ + 4, {0x4d68, '(', 0x242f, ')'}}, + {HN_KU_KU, DIC_CANNA, /* #kxuru */ + 6, {'#', 'k', 'x', 'u', 'r', 'u'}}, + {HN_KU_KU, DIC_CANNA, /* #kxure */ + 6, {'#', 'k', 'x', 'u', 'r', 'e'}}, + {HN_KU_KU, DIC_SJ3, /* KaHenKa */ + 3, {0x252b, 0x4a51, 0x323e}}, + {HN_KU_KU, DIC_SJ3, /* KaHenShuuTai */ + 4, {0x252b, 0x4a51, 0x3d2a, 0x424e}}, + + {HN_SAHEN, DIC_WNN, /* SaGyou(Suru) */ + 6, {0x2535, 0x3954, '(', 0x2439, 0x246b, ')'}}, + {HN_SAHEN, DIC_CANNA, /* #T10 */ + 4, {'#', 'T', '1', '0'}}, + {HN_SAHEN, DIC_CANNA, /* #T11 */ + 4, {'#', 'T', '1', '1'}}, + {HN_SAHEN, DIC_CANNA, /* #T12 */ + 4, {'#', 'T', '1', '2'}}, + {HN_SAHEN, DIC_CANNA, /* #SX */ + 3, {'#', 'S', 'X'}}, + {HN_SAHEN, DIC_SJ3, /* SaHen */ + 2, {0x2535, 0x4a51}}, + + {HN_ZAHEN, DIC_WNN, /* ZaGyou(Zuru) */ + 6, {0x2536, 0x3954, '(', 0x243a, 0x246b, ')'}}, + {HN_ZAHEN, DIC_CANNA, /* #ZX */ + 3, {'#', 'Z', 'X'}}, + {HN_ZAHEN, DIC_SJ3, /* ZaHen */ + 2, {0x2536, 0x4a51}}, + + {HN_SA_MEI, DIC_WNN, /* SaGyou(Suru)&Meishi */ + 9, {0x2535, 0x3954, '(', 0x2439, 0x246b, ')', '&', 0x4c3e, 0x3b6c}}, + {HN_SA_MEI, DIC_CANNA, /* #T00 */ + 4, {'#', 'T', '0', '0'}}, + {HN_SA_MEI, DIC_CANNA, /* #T30 */ + 4, {'#', 'T', '3', '0'}}, + {HN_SA_MEI, DIC_SJ3, /* Mei8 */ + 2, {0x4c3e, 0x2338}}, + + {HN_SI_SI, DIC_WNN, /* Shi(Shi) */ + 4, {0x3059, '(', 0x2437, ')'}}, + {HN_SI_SI, DIC_CANNA, /* #sxi */ + 4, {'#', 's', 'x', 'i'}}, + {HN_SI_SI, DIC_SJ3, /* SaHenMiYou */ + 4, {0x2535, 0x4a51, 0x4c24, 0x4d51}}, + + {HN_SU_SU, DIC_WNN, /* Su(Su) */ + 4, {0x3059, '(', 0x2439, ')'}}, + {HN_SU_SU, DIC_CANNA, /* #sxuru */ + 6, {'#', 's', 'x', 'u', 'r', 'u'}}, + {HN_SU_SU, DIC_CANNA, /* #sxu1 */ + 5, {'#', 's', 'x', 'u', '1'}}, + {HN_SU_SU, DIC_SJ3, /* SaHenKa */ + 3, {0x2535, 0x4a51, 0x323e}}, + {HN_SU_SU, DIC_SJ3, /* SaHenShuuTai */ + 4, {0x2535, 0x4a51, 0x3d2a, 0x424e}}, + + {HN_SE_SE, DIC_WNN, /* Se(Se) */ + 4, {0x3059, '(', 0x243b, ')'}}, + {HN_SE_SE, DIC_CANNA, /* #sxe */ + 4, {'#', 's', 'x', 'e'}}, + {HN_SE_SE, DIC_SJ3, /* SaHenMi2 */ + 4, {0x2535, 0x4a51, 0x4c24, 0x2332}}, + {HN_SE_SE, DIC_SJ3, /* SaHenMei2 */ + 4, {0x2535, 0x4a51, 0x4c3f, 0x2332}}, + + {HN_RA_KUD, DIC_WNN, /* RaGyou(Kudasai) */ + 7, {0x2569, 0x3954, '(', 0x323c, 0x2435, 0x2424, ')'}}, + {HN_RA_KUD, DIC_CANNA, /* #L5 */ + 3, {'#', 'L', '5'}}, + + {HN_KEIYOU, DIC_WNN, /* Keiyoushi */ + 3, {0x3741, 0x4d46, 0x3b6c}}, + {HN_KEIYOU, DIC_CANNA, /* #KY */ + 3, {'#', 'K', 'Y'}}, + {HN_KEIYOU, DIC_CANNA, /* #KYmi */ + 5, {'#', 'K', 'Y', 'm', 'i'}}, + {HN_KEIYOU, DIC_CANNA, /* #KYU */ + 4, {'#', 'K', 'Y', 'U'}}, + {HN_KEIYOU, DIC_SJ3, /* Kei1 */ + 2, {0x3741, 0x2331}}, + {HN_KEIYOU, DIC_SJ3, /* Kei2 */ + 2, {0x3741, 0x2332}}, + {HN_KEIYOU, DIC_SJ3, /* Kei3 */ + 2, {0x3741, 0x2333}}, + {HN_KEIYOU, DIC_SJ3, /* Kei4 */ + 2, {0x3741, 0x2334}}, + {HN_KEIYOU, DIC_SJ3, /* Kei5 */ + 2, {0x3741, 0x2335}}, + {HN_KEIYOU, DIC_SJ3, /* Kei6 */ + 2, {0x3741, 0x2336}}, + {HN_KEIYOU, DIC_SJ3, /* Kei7 */ + 2, {0x3741, 0x2337}}, + {HN_KEIYOU, DIC_SJ3, /* Kei8 */ + 2, {0x3741, 0x2338}}, + {HN_KEIYOU, DIC_SJ3, /* Kei9 */ + 2, {0x3741, 0x2339}}, + {HN_KEIYOU, DIC_SJ3, /* Kei10 */ + 3, {0x3741, 0x2331, 0x2330}}, + {HN_KEIYOU, DIC_SJ3, /* Kei11 */ + 3, {0x3741, 0x2331, 0x2331}}, + + {HN_KEIDOU, DIC_WNN, /* KeiyouDoushi */ + 4, {0x3741, 0x4d46, 0x4630, 0x3b6c}}, + {HN_KEIDOU, DIC_CANNA, /* #T02 */ + 4, {'#', 'T', '0', '2'}}, + {HN_KEIDOU, DIC_CANNA, /* #T03 */ + 4, {'#', 'T', '0', '3'}}, + {HN_KEIDOU, DIC_CANNA, /* #T07 */ + 4, {'#', 'T', '0', '7'}}, + {HN_KEIDOU, DIC_CANNA, /* #T08 */ + 4, {'#', 'T', '0', '8'}}, + {HN_KEIDOU, DIC_CANNA, /* #T16 */ + 4, {'#', 'T', '1', '6'}}, + {HN_KEIDOU, DIC_CANNA, /* #T17 */ + 4, {'#', 'T', '1', '7'}}, + {HN_KEIDOU, DIC_CANNA, /* #T18 */ + 4, {'#', 'T', '1', '8'}}, + {HN_KEIDOU, DIC_CANNA, /* #T19 */ + 4, {'#', 'T', '1', '9'}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou1 */ + 3, {0x3741, 0x4630, 0x2331}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou3 */ + 3, {0x3741, 0x4630, 0x2333}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou4 */ + 3, {0x3741, 0x4630, 0x2334}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou5 */ + 3, {0x3741, 0x4630, 0x2335}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou6 */ + 3, {0x3741, 0x4630, 0x2336}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou7 */ + 3, {0x3741, 0x4630, 0x2337}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou8 */ + 3, {0x3741, 0x4630, 0x2338}}, + {HN_KEIDOU, DIC_SJ3, /* KeiDou9 */ + 3, {0x3741, 0x4630, 0x2339}}, + + {HN_KD_MEI, DIC_WNN, /* KeiyouDoushi&Meishi */ + 7, {0x3741, 0x4d46, 0x4630, 0x3b6c, '&', 0x4c3e, 0x3b6c}}, + {HN_KD_MEI, DIC_CANNA, /* #T05 */ + 4, {'#', 'T', '0', '5'}}, + {HN_KD_MEI, DIC_CANNA, /* #T15 */ + 4, {'#', 'T', '1', '5'}}, + + {HN_KD_TAR, DIC_WNN, /* KeiyouDoushi(Taru) */ + 8, {0x3741, 0x4d46, 0x4630, 0x3b6c, '(', 0x243f, 0x246b, ')'}}, + {HN_KD_TAR, DIC_CANNA, /* #F00 */ + 4, {'#', 'F', '0', '0'}}, + {HN_KD_TAR, DIC_CANNA, /* #F01 */ + 4, {'#', 'F', '0', '1'}}, + {HN_KD_TAR, DIC_CANNA, /* #F02 */ + 4, {'#', 'F', '0', '2'}}, + {HN_KD_TAR, DIC_CANNA, /* #F03 */ + 4, {'#', 'F', '0', '3'}}, + {HN_KD_TAR, DIC_CANNA, /* #F05 */ + 4, {'#', 'F', '0', '5'}}, + {HN_KD_TAR, DIC_CANNA, /* #F06 */ + 4, {'#', 'F', '0', '6'}}, + {HN_KD_TAR, DIC_CANNA, /* #F09 */ + 4, {'#', 'F', '0', '9'}}, + {HN_KD_TAR, DIC_CANNA, /* #F10 */ + 4, {'#', 'F', '1', '0'}}, + {HN_KD_TAR, DIC_CANNA, /* #F11 */ + 4, {'#', 'F', '1', '1'}}, + {HN_KD_TAR, DIC_SJ3, /* KeiDou2 */ + 3, {0x3741, 0x4630, 0x2332}}, + + {HN_FUKUSI, DIC_WNN, /* Fukushi */ + 2, {0x497b, 0x3b6c}}, + {HN_FUKUSI, DIC_CANNA, /* #T06 */ + 4, {'#', 'T', '0', '6'}}, + {HN_FUKUSI, DIC_CANNA, /* #T26 */ + 4, {'#', 'T', '2', '6'}}, + {HN_FUKUSI, DIC_CANNA, /* #T31 */ + 4, {'#', 'T', '3', '1'}}, + {HN_FUKUSI, DIC_CANNA, /* #T32 */ + 4, {'#', 'T', '3', '2'}}, + {HN_FUKUSI, DIC_CANNA, /* #T36 */ + 4, {'#', 'T', '3', '6'}}, + {HN_FUKUSI, DIC_CANNA, /* #F04 */ + 4, {'#', 'F', '0', '4'}}, + {HN_FUKUSI, DIC_CANNA, /* #F12 */ + 4, {'#', 'F', '1', '2'}}, + {HN_FUKUSI, DIC_CANNA, /* #F14 */ + 4, {'#', 'F', '1', '4'}}, + {HN_FUKUSI, DIC_CANNA, /* #F15 */ + 4, {'#', 'F', '1', '5'}}, + {HN_FUKUSI, DIC_SJ3, /* TokushuFuku */ + 3, {0x4643, 0x3c6c, 0x497b}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku1 */ + 2, {0x497b, 0x2331}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku2 */ + 2, {0x497b, 0x2332}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku3 */ + 2, {0x497b, 0x2333}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku4 */ + 2, {0x497b, 0x2334}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku5 */ + 2, {0x497b, 0x2335}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku6 */ + 2, {0x497b, 0x2336}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku7 */ + 2, {0x497b, 0x2337}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku8 */ + 2, {0x497b, 0x2338}}, + {HN_FUKUSI, DIC_SJ3, /* Fuku9 */ + 2, {0x497b, 0x2339}}, + + {HN_RENTAI, DIC_WNN, /* Rentaishi */ + 3, {0x4f22, 0x424e, 0x3b6c}}, + {HN_RENTAI, DIC_CANNA, /* #RT */ + 3, {'#', 'R', 'T'}}, + {HN_RENTAI, DIC_SJ3, /* Rentai */ + 2, {0x4f22, 0x424e}}, + + {HN_SETKAN, DIC_WNN, /* Setsuzokushi,Kandoushi */ + 7, {0x405c, 0x4233, 0x3b6c, ',', 0x3436, 0x4630, 0x3b6c}}, + {HN_SETKAN, DIC_CANNA, /* #CJ */ + 3, {'#', 'C', 'J'}}, + {HN_SETKAN, DIC_SJ3, /* AiSatzu */ + 2, {0x3027, 0x3b22}}, + {HN_SETKAN, DIC_SJ3, /* Kandou */ + 2, {0x3436, 0x4630}}, + {HN_SETKAN, DIC_SJ3, /* Setsuzoku */ + 2, {0x405c, 0x4233}}, + + {HN_TANKAN, DIC_WNN, /* TanKanji */ + 3, {0x4331, 0x3441, 0x3b7a}}, + {HN_TANKAN, DIC_CANNA, /* #KJ */ + 3, {'#', 'K', 'J'}}, + {HN_TANKAN, DIC_CANNA, /* #TK */ + 3, {'#', 'T', 'K'}}, + {HN_TANKAN, DIC_SJ3, /* TanKan */ + 2, {0x4331, 0x3441}}, + + {HN_SETTOU, DIC_WNN, /* Settougo */ + 3, {0x405c, 0x462c, 0x386c}}, + {HN_SETTOU, DIC_CANNA, /* #PRE */ + 4, {'#', 'P', 'R', 'E'}}, + {HN_SETTOU, DIC_SJ3, /* Settou1 */ + 3, {0x405c, 0x462c, 0x2331}}, + {HN_SETTOU, DIC_SJ3, /* Settou3 */ + 3, {0x405c, 0x462c, 0x2333}}, + {HN_SETTOU, DIC_SJ3, /* Settou5 */ + 3, {0x405c, 0x462c, 0x2335}}, + + {HN_SETUBI, DIC_WNN, /* Setsubigo */ + 3, {0x405c, 0x4878, 0x386c}}, + {HN_SETUBI, DIC_CANNA, /* #N2T10 */ + 6, {'#', 'N', '2', 'T', '1', '0'}}, + {HN_SETUBI, DIC_CANNA, /* #N2KS */ + 5, {'#', 'N', '2', 'K', 'S'}}, + {HN_SETUBI, DIC_CANNA, /* #SUC */ + 4, {'#', 'S', 'U', 'C'}}, + {HN_SETUBI, DIC_SJ3, /* Setsubi1 */ + 3, {0x405c, 0x4878, 0x2331}}, + {HN_SETUBI, DIC_SJ3, /* Setsubi2 */ + 3, {0x405c, 0x4878, 0x2332}}, + {HN_SETUBI, DIC_SJ3, /* Setsubi3 */ + 3, {0x405c, 0x4878, 0x2333}}, + {HN_SETUBI, DIC_SJ3, /* Setsubi8 */ + 3, {0x405c, 0x4878, 0x2338}}, + {HN_SETUBI, DIC_SJ3, /* Setsubi9 */ + 3, {0x405c, 0x4878, 0x2339}}, + + {HN_SETOSU, DIC_WNN, /* SettouSuushi */ + 4, {0x405c, 0x462c, 0x3f74, 0x3b6c}}, + {HN_SETOSU, DIC_CANNA, /* #NNPRE */ + 6, {'#', 'N', 'N', 'P', 'R', 'E'}}, + {HN_SETOSU, DIC_SJ3, /* Settou4 */ + 3, {0x405c, 0x462c, 0x2334}}, + + {HN_JOSUU, DIC_WNN, /* JoSuushi */ + 3, {0x3d75, 0x3f74, 0x3b6c}}, + {HN_JOSUU, DIC_CANNA, /* #JS */ + 3, {'#', 'J', 'S'}}, + {HN_JOSUU, DIC_SJ3, /* Josuu */ + 2, {0x3d75, 0x3f74}}, + {HN_JOSUU, DIC_SJ3, /* Josuu2 */ + 3, {0x3d75, 0x3f74, 0x2332}}, + + {HN_SETOJO, DIC_WNN, /* SettouJoSuushi */ + 5, {0x405c, 0x462c, 0x3d75, 0x3f74, 0x3b6c}}, + + {HN_SETUJO, DIC_WNN, /* SetsubiJoSuushi */ + 5, {0x405c, 0x4878, 0x3d75, 0x3f74, 0x3b6c}}, + {HN_SETUJO, DIC_CANNA, /* #JSSUC */ + 6, {'#', 'J', 'S', 'S', 'U', 'C'}}, + + {HN_SETUJN, DIC_WNN, /* SetsubJinmei */ + 4, {0x405c, 0x4878, 0x3f4d, 0x4c3e}}, + {HN_SETUJN, DIC_CANNA, /* #JNSUC */ + 6, {'#', 'J', 'N', 'S', 'U', 'C'}}, + + {HN_SETOCH, DIC_WNN, /* SettouChimei */ + 4, {0x405c, 0x462c, 0x434f, 0x4c3e}}, + {HN_SETOCH, DIC_CANNA, /* #CNPRE */ + 6, {'#', 'C', 'N', 'P', 'R', 'E'}}, + {HN_SETOCH, DIC_SJ3, /* Settou2 */ + 3, {0x405c, 0x462c, 0x2332}}, + + {HN_SETUCH, DIC_WNN, /* SetsubiChimei */ + 4, {0x405c, 0x4878, 0x434f, 0x4c3e}}, + {HN_SETUCH, DIC_CANNA, /* #CNSUC1 */ + 7, {'#', 'C', 'N', 'S', 'U', 'C', '1'}}, + {HN_SETUCH, DIC_SJ3, /* Setsubi4 */ + 3, {0x405c, 0x4878, 0x2334}}, + + {HN_SETO_O, DIC_WNN, /* Settougo(O) */ + 6, {0x405c, 0x462c, 0x386c, '(', 0x242a, ')'}}, + + {HN_SETO_K, DIC_WNN, /* Settougo(Kaku) */ + 6, {0x405c, 0x462c, 0x386c, '(', 0x3346, ')'}}, + + {HN_KD_STB, DIC_WNN, /* KeiyouDoushiKaSetsubigo */ + 8, {0x3741, 0x4d46, 0x4630, 0x3b6c, 0x323d, 0x405c, 0x4878, 0x386c}}, + {HN_KD_STB, DIC_CANNA, /* #N2T15 */ + 6, {'#', 'N', '2', 'T', '1', '5'}}, + {HN_KD_STB, DIC_CANNA, /* #N2T16 */ + 6, {'#', 'N', '2', 'T', '1', '6'}}, + {HN_KD_STB, DIC_CANNA, /* #N2T17 */ + 6, {'#', 'N', '2', 'T', '1', '7'}}, + {HN_KD_STB, DIC_CANNA, /* #N2KYT */ + 6, {'#', 'N', '2', 'K', 'Y', 'T'}}, + {HN_KD_STB, DIC_SJ3, /* Setsubi6 */ + 3, {0x405c, 0x4878, 0x2336}}, + + {HN_SA_M_S, DIC_WNN, /* Sagyou(Suru)&MeishiKaSetsubigo */ + 13, {0x2535, 0x3954, '(', 0x2439, 0x246b, ')', + '&', 0x4c3e, 0x3b6c, 0x323d, 0x405c, 0x4878, 0x386c}}, + {HN_SA_M_S, DIC_CANNA, /* #N2T30 */ + 6, {'#', 'N', '2', 'T', '3', '0'}}, + {HN_SA_M_S, DIC_SJ3, /* Setsubi7 */ + 3, {0x405c, 0x4878, 0x2337}}, + + {HN_SETUDO, DIC_WNN, /* SetsubiDoushi */ + 4, {0x405c, 0x4878, 0x4630, 0x3b6c}}, + {HN_SETUDO, DIC_CANNA, /* #D2T35 */ + 6, {'#', 'D', '2', 'T', '3', '5'}}, + + {HN_KE_SED, DIC_WNN, /* KeiyoushiKaSetsubiDoushi */ + 8, {0x3741, 0x4d46, 0x3b6c, 0x323d, 0x405c, 0x4878, 0x4630, 0x3b6c}}, + {HN_KE_SED, DIC_CANNA, /* #D2KY */ + 5, {'#', 'D', '2', 'K', 'Y'}}, + {HN_KE_SED, DIC_SJ3, /* Setsubi5 */ + 3, {0x405c, 0x4878, 0x2335}}, + + {HN_MAX, DIC_CANNA, /* #sxa */ + 4, {'#', 's', 'x', 'a'}}, + {HN_MAX, DIC_CANNA, /* #sxiro */ + 6, {'#', 's', 'x', 'i', 'r', 'o'}}, + {HN_MAX, DIC_SJ3, /* SaHenMi1 */ + 4, {0x2535, 0x4a51, 0x4c24, 0x2331}}, + {HN_MAX, DIC_SJ3, /* SaHenMei1 */ + 4, {0x2535, 0x4a51, 0x4c3f, 0x2331}}, +}; +#define HINSILISTSIZ arraysize(hinsilist) +static contable jirconlist[] = { + /* Sentou */ + {HN_SENTOU, 0, {0}, 1, {HN_SENTOU}}, + + /* Suuji */ + {HN_SUUJI, 0, {0}, 4, {HN_SENTOU, HN_SUUJI, HN_SUUSHI, HN_SETOSU}}, + + /* Kana */ + {HN_KANA, 0, {0}, 1, {HN_SENTOU}}, + + /* EiSuu */ + {HN_EISUU, 0, {0}, 2, {HN_SENTOU, HN_KIGOU}}, + + /* Kigou */ + {HN_KIGOU, 0, {0}, 3, {HN_SENTOU, HN_EISUU, HN_KIGOU}}, + + /* HeiKakko */ + {HN_HEIKAKKO, 0, {0}, 1, {HN_SENTOU}}, + + /* Fuzokugo */ + {HN_FUZOKUGO, 0, {0}, 1, {HN_SENTOU}}, + + /* KaiKakko */ + {HN_KAIKAKKO, 0, {0}, 1, {HN_SENTOU}}, + + /* Giji */ + {HN_GIJI, 0, {0}, 1, {HN_SENTOU}}, + + /* Meishi */ + {HN_MEISHI, 0, {0}, 3, {HN_SENTOU, HN_SETTOU, HN_SETO_K}}, + + /* Jinmei */ + {HN_JINMEI, 0, {0}, 1, {HN_SENTOU}}, + + /* Chimei */ + {HN_CHIMEI, 0, {0}, 2, {HN_SENTOU, HN_SETOCH}}, + + /* KoyuuMeishi */ + {HN_KOYUU, 0, {0}, 2, {HN_SENTOU, HN_SETTOU}}, + + /* Suushi */ + {HN_SUUSHI, 0, {0}, 4, {HN_SENTOU, HN_SUUJI, HN_SUUSHI, HN_SETOSU}}, + + /* KaDouKan */ + {HN_KA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* GaDouKan */ + {HN_GA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* SaDouKan */ + {HN_SA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* TaDouKan */ + {HN_TA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* NaDouKan */ + {HN_NA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* BaDouKan */ + {HN_BA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* MaDouKan */ + {HN_MA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* RaDouKan */ + {HN_RA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* WaDouKan */ + {HN_WA5DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* 1DouKan */ + {HN_1DOU, 0, {0}, 1, {HN_SENTOU}}, + + /* SaHenDouKan */ + {HN_SAHDOU, 0, {0}, 1, {HN_SENTOU}}, + + /* ZaHenDouKan */ + {HN_ZAHDOU, 0, {0}, 1, {HN_SENTOU}}, + + /* KaDouRenyouKan */ + {HN_KA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* GaDouRenyouKan */ + {HN_GA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* SaDouRenyouKan */ + {HN_SA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* TaDouRenyouKan */ + {HN_TA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* NaDouRenyouKan */ + {HN_NA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* BaDouRenyouKan */ + {HN_BA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* MaDouRenyouKan */ + {HN_MA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* RaDouRenyouKan */ + {HN_RA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* WaDouRenyouKan */ + {HN_WA5YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* 1DouRenyouKan */ + {HN_1YOU, 0, {0}, 1, {HN_SETO_O}}, + + /* SaHenDouRenyouKan */ + {HN_SAHYOU, 0, {0}, 1, {HN_SETO_O}}, + + /* ZaHenDouRenyouKan */ + {HN_ZAHYOU, 0, {0}, 1, {HN_SETO_O}}, + + /* KaGyou(Iku) */ + {HN_KA_IKU, 0, {0}, 1, {HN_SENTOU}}, + + /* Ko(Ko) */ + {HN_KO_KO, 0, {0}, 1, {HN_SENTOU}}, + + /* Ki(Ki) */ + {HN_KI_KI, 0, {0}, 1, {HN_SENTOU}}, + + /* Ku(Ku) */ + {HN_KU_KU, 0, {0}, 1, {HN_SENTOU}}, + + /* SaGyou(Suru)&Meishi */ + {HN_SA_MEI, 0, {0}, 3, {HN_SENTOU, HN_SETTOU, HN_SETO_K}}, + + /* Shi(Shi) */ + {HN_SI_SI, 0, {0}, 1, {HN_SENTOU}}, + + /* Su(Su) */ + {HN_SU_SU, 0, {0}, 1, {HN_SENTOU}}, + + /* Se(Se) */ + {HN_SE_SE, 0, {0}, 1, {HN_SENTOU}}, + + /* RaGyou(Kudasai) */ + {HN_RA_KUD, 0, {0}, 1, {HN_SENTOU}}, + + /* Keiyoushi */ + {HN_KEIYOU, 0, {0}, 2, {HN_SENTOU, HN_SETO_O}}, + + /* KeiyouDoushi */ + {HN_KEIDOU, 0, {0}, 2, {HN_SENTOU, HN_SETO_O}}, + + /* KeiyouDoushi(Taru) */ + {HN_KD_TAR, 0, {0}, 1, {HN_SENTOU}}, + + /* Fukushi */ + {HN_FUKUSI, 0, {0}, 1, {HN_SENTOU}}, + + /* Rentaishi */ + {HN_RENTAI, 0, {0}, 1, {HN_SENTOU}}, + + /* Setsuzokushi,Kandoushi */ + {HN_SETKAN, 0, {0}, 1, {HN_SENTOU}}, + + /* Settougo */ + {HN_SETTOU, 0, {0}, 2, {HN_SENTOU, HN_SETO_K}}, + + /* Setsubigo */ + {HN_SETUBI, 0, {0}, 5, + {HN_KANA, HN_EISUU, HN_MEISHI, HN_KOYUU, HN_SA_MEI}}, + + /* SettouSuushi */ + {HN_SETOSU, 0, {0}, 1, {HN_SENTOU}}, + + /* JoSuushi */ + {HN_JOSUU, 0, {0}, 3, {HN_SUUJI, HN_SUUSHI, HN_SETOJO}}, + + /* SettouJoSuushi */ + {HN_SETOJO, 0, {0}, 2, {HN_SUUJI, HN_SUUSHI}}, + + /* SetsubiJoSuushi */ + {HN_SETUJO, 0, {0}, 3, {HN_SUUJI, HN_SUUSHI, HN_JOSUU}}, + + /* SetsubJinmei */ + {HN_SETUJN, 0, {0}, 1, {HN_JINMEI}}, + + /* SettouChimei */ + {HN_SETOCH, 0, {0}, 1, {HN_SENTOU}}, + + /* SetsubiChimei */ + {HN_SETUCH, 0, {0}, 2, {HN_CHIMEI, HN_SETUCH}}, + + /* Settougo(O) */ + {HN_SETO_O, 0, {0}, 1, {HN_SENTOU}}, + + /* Settougo(Kaku) */ + {HN_SETO_K, 0, {0}, 1, {HN_SENTOU}}, + + /* KeiyouDoushiKaSetsubigo */ + {HN_KD_STB, 0, {0}, 5, + {HN_KANA, HN_EISUU, HN_MEISHI, HN_KOYUU, HN_SA_MEI}}, + + /* Sagyou(Suru)&MeishiKaSetsubigo */ + {HN_SA_M_S, 0, {0}, 5, + {HN_KANA, HN_EISUU, HN_MEISHI, HN_KOYUU, HN_SA_MEI}}, + + /* SetsubiDoushi */ + {HN_SETUDO, 0, {0}, 27, + {HN_1DOU, HN_KI_KI, HN_SI_SI, FZ_I4, FZ_I8, FZ_KANE, FZ_GARI, FZ_KI4, + FZ_KI6, FZ_GI, FZ_KURE3, FZ_SASE, FZ_SARE, FZ_SHI4, FZ_SHI7, + FZ_SHIME, FZ_JI2, FZ_SE4, FZ_CHI, FZ_DEKI, FZ_NI3, FZ_BI, FZ_MI, + FZ_MI3, FZ_RARE, FZ_RI2, FZ_RE5}}, + + /* KeiyoushiKaSetsubiDoushi */ + {HN_KE_SED, 0, {0}, 27, + {HN_1DOU, HN_KI_KI, HN_SI_SI, FZ_I4, FZ_I8, FZ_KANE, FZ_GARI, FZ_KI4, + FZ_KI6, FZ_GI, FZ_KURE3, FZ_SASE, FZ_SARE, FZ_SHI4, FZ_SHI7, + FZ_SHIME, FZ_JI2, FZ_SE4, FZ_CHI, FZ_DEKI, FZ_NI3, FZ_BI, FZ_MI, + FZ_MI3, FZ_RARE, FZ_RI2, FZ_RE5}}, +}; +#define JIRCONLISTSIZ arraysize(jirconlist) +static contable conlist[] = { + /* KeiDouTai-Na */ + {FZ_NA, 1, {0x244a}, 7, + {HN_KANA, HN_EISUU, HN_KEIDOU, HN_KD_STB, FZ_SOU2, FZ_MITAI, + FZ_YOU2}}, + + /* JoDou-Da-Tai-Na */ + {FZ_NA2, 1, {0x244a}, 51, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_SA_MEI, + HN_FUKUSI, HN_SETUBI, HN_JOSUU, HN_SETOJO, HN_SETUJO, HN_SETUJN, + HN_SETUCH, HN_SA_M_S, HN_SETUDO, FZ_I4, FZ_KA3, FZ_KARA2, FZ_GARI, + FZ_KI, FZ_KI4, FZ_KIRI, FZ_GI, FZ_KURAI, FZ_GURAI, FZ_GE2, FZ_KOSO, + FZ_SA3, FZ_SHI4, FZ_ZUTSU, FZ_DAKE, FZ_CHI, FZ_NAZO, FZ_NADO, FZ_NI3, + FZ_NOMI, FZ_BAKARI, FZ_BI, FZ_HODO, FZ_MADE, FZ_MI, FZ_MI4, FZ_ME2, + FZ_YUE, FZ_RI2}}, + + /* KeiDou,JoDou-Da-Shi */ + {FZ_DA, 1, {0x2440}, 71, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_1YOU, + HN_SA_MEI, HN_KEIDOU, HN_FUKUSI, HN_SETUBI, HN_JOSUU, HN_SETOJO, + HN_SETUJO, HN_SETUJN, HN_SETUCH, HN_KD_STB, HN_SA_M_S, HN_SETUDO, + FZ_I4, FZ_I5, FZ_KA3, FZ_KARA2, FZ_GARI, FZ_GARI2, FZ_KI, FZ_KI4, + FZ_KI5, FZ_KIRI, FZ_GI, FZ_GI2, FZ_KURAI, FZ_GURAI, FZ_GE2, FZ_KOSO, + FZ_SA3, FZ_SHI4, FZ_SHI5, FZ_SHI6, FZ_JI, FZ_ZUTSU, FZ_SOU2, FZ_DAKE, + FZ_CHI, FZ_CHI2, FZ_NAZO, FZ_NADO, FZ_NI3, FZ_NI4, FZ_NI6, FZ_NO2, + FZ_NOMI, FZ_BAKARI, FZ_BI, FZ_BI2, FZ_HODO, FZ_MADE, FZ_MI, FZ_MI2, + FZ_MI4, FZ_MITAI, FZ_ME2, FZ_YUE, FZ_YOU2, FZ_RI2, FZ_RI3}}, + + /* KeiDou,JoDou-Da-Ka */ + {FZ_NARA, 2, {0x244a, 0x2469}, 102, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_1YOU, + HN_SA_MEI, HN_KEIDOU, HN_FUKUSI, HN_SETUBI, HN_JOSUU, HN_SETOJO, + HN_SETUJO, HN_SETUJN, HN_SETUCH, HN_KD_STB, HN_SA_M_S, HN_SETUDO, + FZ_I, FZ_I4, FZ_I5, FZ_I7, FZ_IKU, FZ_U3, FZ_OKU, FZ_ORU, FZ_KA3, + FZ_KARA2, FZ_GARI, FZ_GARI2, FZ_GARU, FZ_KI, FZ_KI4, FZ_KI5, FZ_KIRI, + FZ_GI, FZ_GI2, FZ_KU3, FZ_KURAI, FZ_KURU, FZ_GU, FZ_GURAI, FZ_GE2, + FZ_KOSO, FZ_SA3, FZ_SHI4, FZ_SHI5, FZ_SHI6, FZ_SHIMAU, FZ_JI, + FZ_JIRU, FZ_SU2, FZ_SU3, FZ_SURU, FZ_ZUTSU, FZ_ZURU, FZ_SOU2, FZ_TA, + FZ_DA2, FZ_DAKE, FZ_CHI, FZ_CHI2, FZ_TSU, FZ_TO, FZ_TO4, FZ_NAZO, + FZ_NADO, FZ_NARU2, FZ_NI, FZ_NI3, FZ_NI4, FZ_NI6, FZ_NU2, FZ_NO2, + FZ_NOMI, FZ_BAKARI, FZ_BI, FZ_BI2, FZ_BU, FZ_HODO, FZ_MADE, FZ_MI, + FZ_MI2, FZ_MI4, FZ_MITAI, FZ_MU, FZ_ME2, FZ_YARU, FZ_YUE, FZ_YOU2, + FZ_YORU, FZ_RI2, FZ_RI3, FZ_RU, FZ_RU2, FZ_RU3}}, + {FZ_RA, 1, {0x2469}, 2, {FZ_TA, FZ_DA2}}, + + /* KeiDouYou1-2-Ni */ + {FZ_NI, 1, {0x244b}, 6, + {HN_KEIDOU, HN_KD_STB, FZ_GE2, FZ_MITAI, FZ_ME2, FZ_YOU2}}, + {FZ_TO, 1, {0x2448}, 1, {HN_KD_TAR}}, + + /* YoutaiJoDou-Souda-You-Ni */ + {FZ_NI2, 1, {0x244b}, 1, {FZ_SOU2}}, + + /* KeiDou,JoDou-Da-You1-1-De */ + {FZ_DE, 1, {0x2447}, 71, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_1YOU, + HN_SA_MEI, HN_KEIDOU, HN_FUKUSI, HN_SETUBI, HN_JOSUU, HN_SETOJO, + HN_SETUJO, HN_SETUJN, HN_SETUCH, HN_KD_STB, HN_SA_M_S, HN_SETUDO, + FZ_I4, FZ_I5, FZ_KA3, FZ_KARA2, FZ_GARI, FZ_GARI2, FZ_KI, FZ_KI4, + FZ_KI5, FZ_KIRI, FZ_GI, FZ_GI2, FZ_KURAI, FZ_GURAI, FZ_GE2, FZ_KOSO, + FZ_SA3, FZ_SHI4, FZ_SHI5, FZ_SHI6, FZ_JI, FZ_ZUTSU, FZ_SOU2, FZ_DAKE, + FZ_CHI, FZ_CHI2, FZ_NAZO, FZ_NADO, FZ_NI3, FZ_NI4, FZ_NI6, FZ_NO2, + FZ_NOMI, FZ_BAKARI, FZ_BI, FZ_BI2, FZ_HODO, FZ_MADE, FZ_MI, FZ_MI2, + FZ_MI4, FZ_MITAI, FZ_ME2, FZ_YUE, FZ_YOU2, FZ_RI2, FZ_RI3}}, + + /* DoDou-Desu-ShiTai */ + {FZ_SU, 1, {0x2439}, 1, {FZ_DE3}}, + + /* Tari-KeiDou,JoDou-Taru,Aru-Mi */ + {FZ_RA2, 1, {0x2469}, 1, {FZ_A}}, + {FZ_TARA, 2, {0x243f, 0x2469}, 35, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_SA_MEI, + HN_KD_TAR, HN_SETUBI, HN_JOSUU, HN_SETOJO, HN_SETUJO, HN_SETUJN, + HN_SETUCH, HN_SA_M_S, HN_SETUDO, FZ_I4, FZ_GARI, FZ_KI4, FZ_GI, + FZ_GE2, FZ_SA3, FZ_SHI4, FZ_CHI, FZ_NI3, FZ_BI, FZ_MI, FZ_MI4, + FZ_ME2, FZ_RI2}}, + + /* Tari-KeiDouYouShi */ + {FZ_TARI, 2, {0x243f, 0x246a}, 1, {HN_KD_TAR}}, + + /* Tari-KeiDou,JoDou-NaruTaru-MiMei */ + {FZ_NARE, 2, {0x244a, 0x246c}, 35, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_SA_MEI, + HN_KEIDOU, HN_SETUBI, HN_JOSUU, HN_SETOJO, HN_SETUJO, HN_SETUJN, + HN_SETUCH, HN_SA_M_S, HN_SETUDO, FZ_I4, FZ_GARI, FZ_KI4, FZ_GI, + FZ_GE2, FZ_SA3, FZ_SHI4, FZ_CHI, FZ_NI3, FZ_BI, FZ_MI, FZ_MI4, + FZ_ME2, FZ_RI2}}, + {FZ_TARE, 2, {0x243f, 0x246c}, 35, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_SA_MEI, + HN_KD_TAR, HN_SETUBI, HN_JOSUU, HN_SETOJO, HN_SETUJO, HN_SETUJN, + HN_SETUCH, HN_SA_M_S, HN_SETUDO, FZ_I4, FZ_GARI, FZ_KI4, FZ_GI, + FZ_GE2, FZ_SA3, FZ_SHI4, FZ_CHI, FZ_NI3, FZ_BI, FZ_MI, FZ_MI4, + FZ_ME2, FZ_RI2}}, + + /* JoDou-Naru-Tai */ + {FZ_NARU, 2, {0x244a, 0x246b}, 35, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_SA_MEI, + HN_KEIDOU, HN_SETUBI, HN_JOSUU, HN_SETOJO, HN_SETUJO, HN_SETUJN, + HN_SETUCH, HN_SA_M_S, HN_SETUDO, FZ_I4, FZ_GARI, FZ_KI4, FZ_GI, + FZ_GE2, FZ_SA3, FZ_SHI4, FZ_CHI, FZ_NI3, FZ_BI, FZ_MI, FZ_MI4, + FZ_ME2, FZ_RI2}}, + + /* Tari-KeiDou,JoDou-Taru-Tai */ + {FZ_TARU, 2, {0x243f, 0x246b}, 35, + {HN_SUUJI, HN_KANA, HN_EISUU, HN_KIGOU, HN_HEIKAKKO, HN_GIJI, + HN_MEISHI, HN_JINMEI, HN_CHIMEI, HN_KOYUU, HN_SUUSHI, HN_SA_MEI, + HN_KD_TAR, HN_SETUBI, HN_JOSUU, HN_SETOJO, HN_SETUJO, HN_SETUJN, + HN_SETUCH, HN_SA_M_S, HN_SETUDO, FZ_I4, FZ_GARI, FZ_KI4, FZ_GI, + FZ_GE2, FZ_SA3, FZ_SHI4, FZ_CHI, FZ_NI3, FZ_BI, FZ_MI, FZ_MI4, + FZ_ME2, FZ_RI2}}, + + /* JoDou-Masu-Ka-Sure */ + {FZ_SURE, 2, {0x2439, 0x246c}, 1, {FZ_MA3}}, + + /* JoDou-Masu-ShiTai */ + {FZ_SU2, 1, {0x2439}, 1, {FZ_MA3}}, + + /* JoDou-Masu-Mi1Mei-Se */ + {FZ_SE, 1, {0x243b}, 1, {FZ_MA3}}, + + /* JoDou-Mai-ShiTai */ + {FZ_MAI, 2, {0x245e, 0x2424}, 54, + {HN_1DOU, HN_SI_SI, FZ_I8, FZ_IKU, FZ_IKE, FZ_U3, FZ_E, FZ_OKU, + FZ_OKE, FZ_ORU, FZ_ORE, FZ_KANE, FZ_GARU, FZ_GARE, FZ_KU3, FZ_KURU, + FZ_KURE3, FZ_GU, FZ_KE, FZ_GE, FZ_SASE, FZ_SARE, FZ_SHI7, FZ_SHIMAU, + FZ_SHIMAE, FZ_SHIME, FZ_JI2, FZ_JIRU, FZ_SU2, FZ_SU3, FZ_SURU, + FZ_ZURU, FZ_SE2, FZ_SE4, FZ_TSU, FZ_TE, FZ_DEKI, FZ_NARU2, FZ_NARE2, + FZ_NU2, FZ_NE, FZ_BU, FZ_BE, FZ_MI3, FZ_MU, FZ_ME, FZ_YARU, FZ_YARE, + FZ_YORU, FZ_RARE, FZ_RU, FZ_RU2, FZ_RE2, FZ_RE5}}, + + /* JoDou-Beshi-Tai-Ki */ + {FZ_KI, 1, {0x242d}, 3, {FZ_SUBE, FZ_ZUBE, FZ_BE2}}, + + /* JoDou-Beshi-Shi */ + {FZ_SHI, 1, {0x2437}, 3, {FZ_SUBE, FZ_ZUBE, FZ_BE2}}, + + /* JoDou-Beshi-You1-Ku */ + {FZ_KU, 1, {0x242f}, 3, {FZ_SUBE, FZ_ZUBE, FZ_BE2}}, + + /* JoDou-N-Shi2Tai2-Nu */ + {FZ_NU, 1, {0x244c}, 53, + {HN_1DOU, HN_KO_KO, HN_SE_SE, FZ_I8, FZ_IKA, FZ_IKE, FZ_E, FZ_OKA, + FZ_OKE, FZ_ORA, FZ_ORE, FZ_KA, FZ_KANE, FZ_GA, FZ_GARA, FZ_GARE, + FZ_KURE3, FZ_KE, FZ_GE, FZ_KO2, FZ_SA, FZ_SASE, FZ_SARE, FZ_SHIMAE, + FZ_SHIMAWA, FZ_SHIME, FZ_SE, FZ_SE2, FZ_SE3, FZ_SE4, FZ_ZE, FZ_TA2, + FZ_TARA, FZ_TE, FZ_DEKI, FZ_NA3, FZ_NARA2, FZ_NARE2, FZ_NE, FZ_BA, + FZ_BE, FZ_MA, FZ_MI3, FZ_ME, FZ_YARA, FZ_YARE, FZ_YORA, FZ_RA2, + FZ_RA3, FZ_RARE, FZ_RE2, FZ_RE5, FZ_WA}}, + + /* JoDou-N-You2-Tai1 */ + {FZ_N, 1, {0x2473}, 53, + {HN_1DOU, HN_KO_KO, HN_SE_SE, FZ_I8, FZ_IKA, FZ_IKE, FZ_E, FZ_OKA, + FZ_OKE, FZ_ORA, FZ_ORE, FZ_KA, FZ_KANE, FZ_GA, FZ_GARA, FZ_GARE, + FZ_KURE3, FZ_KE, FZ_GE, FZ_KO2, FZ_SA, FZ_SASE, FZ_SARE, FZ_SHIMAE, + FZ_SHIMAWA, FZ_SHIME, FZ_SE, FZ_SE2, FZ_SE3, FZ_SE4, FZ_ZE, FZ_TA2, + FZ_TARA, FZ_TE, FZ_DEKI, FZ_NA3, FZ_NARA2, FZ_NARE2, FZ_NE, FZ_BA, + FZ_BE, FZ_MA, FZ_MI3, FZ_ME, FZ_YARA, FZ_YARE, FZ_YORA, FZ_RA2, + FZ_RA3, FZ_RARE, FZ_RE2, FZ_RE5, FZ_WA}}, + + /* JoDou-Nai-ShiTai */ + {FZ_I, 1, {0x2424}, 2, {FZ_NA5, FZ_YASHINA}}, + + /* JoDou-Ta,Da-ShiTai */ + {FZ_TA, 1, {0x243f}, 51, + {HN_1DOU, HN_KI_KI, HN_SI_SI, FZ_I3, FZ_I8, FZ_IKE, FZ_IXTSU, FZ_E, + FZ_OI, FZ_OKE, FZ_OXTSU, FZ_ORE, FZ_KAXTSU, FZ_KAXTSU2, FZ_KANE, + FZ_GAXTSU, FZ_GARE, FZ_KI6, FZ_KURE3, FZ_KE, FZ_GE, FZ_SASE, FZ_SARE, + FZ_SHI3, FZ_SHI7, FZ_SHIMAE, FZ_SHIMAXTSU, FZ_SHIME, FZ_JI2, FZ_SE2, + FZ_SE4, FZ_DAXTSU, FZ_XTSU, FZ_XTSU2, FZ_TE, FZ_TE2, FZ_DE4, FZ_DEKI, + FZ_DESHI, FZ_NAXTSU, FZ_NARE2, FZ_NE, FZ_BE, FZ_MI3, FZ_ME, + FZ_YAXTSU, FZ_YARE, FZ_YOXTSU, FZ_RARE, FZ_RE2, FZ_RE5}}, + {FZ_DA2, 1, {0x2440}, 2, {FZ_I2, FZ_N2}}, + + /* JoDouDenBun-Soudesu,Denbun-Souda-Shi */ + {FZ_DESU, 2, {0x2447, 0x2439}, 1, {FZ_SOU}}, + {FZ_DA3, 1, {0x2440}, 1, {FZ_SOU}}, + + /* Denbun-Souda-You1-Soude */ + {FZ_DE2, 1, {0x2447}, 1, {FZ_SOU}}, + + /* JoDou-Zu-YouShiKa-Zu */ + {FZ_ZU, 1, {0x243a}, 53, + {HN_1DOU, HN_KO_KO, HN_SE_SE, FZ_I8, FZ_IKA, FZ_IKE, FZ_E, FZ_OKA, + FZ_OKE, FZ_ORA, FZ_ORE, FZ_KA, FZ_KANE, FZ_KARA, FZ_GA, FZ_GARA, + FZ_GARE, FZ_KURE3, FZ_KE, FZ_GE, FZ_KO2, FZ_SA, FZ_SASE, FZ_SARE, + FZ_SHIMAE, FZ_SHIMAWA, FZ_SHIME, FZ_SE2, FZ_SE3, FZ_SE4, FZ_ZE, + FZ_TA2, FZ_TARA, FZ_TE, FZ_DEKI, FZ_NA3, FZ_NARA2, FZ_NARE2, FZ_NE, + FZ_BA, FZ_BE, FZ_MA, FZ_MI3, FZ_ME, FZ_YARA, FZ_YARE, FZ_YORA, + FZ_RA2, FZ_RA3, FZ_RARE, FZ_RE2, FZ_RE5, FZ_WA}}, + + /* JoDou-Zu-Ka-Zun */ + {FZ_ZUN, 2, {0x243a, 0x2473}, 53, + {HN_1DOU, HN_KO_KO, HN_SE_SE, FZ_I8, FZ_IKA, FZ_IKE, FZ_E, FZ_OKA, + FZ_OKE, FZ_ORA, FZ_ORE, FZ_KA, FZ_KANE, FZ_KARA, FZ_GA, FZ_GARA, + FZ_GARE, FZ_KURE3, FZ_KE, FZ_GE, FZ_KO2, FZ_SA, FZ_SASE, FZ_SARE, + FZ_SHIMAE, FZ_SHIMAWA, FZ_SHIME, FZ_SE2, FZ_SE3, FZ_SE4, FZ_ZE, + FZ_TA2, FZ_TARA, FZ_TE, FZ_DEKI, FZ_NA3, FZ_NARA2, FZ_NARE2, FZ_NE, + FZ_BA, FZ_BE, FZ_MA, FZ_MI3, FZ_ME, FZ_YARA, FZ_YARE, FZ_YORA, + FZ_RA2, FZ_RA3, FZ_RARE, FZ_RE2, FZ_RE5, FZ_WA}}, + + /* JoDou-Zu-Tai-Zaru */ + {FZ_ZARU, 2, {0x2436, 0x246b}, 53, + {HN_1DOU, HN_KO_KO, HN_SE_SE, FZ_I8, FZ_IKA, FZ_IKE, FZ_E, FZ_OKA, + FZ_OKE, FZ_ORA, FZ_ORE, FZ_KA, FZ_KANE, FZ_KARA, FZ_GA, FZ_GARA, + FZ_GARE, FZ_KURE3, FZ_KE, FZ_GE, FZ_KO2, FZ_SA, FZ_SASE, FZ_SARE, + FZ_SHIMAE, FZ_SHIMAWA, FZ_SHIME, FZ_SE2, FZ_SE3, FZ_SE4, FZ_ZE, + FZ_TA2, FZ_TARA, FZ_TE, FZ_DEKI, FZ_NA3, FZ_NARA2, FZ_NARE2, FZ_NE, + FZ_BA, FZ_BE, FZ_MA, FZ_MI3, FZ_ME, FZ_YARA, FZ_YARE, FZ_YORA, + FZ_RA2, FZ_RA3, FZ_RARE, FZ_RE2, FZ_RE5, FZ_WA}}, + + /* JoDou-Gotoshi-Tai-Gotoku */ + {FZ_KU2, 1, {0x242f}, 1, {FZ_GOTO}}, + + /* JoDou-Gotoshi-You-Gotoku */ + {FZ_KI2, 1, {0x242d}, 1, {FZ_GOTO}}, + + /* JoDou-You,U-ShiTai */ + {FZ_YOU, 2, {0x2468, 0x2426}, 35, + {HN_1DOU, HN_KO_KO, HN_SI_SI, FZ_I8, FZ_IKE, FZ_E, FZ_OKE, FZ_ORE, + FZ_KANE, FZ_GARE, FZ_KURE3, FZ_KE, FZ_GE, FZ_KO2, FZ_SASE, FZ_SARE, + FZ_SHI7, FZ_SHIMAE, FZ_SHIME, FZ_JI2, FZ_SE2, FZ_SE4, FZ_TE, FZ_TE2, + FZ_DE4, FZ_DEKI, FZ_NARE2, FZ_NE, FZ_BE, FZ_MI3, FZ_ME, FZ_YARE, + FZ_RARE, FZ_RE2, FZ_RE5}}, + {FZ_U, 1, {0x2426}, 17, + {FZ_IKO, FZ_O, FZ_OKO, FZ_ORO, FZ_GARO, FZ_KO, FZ_GO, FZ_SHIMAO, SHAR_EOF : || $echo 'restore of' 'FD-2.09.patch' 'failed' fi $echo 'End of' 'FD-2.09.patch' 'part' '7' $echo 'File' 'FD-2.09.patch' 'is continued in part' '8' echo 8 > _sh00904/seq exit 0 -- しらい たかし