C++漢字ピンインの扱いについて

432653 ワード

以前3つの博文を書いたことがあって、すべて漢字のピンインについてで、それからすべてとても“完璧です”の解決策ではないことを発見して、1つ目と2つ目の利用するunicode符号化の範囲は漢字のピンインを確定して、しかしどうしても漏れがあって、これは後の実践の中で発見して、それから3つ目の方法は漢字を貧乏に挙げて漢字のピンインを獲得して、修正はされていますが、私はその中に含まれているマイクロワードライブラリに疑問を持っています.すべての漢字を含んでいるかどうか、漏れていないかどうか、繁体字をサポートしていないかどうか、これらの特徴は過去になることに決まっていますが、それが私に与えた啓発は巨大で、この終結編があります.
 
この終結方法の本質はすべての漢字を窮挙して処理することである.
ライブラリのソース:http://xh.5156edu.com/pinyi.html(新華字典)
この漢字の処理方法の特徴:
1.よく維持して、よく進級します:新華字典に依存して、字典は進級して、字庫は進級します
2.権威:新華字典、中国人はすべて使ったことがあって何も言うことはありません
3.簡単:コードがはっきりしていて、簡単で、使いやすい
4.短くて精悍:マイクロワードライブラリ、コードは数百行
 
このライブラリを実際に使用する効果:
文字列:捜索の法律は地方が飛行機に乗って餓死したのです;ロシアの誰が大きいのか、ijfsの古い地方司法を浪費するのは低級な部屋ですね.
変換後:soudefalüshidefangshangliaofeijiesi;liaoefangsheiju,elangfeiijfslaodefangsifashidijifangjianainimendjkjfdjf
 
ライブラリのソースコード:
  1 //data source by http://xh.5156edu.com/pinyi.html

  2 const HanziInfo HanziInfoTable[] = {

  3     { L"a", L"a", L"a;ā;á;ǎ;à;;", L"1;1;1;1;1;0;", L"1;7;2;2;2;0;", L" ;       ;  ;  ;  ;;" },

  4     { L"a", L"ai", L"ai;āi;ái;ǎi;ài;;", L"1;1;1;1;1;0;", L"4;11;12;15;35;0;", L"    ;           ;            ;               ;                                   ;;" },

  5     { L"a", L"an", L";ān;án;ǎn;àn;;", L"0;1;1;1;1;0;", L"0;29;4;9;18;0;", L";                             ;    ;         ;                  ;;" },

  6     { L"a", L"ang", L";āng;áng;;àng;;", L"0;1;1;0;1;0;", L"0;2;5;0;3;0;", L";  ;     ;;   ;;" },

  7     { L"a", L"ao", L"ao;āo;áo;ǎo;ào;;", L"1;1;1;1;1;0;", L"2;6;29;10;19;0;", L"  ;      ;                             ;          ;                   ;;" },

  8     { L"b", L"ba", L"ba;;bá;bǎ;;;", L"1;0;1;1;0;0;", L"3;0;14;4;0;0;", L"   ;;              ;                         ;;;" },

  9     { L"b", L"bai", L"bai;bāi;bái;bǎi;bài;;", L"1;1;1;1;1;0;", L"4;2;2;11;12;0;", L"    ;  ;  ;           ;            ;;" },

 10     { L"b", L"ban", L"ban;;;bǎn;bàn;;", L"1;0;0;1;1;0;", L"1;0;0;14;17;0;", L" ;;;              ;                 ;;" },

 11     { L"b", L"bang", L";bāng;;bǎng;bàng;;", L"0;1;0;1;1;0;", L"0;12;0;5;20;0;", L";            ;;     ;                    ;;" },

 12     { L"b", L"bao", L"bao;bāo;báo;bǎo;bào;;", L"1;1;1;1;1;0;", L"2;18;3;23;26;0;", L"  ;                  ;   ;                       ;                          ;;" },

 13     { L"b", L"bei", L"bei;bēi;;běi;bèi;;", L"1;1;0;1;1;0;", L"1;14;0;2;46;0;", L" ;              ;;  ;                                              ;;" },

 14     { L"b", L"ben", L";bēn;;běn;bèn;;", L"0;1;0;1;1;0;", L"0;6;0;6;10;0;", L";      ;;      ;          ;;" },

 15     { L"b", L"beng", L";bēng;béng;běng;bèng;;", L"0;1;1;1;1;0;", L"0;12;2;7;11;0;", L";            ;  ;       ;           ;;" },

 16     { L"b", L"bi", L"bi;bī;bí;bǐ;bì;;", L"1;1;1;1;1;0;", L"3;13;2;23;128;0;", L"   ;             ;  ;                       ;                                                                                                                                ;;" },

 17     { L"b", L"bian", L"bian;biān;;biǎn;biàn;;", L"1;1;0;1;1;0;", L"1;24;0;12;30;0;", L" ;                        ;;            ;                              ;;" },

 18     { L"b", L"biao", L"biao;biāo;biáo;;biào;;", L"1;1;1;0;1;0;", L"1;42;1;0;3;0;", L" ;                                          ;        ;;   ;;" },

 19     { L"b", L"bie", L";biē;bié;biě;biè;;", L"0;1;1;1;1;0;", L"0;9;7;1;2;0;", L";         ;       ; ;  ;;" },

 20     { L"b", L"bin", L";bīn;;;bìn;;", L"0;1;0;0;1;0;", L"0;31;0;0;12;0;", L";                               ;;;            ;;" },

 21     { L"b", L"bing", L"bing;bīng;;bǐng;bìng;;", L"1;1;0;1;1;0;", L"2;10;0;26;15;0;", L"  ;          ;;                          ;               ;;" },

 22     { L"b", L"bo", L"bo;;bó;bǒ;bò;;", L"1;0;1;1;1;0;", L"2;0;69;3;8;0;", L"  ;;                                                                     ;   ;        ;;" },

 23     { L"b", L"bu", L"bu;bū;bú;bǔ;bù;;", L"1;1;1;1;1;0;", L"1;9;3;9;28;0;", L" ;         ;   ;         ;                            ;;" },

 24     { L"c", L"ca", L"ca;cā;;cǎ;cà;;", L"1;1;0;1;1;0;", L"1;4;0;2;1;0;", L" ;    ;;  ; ;;" },

 25     { L"c", L"cai", L";cāi;cái;cǎi;cài;;", L"0;1;1;1;1;0;", L"0;2;6;14;5;0;", L";  ;      ;              ;     ;;" },

 26     { L"c", L"can", L"can;cān;cán;cǎn;càn;;", L"1;1;1;1;1;0;", L"2;12;9;9;9;0;", L"  ;            ;         ;        ;         ;;" },

 27     { L"c", L"cang", L"cang;cāng;cáng;;càng;;", L"1;1;1;0;1;0;", L"1;18;3;0;1;0;", L" ;                 ;   ;; ;;" },

 28     { L"c", L"cao", L";cāo;cáo;cǎo;cào;;", L"0;1;1;1;1;0;", L"0;3;12;5;4;0;", L";   ;            ;     ;    ;;" },

 29     { L"c", L"ce", L"ce;;;;cè;;", L"1;0;0;0;1;0;", L"2;0;0;0;26;0;", L"  ;;;;                          ;;" },

 30     { L"c", L"cen", L";cēn;cén;;;;", L"0;1;1;0;0;0;", L"0;2;5;0;0;0;", L";  ;     ;;;;" },

 31     { L"c", L"ceng", L";cēng;céng;;cèng;;", L"0;1;1;0;1;0;", L"0;1;6;0;1;0;", L"; ;      ;; ;;" },

 32     { L"c", L"cha", L";chā;chá;chǎ;chà;;", L"0;1;1;1;1;0;", L"0;21;17;5;15;0;", L";                     ;                 ;     ;               ;;" },

 33     { L"c", L"chai", L";chāi;chái;chǎi;chài;;", L"0;1;1;1;1;0;", L"0;6;7;1;7;0;", L";      ;       ; ;       ;;" },

 34     { L"c", L"chan", L";chān;chán;chǎn;chàn;;", L"0;1;1;1;1;0;", L"0;12;46;32;10;0;", L";            ;                                              ;                                ;          ;;" },

 35     { L"c", L"chang", L"chang;chāng;cháng;chǎng;chàng;;", L"1;1;1;1;1;0;", L"2;17;29;10;12;0;", L"  ;                 ;                             ;          ;            ;;" },

 36     { L"c", L"chao", L";chāo;cháo;chǎo;chào;;", L"0;1;1;1;1;0;", L"0;13;16;7;4;0;", L";             ;                ;       ;    ;;" },

 37     { L"c", L"che", L";chē;;chě;chè;;", L"0;1;0;1;1;0;", L"0;9;0;4;15;0;", L";         ;;    ;               ;;" },

 38     { L"c", L"chen", L"chen;chēn;chén;chěn;chèn;;", L"1;1;1;1;1;0;", L"1;11;34;9;15;0;", L" ;           ;                                  ;         ;               ;;" },

 39     { L"c", L"cheng", L"cheng;chēng;chéng;chěng;chèng;;", L"1;1;1;1;1;0;", L"1;37;49;9;3;0;", L" ;                                     ;                                                 ;         ;   ;;" },

 40     { L"c", L"chi", L"chi;chī;chí;chǐ;chì;;", L"1;1;1;1;1;0;", L"1;31;26;22;38;0;", L" ;                               ;                          ;                      ;                                      ;;" },

 41     { L"c", L"chong", L";chōng;chóng;chǒng;chòng;;", L"0;1;1;1;1;0;", L"0;18;12;3;5;0;", L";                  ;            ;   ;     ;;" },

 42     { L"c", L"chou", L"chou;chōu;chóu;chǒu;chòu;;", L"1;1;1;1;1;0;", L"1;8;38;10;4;0;", L" ;       ;                                     ;          ;    ;;" },

 43     { L"c", L"chu", L"chu;chū;chú;chǔ;chù;;", L"1;1;1;1;1;0;", L"3;7;30;15;32;0;", L"   ;       ;                              ;               ;                                ;;" },

 44     { L"c", L"chua", L";chuā;;;;;", L"0;1;0;0;0;0;", L"0;1;0;0;0;0;", L"; ;;;;;" },

 45     { L"c", L"chuai", L";chuāi;chuái;chuǎi;chuài;;", L"0;1;1;1;1;0;", L"0;2;1;1;7;0;", L";  ; ; ;     ;;" },

 46     { L"c", L"chuan", L";chuān;chuán;chuǎn;chuàn;;", L"0;1;1;1;1;0;", L"0;5;11;6;8;0;", L";     ;           ;      ;        ;;" },

 47     { L"c", L"chuang", L";chuāng;chuáng;chuǎng;chuàng;;", L"0;1;1;1;1;0;", L"0;10;4;4;7;0;", L";          ;    ;    ;       ;;" },

 48     { L"c", L"chui", L";chuī;chuí;;;;", L"0;1;1;0;0;0;", L"0;3;18;0;0;0;", L";   ;                  ;;;;" },

 49     { L"c", L"chun", L";chūn;chún;chǔn;;;", L"0;1;1;1;0;0;", L"0;18;20;6;0;0;", L";                 ;                    ;      ;;;" },

 50     { L"c", L"chuo", L";chuō;;;chuò;;", L"0;1;0;0;1;0;", L"0;5;0;0;24;0;", L";     ;;;                        ;;" },

 51     { L"c", L"ci", L"ci;cī;cí;cǐ;cì;;", L"1;1;1;1;1;0;", L"1;13;29;7;15;0;", L" ;             ;                             ;       ;               ;;" },

 52     { L"c", L"cong", L";cōng;cóng;;còng;;", L"0;1;1;0;1;0;", L"0;36;23;0;3;0;", L";                                    ;                       ;;   ;;" },

 53     { L"c", L"cou", L";;;;còu;;", L"0;0;0;0;1;0;", L"0;0;0;0;6;0;", L";;;;      ;;" },

 54     { L"c", L"cu", L";cū;cú;;cù;;", L"0;1;1;0;1;0;", L"0;7;2;0;24;0;", L";       ;  ;;                        ;;" },

 55     { L"c", L"cuan", L";cuān;cuán;;cuàn;;", L"0;1;1;0;1;0;", L"0;7;6;0;8;0;", L";       ;      ;;        ;;" },

 56     { L"c", L"cui", L";cuī;;cuǐ;cuì;;", L"0;1;0;1;1;0;", L"0;15;0;4;28;0;", L";               ;;    ;                            ;;" },

 57     { L"c", L"cun", L"cun;cūn;cún;cǔn;cùn;;", L"1;1;1;1;1;0;", L"1;8;4;2;1;0;", L" ;        ;    ;  ; ;;" },

 58     { L"c", L"cuo", L";cuō;cuó;cuǒ;cuò;;", L"0;1;1;1;1;0;", L"0;8;12;1;14;0;", L";        ;            ; ;              ;;" },

 59     { L"d", L"da", L"da;dā;dá;dǎ;dà;;", L"1;1;1;1;1;0;", L"4;13;33;1;5;0;", L"    ;             ;                                 ; ;     ;;" },

 60     { L"d", L"dai", L";dāi;;dǎi;dài;;", L"0;1;0;1;1;0;", L"0;5;0;4;47;0;", L";     ;;    ;                                               ;;" },

 61     { L"d", L"dan", L";dān;;dǎn;dàn;;", L"0;1;0;1;1;0;", L"0;30;0;20;50;0;", L";                              ;;                    ;                                                  ;;" },

 62     { L"d", L"dang", L";dāng;;dǎng;dàng;;", L"0;1;0;1;1;0;", L"0;16;0;10;29;0;", L";                ;;          ;                             ;;" },

 63     { L"d", L"dao", L"dao;dāo;dáo;dǎo;dào;;", L"1;1;1;1;1;0;", L"3;11;1;19;23;0;", L"   ;           ; ;                   ;                       ;;" },

 64     { L"d", L"de", L"de;dē;dé;;;;", L"1;1;1;0;0;0;", L"4;1;10;0;0;0;", L"    ; ;          ;;;;" },

 65     { L"d", L"dei", L";dēi;;děi;;;", L"0;1;0;1;0;0;", L"0;1;0;1;0;0;", L"; ;; ;;;" },

 66     { L"d", L"den", L";;;;dèn;;", L"0;0;0;0;1;0;", L"0;0;0;0;2;0;", L";;;;  ;;" },

 67     { L"d", L"deng", L"deng;dēng;;děng;dèng;;", L"1;1;0;1;1;0;", L"1;11;0;2;14;0;", L" ;           ;;  ;              ;;" },

 68     { L"d", L"di", L"di;dī;dí;dǐ;dì;;", L"1;1;1;1;1;0;", L"1;20;35;23;54;0;", L" ;                    ;                                   ;                       ;                                                      ;;" },

 69     { L"d", L"dia", L";;;diǎ;;;", L"0;0;0;1;0;0;", L"0;0;0;1;0;0;", L";;; ;;;" },

 70     { L"d", L"dian", L"dian;diān;;diǎn;diàn;;", L"1;1;0;1;1;0;", L"1;20;0;10;28;0;", L" ;                    ;;          ;                            ;;" },

 71     { L"d", L"diao", L";diāo;;diǎo;diào;;", L"0;1;0;1;1;0;", L"0;23;0;3;25;0;", L";                       ;;   ;                         ;;" },

 72     { L"d", L"die", L"die;diē;dié;;diè;;", L"1;1;1;0;1;0;", L"1;3;52;0;1;0;", L" ;   ;                                                    ;; ;;" },

 73     { L"d", L"ding", L";dīng;;dǐng;dìng;;", L"0;1;0;1;1;0;", L"0;14;0;11;19;0;", L";              ;;           ;                   ;;" },

 74     { L"d", L"diu", L";diū;;;;;", L"0;1;0;0;0;0;", L"0;5;0;0;0;0;", L";     ;;;;;" },

 75     { L"d", L"dong", L"dong;dōng;;dǒng;dòng;;", L"1;1;0;1;1;0;", L"1;23;0;6;23;0;", L" ;                       ;;      ;                       ;;" },

 76     { L"d", L"dou", L"dou;dōu;dóu;dǒu;dòu;;", L"1;1;1;1;1;0;", L"1;9;1;8;26;0;", L" ;         ; ;        ;                          ;;" },

 77     { L"d", L"du", L"du;dū;dú;dǔ;dù;;", L"1;1;1;1;1;0;", L"2;8;33;9;17;0;", L"  ;        ;                                 ;         ;                 ;;" },

 78     { L"d", L"duan", L";duān;;duǎn;duàn;;", L"0;1;0;1;1;0;", L"0;6;0;1;18;0;", L";      ;; ;                  ;;" },

 79     { L"d", L"dui", L";duī;;duǐ;duì;;", L"0;1;0;1;1;0;", L"0;8;0;1;25;0;", L";        ;; ;                         ;;" },

 80     { L"d", L"dun", L"dun;dūn;;dǔn;dùn;;", L"1;1;0;1;1;0;", L"2;15;0;3;18;0;", L"  ;               ;;   ;                  ;;" },

 81     { L"d", L"duo", L"duo;duō;duó;duǒ;duò;;", L"1;1;1;1;1;0;", L"2;11;13;30;13;0;", L"  ;           ;             ;                              ;             ;;" },

 82     { L"e", L"e", L"e;ē;é;ě;è;;", L"1;1;1;1;1;0;", L"7;6;32;29;50;0;", L"       ;      ;                                ;                             ;                                                  ;;" },

 83     { L"e", L"ei", L";ēi;;;;;", L"0;1;0;0;0;0;", L"0;2;0;0;0;0;", L";  ;;;;;" },

 84     { L"e", L"en", L";ēn;;ěn;èn;;", L"0;1;0;1;1;0;", L"0;4;0;1;1;0;", L";    ;; ; ;;" },

 85     { L"e", L"eng", L"eng;ēng;;;;;", L"1;1;0;0;0;0;", L"1;1;0;0;0;0;", L" ; ;;;;;" },

 86     { L"e", L"er", L"er;ēr;ér;ěr;èr;;", L"1;1;1;1;1;0;", L"2;1;23;17;14;0;", L"  ; ;                       ;                 ;              ;;" },

 87     { L"f", L"fa", L"fa;fā;fá;fǎ;fà;;", L"1;1;1;1;1;0;", L"2;7;20;5;6;0;", L"  ;       ;                    ;     ;      ;;" },

 88     { L"f", L"fan", L";fān;fán;fǎn;fàn;;", L"0;1;1;1;1;0;", L"0;20;35;6;23;0;", L";                    ;                                   ;     ;                       ;;" },

 89     { L"f", L"fang", L"fang;fāng;fáng;fǎng;fàng;;", L"1;1;1;1;1;0;", L"1;15;7;15;1;0;", L" ;               ;       ;               ; ;;" },

 90     { L"f", L"fei", L";fēi;féi;fěi;fèi;;", L"0;1;1;1;1;0;", L"0;26;4;15;32;0;", L";                         ;    ;               ;                                ;;" },

 91     { L"f", L"fen", L"fen;fēn;fén;fěn;fèn;;", L"1;1;1;1;1;0;", L"2;22;32;2;18;0;", L"  ;                      ;                                ;  ;                  ;;" },

 92     { L"f", L"feng", L"feng;fēng;féng;fěng;fèng;;", L"1;1;1;1;1;0;", L"1;46;14;5;14;0;", L" ;                                              ;              ;     ;              ;;" },

 93     { L"f", L"fo", L"fo;;fó;;;;", L"1;0;1;0;0;0;", L"1;0;3;0;0;0;", L" ;;   ;;;;" },

 94     { L"f", L"fou", L";;fóu;fǒu;;;", L"0;0;1;1;0;0;", L"0;0;1;8;0;0;", L";; ;        ;;;" },

 95     { L"f", L"fu", L"fu;fū;fú;fǔ;fù;;", L"1;1;1;1;1;0;", L"3;38;99;31;62;0;", L"   ;                                      ;                                                                                                   ;                               ;                                                              ;;" },

 96     { L"g", L"ga", L"ga;gā;gá;gǎ;gà;;", L"1;1;1;1;1;0;", L"3;7;6;3;2;0;", L"   ;       ;      ;   ;  ;;" },

 97     { L"g", L"gai", L";gāi;;gǎi;gài;;", L"0;1;0;1;1;0;", L"0;18;0;3;18;0;", L";                  ;;   ;                  ;;" },

 98     { L"g", L"gan", L";gān;;gǎn;gàn;;", L"0;1;0;1;1;0;", L"0;28;0;20;18;0;", L";                            ;;                    ;                  ;;" },

 99     { L"g", L"gang", L";gāng;;gǎng;gàng;;", L"0;1;0;1;1;0;", L"0;29;0;3;10;0;", L";                           ;;   ;          ;;" },

100     { L"g", L"gao", L"gao;gāo;;gǎo;gào;;", L"1;1;0;1;1;0;", L"1;20;0;17;13;0;", L" ;                    ;;                 ;             ;;" },

101     { L"g", L"ge", L"ge;gē;gé;gě;gè;;", L"1;1;1;1;1;0;", L"6;27;41;8;8;0;", L"      ;                           ;                                         ;        ;        ;;" },

102     { L"g", L"gei", L";;;gěi;;;", L"0;0;0;1;0;0;", L"0;0;0;2;0;0;", L";;;  ;;;" },

103     { L"g", L"gen", L";gēn;gén;gěn;gèn;;", L"0;1;1;1;1;0;", L"0;2;1;1;6;0;", L";  ; ; ;      ;;" },

104     { L"g", L"geng", L"geng;gēng;;gěng;gèng;;", L"1;1;0;1;1;0;", L"1;17;0;14;3;0;", L" ;                 ;;              ;   ;;" },

105     { L"g", L"gong", L";gōng;;gǒng;gòng;;", L"0;1;0;1;1;0;", L"0;34;0;10;9;0;", L";                                 ;;          ;        ;;" },

106     { L"g", L"gou", L";gōu;;gǒu;gòu;;", L"0;1;0;1;1;0;", L"0;18;0;12;24;0;", L";                  ;;            ;                        ;;" },

107     { L"g", L"gu", L"gu;gū;gú;gǔ;gù;;", L"1;1;1;1;1;0;", L"3;37;1;45;20;0;", L"   ;                                     ; ;                                            ;                    ;;" },

108     { L"g", L"gua", L"gua;guā;;guǎ;guà;;", L"1;1;0;1;1;0;", L"1;16;0;6;10;0;", L" ;                ;;      ;          ;;" },

109     { L"g", L"guai", L";guāi;guái;guǎi;guài;;", L"0;1;1;1;1;0;", L"0;2;1;5;3;0;", L";  ; ;     ;   ;;" },

110     { L"g", L"guan", L";guān;;guǎn;guàn;;", L"0;1;0;1;1;0;", L"0;22;0;12;36;0;", L";                      ;;            ;                                    ;;" },

111     { L"g", L"guang", L";guāng;;guǎng;guàng;;", L"0;1;0;1;1;0;", L"0;19;0;6;4;0;", L";                  ;;      ;    ;;" },

112     { L"g", L"gui", L"gui;guī;;guǐ;guì;;", L"1;1;0;1;1;0;", L"1;40;0;26;35;0;", L" ;                                        ;;                          ;                                   ;;" },

113     { L"g", L"gun", L";;;gǔn;gùn;;", L"0;0;0;1;1;0;", L"0;0;0;18;3;0;", L";;;                  ;   ;;" },

114     { L"g", L"guo", L";guō;guó;guǒ;guò;;", L"0;1;1;1;1;0;", L"0;24;18;14;4;0;", L";                        ;                  ;              ;    ;;" },

115     { L"h", L"ha", L"ha;hā;há;hǎ;hà;;", L"1;1;1;1;1;0;", L"6;5;2;2;1;0;", L"      ;     ;  ;  ; ;;" },

116     { L"h", L"hai", L"hai;hāi;hái;hǎi;hài;;", L"1;1;1;1;1;0;", L"1;3;4;5;10;0;", L" ;   ;    ;     ;          ;;" },

117     { L"h", L"han", L"han;hān;hán;hǎn;hàn;;", L"1;1;1;1;1;0;", L"2;13;26;8;46;0;", L"  ;             ;                          ;     ;                                              ;;" },

118     { L"h", L"hang", L"hang;hāng;háng;;hàng;;", L"1;1;1;0;1;0;", L"1;2;20;0;3;0;", L" ;  ;                    ;;   ;;" },

119     { L"h", L"hao", L"hao;hāo;háo;hǎo;hào;;", L"1;1;1;1;1;0;", L"1;5;21;2;34;0;", L" ;     ;                     ;  ;                                  ;;" },

120     { L"h", L"he", L"he;hē;hé;;hè;;", L"1;1;1;0;1;0;", L"4;9;65;0;33;0;", L"    ;        ;                                                                 ;;                                 ;;" },

121     { L"h", L"hei", L";hēi;;;;;", L"0;1;0;0;0;0;", L"0;5;0;0;0;0;", L";     ;;;;;" },

122     { L"h", L"hen", L";;hén;hěn;hèn;;", L"0;0;1;1;1;0;", L"0;0;3;5;1;0;", L";;   ;     ; ;;" },

123     { L"h", L"heng", L";hēng;héng;;hèng;;", L"0;1;1;0;1;0;", L"0;5;1;0;2;0;", L";     ; ;;  ;;" },

124     { L"h", L"hong", L";hōng;hóng;hǒng;hòng;;", L"0;1;1;1;1;0;", L"0;19;55;3;11;0;", L";                   ;                                                       ;   ;           ;;" },

125     { L"h", L"hou", L";hōu;hóu;hǒu;hòu;;", L"0;1;1;1;1;0;", L"0;1;18;2;16;0;", L"; ;                  ;  ;                ;;" },

126     { L"h", L"hu", L"hu;hū;hú;hǔ;hù;;", L"1;1;1;1;1;0;", L"1;31;48;11;48;0;", L" ;                               ;                                                ;           ;                                               ;;" },

127     { L"h", L"hua", L"hua;huā;huá;;huà;;", L"1;1;1;0;1;0;", L"7;7;25;0;27;0;", L"       ;       ;                         ;;                           ;;" },

128     { L"h", L"huai", L";;huái;;huài;;", L"0;0;1;0;1;0;", L"0;0;13;0;4;0;", L";;             ;;    ;;" },

129     { L"h", L"huan", L";huān;huán;huǎn;huàn;;", L"0;1;1;1;1;0;", L"0;15;37;3;37;0;", L";               ;                                     ;   ;                                     ;;" },

130     { L"h", L"huang", L";huāng;huáng;huǎng;huàng;;", L"0;1;1;1;1;0;", L"0;8;44;15;8;0;", L";        ;                                            ;               ;        ;;" },

131     { L"h", L"hui", L"hui;huī;huí;huǐ;huì;;", L"1;1;1;1;1;0;", L"2;43;18;9;82;0;", L"  ;                                           ;                  ;         ;                                                                                 ;;" },

132     { L"h", L"hun", L";hūn;hún;hǔn;hùn;;", L"0;1;1;1;1;0;", L"0;15;10;7;8;0;", L";               ;          ;       ;        ;;" },

133     { L"h", L"huo", L";huō;huó;huǒ;huò;;", L"0;1;1;1;1;0;", L"0;9;6;9;51;0;", L";         ;      ;         ;                                                   ;;" },

134     { L"j", L"ji", L"ji;jī;jí;jǐ;jì;;", L"1;1;1;1;1;0;", L"4;96;77;22;108;0;", L"    ;                                                                                                ;                                                                             ;                      ;                                                                                                            ;;" },

135     { L"j", L"jia", L"jia;jiā;jiá;jiǎ;jià;;", L"1;1;1;1;1;0;", L"2;36;25;19;11;0;", L"  ;                                    ;                         ;                   ;           ;;" },

136     { L"j", L"jian", L"jian;jiān;jián;jiǎn;jiàn;;", L"1;1;1;1;1;0;", L"4;80;1;63;78;0;", L"    ;                                                                                ; ;                                                               ;                                                                              ;;" },

137     { L"j", L"jiang", L"jiang;jiāng;;jiǎng;jiàng;;", L"1;1;0;1;1;0;", L"1;28;0;15;22;0;", L" ;                            ;;               ;                      ;;" },

138     { L"j", L"jiao", L";jiāo;jiáo;jiǎo;jiào;;", L"0;1;1;1;1;0;", L"0;41;2;54;37;0;", L";                                        ;  ;                                                      ;                                     ;;" },

139     { L"j", L"jie", L"jie;jiē;jié;jiě;jiè;;", L"1;1;1;1;1;0;", L"1;30;76;7;34;0;", L" ;                              ;                                                                            ;       ;                                  ;;" },

140     { L"j", L"jin", L"jin;jīn;;jǐn;jìn;;", L"1;1;0;1;1;0;", L"4;25;0;24;48;0;", L"    ;                         ;;                        ;                                                ;;" },

141     { L"j", L"jing", L"jing;jīng;;jǐng;jìng;;", L"1;1;0;1;1;0;", L"1;40;0;26;46;0;", L" ;                                       ;;                          ;                                              ;;" },

142     { L"j", L"jiong", L";jiōng;;jiǒng;;;", L"0;1;0;1;0;0;", L"0;9;0;22;0;0;", L";         ;;                      ;;;" },

143     { L"j", L"jiu", L"jiu;jiū;;jiǔ;jiù;;", L"1;1;0;1;1;0;", L"2;22;0;15;27;0;", L"  ;                      ;;               ;                           ;;" },

144     { L"j", L"ju", L"ju;jū;jú;jǔ;jù;;", L"1;1;1;1;1;0;", L"0;51;33;24;63;0;", L";                                                   ;                                ;                        ;                                                               ;;" },

145     { L"j", L"juan", L";juān;;juǎn;juàn;;", L"0;1;0;1;1;0;", L"0;15;0;10;29;0;", L";               ;;          ;                             ;;" },

146     { L"j", L"jue", L";juē;jué;;juè;;", L"0;1;1;0;1;0;", L"0;5;98;0;1;0;", L";     ;                                                                                                 ;; ;;" },

147     { L"j", L"jun", L";jūn;;;jùn;;", L"0;1;0;0;1;0;", L"0;29;0;0;36;0;", L";                             ;;;                                    ;;" },

148     { L"k", L"ka", L"ka;kā;;kǎ;;;", L"1;1;0;1;0;0;", L"9;3;0;6;0;0;", L"         ;   ;;      ;;;" },

149     { L"k", L"kai", L";kāi;;kǎi;kài;;", L"0;1;0;1;1;0;", L"0;6;0;22;7;0;", L";      ;;                      ;       ;;" },

150     { L"k", L"kan", L";kān;;kǎn;kàn;;", L"0;1;0;1;1;0;", L"0;9;0;15;11;0;", L";         ;;               ;          ;;" },

151     { L"k", L"kang", L";kāng;káng;;kàng;;", L"0;1;1;0;1;0;", L"0;15;1;0;11;0;", L";               ; ;;           ;;" },

152     { L"k", L"kao", L"kao;kāo;;kǎo;kào;;", L"1;1;0;1;1;0;", L"1;3;0;7;8;0;", L" ;   ;;       ;        ;;" },

153     { L"k", L"ke", L"ke;kē;ké;kě;kè;;", L"1;1;1;1;1;0;", L"7;37;6;9;27;0;", L"       ;                                     ;      ;         ;                           ;;" },

154     { L"k", L"ken", L";;;kěn;kèn;;", L"0;0;0;1;1;0;", L"0;0;0;11;4;0;", L";;;           ;    ;;" },

155     { L"k", L"keng", L";kēng;;;;;", L"0;1;0;0;0;0;", L"0;16;0;0;0;0;", L";                ;;;;;" },

156     { L"k", L"kong", L";kōng;;kǒng;kòng;;", L"0;1;0;1;1;0;", L"0;11;0;3;3;0;", L";           ;;   ;   ;;" },

157     { L"k", L"kou", L";kōu;;kǒu;kòu;;", L"0;1;0;1;1;0;", L"0;7;0;2;16;0;", L";       ;;  ;                ;;" },

158     { L"k", L"ku", L"ku;kū;;kǔ;kù;;", L"1;1;0;1;1;0;", L"2;12;0;3;14;0;", L"  ;            ;;   ;              ;;" },

159     { L"k", L"kua", L"kua;kuā;;kuǎ;kuà;;", L"1;1;0;1;1;0;", L"1;4;0;3;5;0;", L" ;    ;;   ;     ;;" },

160     { L"k", L"kuai", L"kuai;;;kuǎi;kuài;;", L"1;0;0;1;1;0;", L"1;0;0;3;26;0;", L" ;;;  ;                          ;;" },

161     { L"k", L"kuan", L"kuan;kuān;;kuǎn;;;", L"1;1;0;1;0;0;", L"1;6;0;6;0;0;", L" ;      ;;      ;;;" },

162     { L"k", L"kuang", L";kuāng;kuáng;kuǎng;kuàng;;", L"0;1;1;1;1;0;", L"0;13;9;3;31;0;", L";             ;         ;   ;                               ;;" },

163     { L"k", L"kui", L";kuī;kuí;kuǐ;kuì;;", L"0;1;1;1;1;0;", L"0;12;29;6;29;0;", L";            ;                             ;      ;                           ;;" },

164     { L"k", L"kun", L"kun;kūn;;kǔn;kùn;;", L"1;1;0;1;1;0;", L"2;28;0;14;3;0;", L"  ;                            ;;              ;   ;;" },

165     { L"k", L"kuo", L";;;;kuò;;", L"0;0;0;0;1;0;", L"0;0;0;0;21;0;", L";;;;                     ;;" },

166     { L"l", L"la", L"la;lā;lá;lǎ;là;;", L"1;1;1;1;1;0;", L"4;8;8;3;25;0;", L"    ;        ;        ;   ;                         ;;" },

167     { L"l", L"lai", L"lai;lāi;lái;lǎi;lài;;", L"1;1;1;1;1;0;", L"1;8;29;1;12;0;", L" ;        ;                             ; ;            ;;" },

168     { L"l", L"lan", L";;lán;lǎn;làn;;", L"0;0;1;1;1;0;", L"0;0;46;22;12;0;", L";;                                              ;                      ;            ;;" },

169     { L"l", L"lang", L";lāng;láng;lǎng;làng;;", L"0;1;1;1;1;0;", L"0;1;27;7;7;0;", L"; ;                          ;       ;       ;;" },

170     { L"l", L"lao", L"lao;lāo;láo;lǎo;lào;;", L"1;1;1;1;1;0;", L"3;2;24;15;18;0;", L"   ;  ;                        ;               ;                  ;;" },

171     { L"l", L"le", L"le;lē;;;lè;;", L"1;1;0;0;1;0;", L"2;2;0;0;21;0;", L"  ;  ;;;                     ;;" },

172     { L"l", L"lei", L"lei;lēi;léi;lěi;lèi;;", L"1;1;1;1;1;0;", L"1;1;29;28;19;0;", L" ; ;                             ;                            ;                   ;;" },

173     { L"l", L"leng", L";lēng;léng;lěng;lèng;;", L"0;1;1;1;1;0;", L"0;1;6;1;6;0;", L"; ;      ; ;      ;;" },

174     { L"l", L"li", L"li;lī;lí;lǐ;lì;;", L"1;1;1;1;1;0;", L"10;1;71;28;139;0;", L"          ; ;                                                                       ;                          ;                                                                                                                                           ;;" },

175     { L"l", L"lia", L";;;liǎ;;;", L"0;0;0;1;0;0;", L"0;0;0;1;0;0;", L";;; ;;;" },

176     { L"l", L"lian", L";;lián;liǎn;liàn;;", L"0;0;1;1;1;0;", L"0;0;55;16;24;0;", L";;                                                       ;                ;                        ;;" },

177     { L"l", L"liang", L";;liáng;liǎng;liàng;;", L"0;0;1;1;1;0;", L"0;0;18;14;17;0;", L";;                 ;              ;                 ;;" },

178     { L"l", L"liao", L";liāo;liáo;liǎo;liào;;", L"0;1;1;1;1;0;", L"0;2;44;10;13;0;", L";  ;                                            ;          ;             ;;" },

179     { L"l", L"lie", L"lie;;;liě;liè;;", L"1;0;0;1;1;0;", L"1;0;0;1;38;0;", L" ;;; ;                                     ;;" },

180     { L"l", L"lin", L";līn;lín;lǐn;lìn;;", L"0;1;1;1;1;0;", L"0;1;43;15;20;0;", L"; ;                                          ;               ;                    ;;" },

181     { L"l", L"ling", L";;líng;lǐng;lìng;;", L"0;0;1;1;1;0;", L"0;0;81;7;6;0;", L";;                                                                                 ;       ;      ;;" },

182     { L"l", L"liu", L";liū;liú;liǔ;liù;;", L"0;1;1;1;1;0;", L"0;4;51;14;19;0;", L";    ;                                                   ;              ;                   ;;" },

183     { L"l", L"long", L";;lóng;lǒng;lòng;;", L"0;0;1;1;1;0;", L"0;0;51;12;5;0;", L";;                                                   ;            ;     ;;" },

184     { L"l", L"lou", L"lou;lōu;lóu;lǒu;lòu;;", L"1;1;1;1;1;0;", L"0;2;26;8;9;0;", L";  ;                          ;        ;         ;;" },

185     { L"l", L"lu", L"lu;lū;lú;lǔ;lù;;", L"1;1;1;1;1;0;", L"6;5;43;26;80;0;", L"      ;     ;                                           ;                          ;                                                                                ;;" },

186     { L"l", L"luan", L";;luán;luǎn;luàn;;", L"0;0;1;1;1;0;", L"0;0;29;1;3;0;", L";;                             ; ;   ;;" },

187     { L"l", L"lue", L";;;;luè;;", L"0;0;0;0;1;0;", L"0;0;0;0;5;0;", L";;;;     ;;" },

188     { L"l", L"lun", L"lun;lūn;lún;lǔn;lùn;;", L"1;1;1;1;1;0;", L"2;2;28;3;3;0;", L"  ;  ;                            ;   ;   ;;" },

189     { L"l", L"luo", L"luo;luō;luó;luǒ;luò;;", L"1;1;1;1;1;0;", L"1;5;31;10;26;0;", L" ;     ;                               ;          ;                          ;;" },

190     { L"l", L"", L";;lǘ;lǚ;lǜ;;", L"0;0;1;1;1;0;", L"0;0;9;28;20;0;", L";;         ;                            ;                    ;;" },

191     { L"l", L"lüe", L"lüè;;;;;;", L"1;0;0;0;0;0;", L"4;0;0;0;0;0;", L"    ;;;;;;" },

192     { L"m", L"m", L"m;;;;;;", L"1;0;0;0;0;0;", L"3;0;0;0;0;0;", L"   ;;;;;;" },

193     { L"m", L"ma", L"ma;mā;má;mǎ;mà;;", L"1;1;1;1;1;0;", L"4;9;8;15;14;0;", L"    ;         ;        ;               ;              ;;" },

194     { L"m", L"mai", L"mai;;mái;mǎi;mài;;", L"1;0;1;1;1;0;", L"1;0;3;5;15;0;", L" ;;   ;     ;               ;;" },

195     { L"m", L"man", L"man;mān;mán;mǎn;màn;;", L"1;1;1;1;1;0;", L"1;4;18;9;19;0;", L" ;    ;                  ;         ;                   ;;" },

196     { L"m", L"mang", L";māng;máng;mǎng;;;", L"0;1;1;1;0;0;", L"0;2;28;8;0;0;", L";  ;                            ;        ;;;" },

197     { L"m", L"mao", L"mao;māo;máo;mǎo;mào;;", L"1;1;1;1;1;0;", L"1;2;24;12;27;0;", L" ;  ;                       ;            ;                           ;;" },

198     { L"m", L"me", L"me;;;;;;", L"1;0;0;0;0;0;", L"9;0;0;0;0;0;", L"         ;;;;;;" },

199     { L"m", L"mei", L";;méi;měi;mèi;;", L"0;0;1;1;1;0;", L"0;0;41;17;19;0;", L";;                                         ;                 ;                   ;;" },

200     { L"m", L"men", L"men;mēn;mén;;mèn;;", L"1;1;1;0;1;0;", L"1;1;16;0;7;0;", L" ; ;                ;;       ;;" },

201     { L"m", L"meng", L";mēng;méng;měng;mèng;;", L"0;1;1;1;1;0;", L"0;3;35;14;6;0;", L";   ;                                   ;              ;      ;;" },

202     { L"m", L"mi", L"mi;mī;mí;mǐ;mì;;", L"1;1;1;1;1;0;", L"7;3;34;19;38;0;", L"       ;   ;                                  ;                   ;                                      ;;" },

203     { L"m", L"mian", L";;mián;miǎn;miàn;;", L"0;0;1;1;1;0;", L"0;0;18;23;7;0;", L";;                  ;                       ;       ;;" },

204     { L"m", L"miao", L";miāo;miáo;miǎo;miào;;", L"0;1;1;1;1;0;", L"0;1;8;11;7;0;", L"; ;        ;           ;       ;;" },

205     { L"m", L"mie", L"mie;miē;;;miè;;", L"1;1;0;0;1;0;", L"1;5;0;0;17;0;", L" ;     ;;;                 ;;" },

206     { L"m", L"min", L"min;;mín;mǐn;;;", L"1;0;1;1;0;0;", L"2;0;26;31;0;0;", L"  ;;                          ;                               ;;;" },

207     { L"m", L"ming", L"ming;;míng;mǐng;mìng;;", L"1;0;1;1;1;0;", L"1;0;23;5;1;0;", L" ;;                       ;     ; ;;" },

208     { L"m", L"miu", L";;;;miù;;", L"0;0;0;0;1;0;", L"0;0;0;0;3;0;", L";;;;   ;;" },

209     { L"m", L"mo", L"mo;mō;mó;mǒ;mò;;", L"1;1;1;1;1;0;", L"7;2;25;3;59;0;", L"       ;  ;                         ;   ;                                                           ;;" },

210     { L"m", L"mou", L";mōu;móu;mǒu;;;", L"0;1;1;1;0;0;", L"0;1;15;1;0;0;", L"; ;               ; ;;;" },

211     { L"m", L"mu", L"mu;;mú;mǔ;mù;;", L"1;0;1;1;1;0;", L"2;0;3;18;32;0;", L"  ;;   ;                  ;                                ;;" },

212     { L"n", L"na", L"na;nā;ná;nǎ;nà;;", L"1;1;1;1;1;0;", L"3;2;6;3;23;0;", L"   ;  ;      ;   ;                       ;;" },

213     { L"n", L"nai", L";;nái;nǎi;nài;;", L"0;0;1;1;1;0;", L"0;0;2;11;10;0;", L";;  ;           ;          ;;" },

214     { L"n", L"nan", L"nan;nān;nán;nǎn;nàn;;", L"1;1;1;1;1;0;", L"1;2;15;8;2;0;", L" ;  ;               ;        ;  ;;" },

215     { L"n", L"nang", L";nāng;náng;nǎng;nàng;;", L"0;1;1;1;1;0;", L"0;2;7;5;2;0;", L";  ;       ;     ;  ;;" },

216     { L"n", L"nao", L";nāo;náo;nǎo;nào;;", L"0;1;1;1;1;0;", L"0;1;20;12;5;0;", L"; ;                    ;            ;     ;;" },

217     { L"n", L"ne", L"ne;;né;;nè;;", L"1;0;1;0;1;0;", L"4;0;1;0;7;0;", L"    ;; ;;       ;;" },

218     { L"n", L"nei", L";;;něi;nèi;;", L"0;0;0;1;1;0;", L"0;0;0;8;6;0;", L";;;        ;      ;;" },

219     { L"n", L"nen", L";;;;nèn;;", L"0;0;0;0;1;0;", L"0;0;0;0;3;0;", L";;;;   ;;" },

220     { L"n", L"neng", L";;néng;;;;", L"0;0;1;0;0;0;", L"0;0;1;0;0;0;", L";; ;;;;" },

221     { L"n", L"ng", L"ng;;;;;;", L"1;0;0;0;0;0;", L"2;0;0;0;0;0;", L"  ;;;;;;" },

222     { L"n", L"ni", L"ni;nī;ní;nǐ;nì;;", L"1;1;1;1;1;0;", L"2;1;32;20;23;0;", L"  ; ;                                ;                    ;                       ;;" },

223     { L"n", L"nian", L"nian;niān;nián;niǎn;niàn;;", L"1;1;1;1;1;0;", L"1;2;12;14;7;0;", L" ;  ;           ;              ;       ;;" },

224     { L"n", L"niang", L";;niáng;;niàng;;", L"0;0;1;0;1;0;", L"0;0;3;0;3;0;", L";;   ;;   ;;" },

225     { L"n", L"niao", L";;;niǎo;niào;;", L"0;0;0;1;1;0;", L"0;0;0;11;3;0;", L";;;           ;   ;;" },

226     { L"n", L"nie", L";niē;nié;;niè;;", L"0;1;1;0;1;0;", L"0;3;1;0;52;0;", L";   ; ;;                                                    ;;" },

227     { L"n", L"nin", L"nin;;nín;nǐn;;;", L"1;0;1;1;0;0;", L"1;0;2;1;0;0;", L" ;;  ; ;;;" },

228     { L"n", L"ning", L";;níng;nǐng;nìng;;", L"0;0;1;1;1;0;", L"0;0;26;2;8;0;", L";;                          ;  ;        ;;" },

229     { L"n", L"niu", L";niū;niú;niǔ;niù;;", L"0;1;1;1;1;0;", L"0;1;3;11;1;0;", L"; ;   ;           ; ;;" },

230     { L"n", L"nong", L";;nóng;nǒng;nòng;;", L"0;0;1;1;1;0;", L"0;0;22;1;5;0;", L";;                      ; ;     ;;" },

231     { L"n", L"nou", L"nou;;nóu;;nòu;;", L"1;0;1;0;1;0;", L"1;0;1;0;6;0;", L" ;; ;;      ;;" },

232     { L"n", L"nu", L"nu;;nú;nǔ;nù;;", L"1;0;1;1;1;0;", L"1;0;6;5;3;0;", L" ;;      ;     ;   ;;" },

233     { L"n", L"nuan", L";;nuán;nuǎn;;;", L"0;0;1;1;0;0;", L"0;0;1;4;0;0;", L";; ;    ;;;" },

234     { L"n", L"nun", L";;nún;;;;", L"0;0;1;0;0;0;", L"0;0;1;0;0;0;", L";; ;;;;" },

235     { L"n", L"nuo", L";;nuó;;nuò;;", L"0;0;1;0;1;0;", L"0;0;7;0;18;0;", L";;       ;;                  ;;" },

236     { L"n", L"", L";;;nǚ;nǜ;;", L"0;0;0;1;1;0;", L"0;0;0;4;5;0;", L";;;    ;     ;;" },

237     { L"n", L"nüe", L"nüè;;;;;;", L"1;0;0;0;0;0;", L"2;0;0;0;0;0;", L"  ;;;;;;" },

238     { L"o", L"o", L"o;ō;ó;;;;", L"1;1;1;0;0;0;", L"12;1;1;0;0;0;", L"            ; ; ;;;;" },

239     { L"o", L"ou", L";ōu;;ǒu;òu;;", L"0;1;0;1;1;0;", L"0;19;0;8;4;0;", L";                   ;;        ;    ;;" },

240     { L"p", L"pa", L"pa;pā;pá;;pà;;", L"1;1;1;0;1;0;", L"1;10;9;0;5;0;", L" ;          ;        ;;     ;;" },

241     { L"p", L"pai", L"pai;pāi;pái;pǎi;pài;;", L"1;1;1;1;1;0;", L"1;1;10;2;7;0;", L" ; ;          ;  ;       ;;" },

242     { L"p", L"pan", L";pān;pán;pǎn;pàn;;", L"0;1;1;1;1;0;", L"0;7;23;1;20;0;", L";       ;                       ; ;                    ;;" },

243     { L"p", L"pang", L";pāng;páng;pǎng;pàng;;", L"0;1;1;1;1;0;", L"0;7;16;4;4;0;", L";       ;                ;    ;    ;;" },

244     { L"p", L"pao", L"pao;pāo;páo;pǎo;pào;;", L"1;1;1;1;1;0;", L"2;5;16;1;11;0;", L"  ;     ;                ; ;           ;;" },

245     { L"p", L"pei", L"pei;pēi;péi;pěi;pèi;;", L"1;1;1;1;1;0;", L"1;6;10;1;15;0;", L" ;      ;          ; ;               ;;" },

246     { L"p", L"pen", L";pēn;pén;pěn;pèn;;", L"0;1;1;1;1;0;", L"0;4;4;2;2;0;", L";    ;    ;  ;  ;;" },

247     { L"p", L"peng", L"peng;pēng;péng;pěng;pèng;;", L"1;1;1;1;1;0;", L"1;16;41;3;5;0;", L" ;                ;                                         ;   ;     ;;" },

248     { L"p", L"pi", L"pi;pī;pí;pǐ;pì;;", L"1;1;1;1;1;0;", L"1;42;42;18;19;0;", L" ;                                          ;                                          ;                  ;                  ;;" },

249     { L"p", L"pian", L";piān;pián;piǎn;piàn;;", L"0;1;1;1;1;0;", L"0;9;14;4;4;0;", L";         ;              ;    ;    ;;" },

250     { L"p", L"piao", L";piāo;piáo;piǎo;piào;;", L"0;1;1;1;1;0;", L"0;15;5;10;9;0;", L";               ;     ;          ;         ;;" },

251     { L"p", L"pie", L";piē;;piě;piè;;", L"0;1;0;1;1;0;", L"0;6;0;4;1;0;", L";      ;;    ; ;;" },

252     { L"p", L"pin", L"pin;pīn;pín;pǐn;pìn;;", L"1;1;1;1;1;0;", L"1;8;14;2;4;0;", L" ;        ;              ;  ;    ;;" },

253     { L"p", L"ping", L"ping;pīng;píng;pǐng;;;", L"1;1;1;1;0;0;", L"1;9;38;1;0;0;", L" ;         ;                                      ; ;;;" },

254     { L"p", L"po", L"po;pō;pó;pǒ;pò;;", L"1;1;1;1;1;0;", L"3;16;8;7;15;0;", L"   ;               ;        ;       ;               ;;" },

255     { L"p", L"pou", L";pōu;póu;pǒu;;;", L"0;1;1;1;0;0;", L"0;2;7;5;0;0;", L";  ;       ;     ;;;" },

256     { L"p", L"pu", L"pu;pū;pú;pǔ;pù;;", L"1;1;1;1;1;0;", L"2;14;22;19;7;0;", L"  ;              ;                      ;                   ;       ;;" },

257     { L"q", L"qi", L"qi;qī;qí;qǐ;qì;;", L"1;1;1;1;1;0;", L"6;40;93;26;48;0;", L"      ;                                        ;                                                                                            ;                          ;                                                ;;" },

258     { L"q", L"qia", L";qiā;qiá;qiǎ;qià;;", L"0;1;1;1;1;0;", L"0;4;1;5;9;0;", L";    ; ;     ;         ;;" },

259     { L"q", L"qian", L"qian;qiān;qián;qiǎn;qiàn;;", L"1;1;1;1;1;0;", L"4;60;42;12;29;0;", L"    ;                                                            ;                                          ;            ;                             ;;" },

260     { L"q", L"qiang", L";qiāng;qiáng;qiǎng;qiàng;;", L"0;1;1;1;1;0;", L"0;35;17;11;8;0;", L";                                   ;                 ;           ;        ;;" },

261     { L"q", L"qiao", L";qiāo;qiáo;qiǎo;qiào;;", L"0;1;1;1;1;0;", L"0;29;36;6;19;0;", L";                             ;                                    ;      ;                   ;;" },

262     { L"q", L"qie", L";qiē;qié;qiě;qiè;;", L"0;1;1;1;1;0;", L"0;1;4;1;26;0;", L"; ;    ; ;                          ;;" },

263     { L"q", L"qin", L";qīn;qín;qǐn;qìn;;", L"0;1;1;1;1;0;", L"0;17;40;11;11;0;", L";                 ;                                        ;           ;           ;;" },

264     { L"q", L"qing", L"qing;qīng;qíng;qǐng;qìng;;", L"1;1;1;1;1;0;", L"2;22;19;10;15;0;", L"  ;                     ;                 ;          ;               ;;" },

265     { L"q", L"qiong", L";qiōng;qióng;;;;", L"0;1;1;0;0;0;", L"0;1;1;0;0;0;", L"; ; ;;;;" },

266     { L"q", L"qiu", L"qiu;qiū;qiú;qiǔ;;;", L"1;1;1;1;0;0;", L"1;31;56;2;0;0;", L" ;                               ;                                                       ;  ;;;" },

267     { L"q", L"qu", L"qu;qū;qú;qǔ;qù;;", L"1;1;1;1;1;0;", L"1;48;39;10;14;0;", L" ;                                                ;                                       ;          ;              ;;" },

268     { L"q", L"quan", L"quan;quān;quán;quǎn;quàn;;", L"1;1;1;1;1;0;", L"2;9;48;8;7;0;", L"  ;         ;                                                ;        ;       ;;" },

269     { L"q", L"que", L";quē;qué;;què;;", L"0;1;1;0;1;0;", L"0;5;1;0;30;0;", L";     ; ;;                              ;;" },

270     { L"q", L"qun", L";qūn;qún;;;;", L"0;1;1;0;0;0;", L"0;3;8;0;0;0;", L";   ;        ;;;;" },

271     { L"r", L"ran", L";;rán;rǎn;;;", L"0;0;1;1;0;0;", L"0;0;13;8;0;0;", L";;             ;        ;;;" },

272     { L"r", L"rang", L";rāng;ráng;rǎng;ràng;;", L"0;1;1;1;1;0;", L"0;1;11;6;5;0;", L"; ;           ;      ;     ;;" },

273     { L"r", L"rao", L";;ráo;rǎo;rào;;", L"0;0;1;1;1;0;", L"0;0;9;4;3;0;", L";;         ;    ;   ;;" },

274     { L"r", L"re", L";;;rě;rè;;", L"0;0;0;1;1;0;", L"0;0;0;3;2;0;", L";;;   ;  ;;" },

275     { L"r", L"ren", L";;rén;rěn;rèn;;", L"0;0;1;1;1;0;", L"0;0;13;8;36;0;", L";;             ;        ;                                    ;;" },

276     { L"r", L"reng", L";rēng;réng;;rèng;;", L"0;1;1;0;1;0;", L"0;1;5;0;1;0;", L"; ;     ;; ;;" },

277     { L"r", L"ri", L"ri;;;;rì;;", L"1;0;0;0;1;0;", L"13;0;0;0;8;0;", L"             ;;;;        ;;" },

278     { L"r", L"rong", L"rong;;róng;rǒng;;;", L"1;0;1;1;0;0;", L"1;0;44;6;0;0;", L" ;;                                            ;      ;;;" },

279     { L"r", L"rou", L";;róu;rǒu;ròu;;", L"0;0;1;1;1;0;", L"0;0;23;1;3;0;", L";;                       ; ;   ;;" },

280     { L"r", L"ru", L"ru;;rú;rǔ;rù;;", L"1;0;1;1;1;0;", L"3;0;30;6;9;0;", L"   ;;                              ;      ;         ;;" },

281     { L"r", L"ruan", L";;ruán;ruǎn;;;", L"0;0;1;1;0;0;", L"0;0;3;14;0;0;", L";;   ;              ;;;" },

282     { L"r", L"rui", L";;ruí;ruǐ;ruì;;", L"0;0;1;1;1;0;", L"0;0;3;8;11;0;", L";;   ;        ;           ;;" },

283     { L"r", L"run", L";;;;rùn;;", L"0;0;0;0;1;0;", L"0;0;0;0;7;0;", L";;;;       ;;" },

284     { L"r", L"ruo", L"ruo;;ruó;;ruò;;", L"1;0;1;0;1;0;", L"1;0;2;0;16;0;", L" ;;  ;;                ;;" },

285     { L"s", L"sa", L"sa;sā;;sǎ;sà;;", L"1;1;0;1;1;0;", L"6;2;0;7;12;0;", L"      ;  ;;       ;            ;;" },

286     { L"s", L"sai", L"sai;sāi;;;sài;;", L"1;1;0;0;1;0;", L"1;12;0;0;5;0;", L" ;            ;;;     ;;" },

287     { L"s", L"san", L"san;sān;;sǎn;sàn;;", L"1;1;0;1;1;0;", L"1;10;0;12;3;0;", L" ;          ;;            ;   ;;" },

288     { L"s", L"sang", L";sāng;;sǎng;sàng;;", L"0;1;0;1;1;0;", L"0;5;0;7;1;0;", L";     ;;       ; ;;" },

289     { L"s", L"sao", L"sao;sāo;;sǎo;sào;;", L"1;1;0;1;1;0;", L"1;14;0;3;8;0;", L" ;              ;;   ;        ;;" },

290     { L"s", L"se", L"se;sē;;;sè;;", L"1;1;0;0;1;0;", L"2;1;0;0;32;0;", L"  ; ;;;                                ;;" },

291     { L"s", L"sen", L";sēn;;;;;", L"0;1;0;0;0;0;", L"0;4;0;0;0;0;", L";    ;;;;;" },

292     { L"s", L"seng", L";sēng;;;;;", L"0;1;0;0;0;0;", L"0;2;0;0;0;0;", L";  ;;;;;" },

293     { L"s", L"sha", L";shā;shá;shǎ;shà;;", L"0;1;1;1;1;0;", L"0;32;2;2;17;0;", L";                                ;  ;  ;                 ;;" },

294     { L"s", L"shai", L";shāi;;shǎi;shài;;", L"0;1;0;1;1;0;", L"0;6;0;1;2;0;", L";      ;; ;  ;;" },

295     { L"s", L"shan", L"shan;shān;;shǎn;shàn;;", L"1;1;0;1;1;0;", L"1;40;0;11;46;0;", L" ;                                        ;;           ;                                            ;;" },

296     { L"s", L"shang", L";shāng;;shǎng;shàng;;", L"0;1;0;1;1;0;", L"0;18;0;11;8;0;", L";                  ;;           ;        ;;" },

297     { L"s", L"shao", L"shao;shāo;sháo;shǎo;shào;;", L"1;1;1;1;1;0;", L"1;17;7;1;13;0;", L" ;                 ;       ; ;             ;;" },

298     { L"s", L"she", L";shē;shé;shě;shè;;", L"0;1;1;1;1;0;", L"0;10;8;2;30;0;", L";          ;        ;  ;                              ;;" },

299     { L"s", L"shei", L";;shéi;;;;", L"0;0;1;0;0;0;", L"0;0;1;0;0;0;", L";; ;;;;" },

300     { L"s", L"shen", L"shen;shēn;shén;shěn;shèn;;", L"1;1;1;1;1;0;", L"3;50;5;22;21;0;", L"   ;                                                  ;     ;                      ;                     ;;" },

301     { L"s", L"sheng", L"sheng;shēng;shéng;shěng;shèng;;", L"1;1;1;1;1;0;", L"3;25;7;4;17;0;", L"   ;                         ;       ;    ;                 ;;" },

302     { L"s", L"shi", L"shi;shī;shí;shǐ;shì;;", L"1;1;1;1;1;0;", L"11;43;34;13;85;0;", L"           ;                                         ;                                  ;             ;                                                                                     ;;" },

303     { L"s", L"shou", L";shōu;shóu;shǒu;shòu;;", L"0;1;1;1;1;0;", L"0;2;1;6;17;0;", L";  ; ;      ;                 ;;" },

304     { L"s", L"shu", L"shu;shū;shú;shǔ;shù;;", L"1;1;1;1;1;0;", L"3;42;8;17;38;0;", L"   ;                                          ;        ;                 ;                                      ;;" },

305     { L"s", L"shua", L";shuā;;shuǎ;shuà;;", L"0;1;0;1;1;0;", L"0;2;0;1;2;0;", L";  ;; ;  ;;" },

306     { L"s", L"shuai", L";shuāi;;shuǎi;shuài;;", L"0;1;0;1;1;0;", L"0;2;0;1;5;0;", L";  ;; ;     ;;" },

307     { L"s", L"shuan", L";shuān;;;shuàn;;", L"0;1;0;0;1;0;", L"0;4;0;0;2;0;", L";    ;;;  ;;" },

308     { L"s", L"shuang", L"shuang;shuāng;;shuǎng;shuàng;;", L"1;1;0;1;1;0;", L"1;16;0;3;3;0;", L" ;                ;;   ;   ;;" },

309     { L"s", L"shui", L";;shuí;shuǐ;shuì;;", L"0;0;1;1;1;0;", L"0;0;3;3;9;0;", L";;   ;   ;         ;;" },

310     { L"s", L"shun", L";shūn;;shǔn;shùn;;", L"0;1;0;1;1;0;", L"0;1;0;1;9;0;", L"; ;; ;         ;;" },

311     { L"s", L"shuo", L";shuō;;;shuò;;", L"0;1;0;0;1;0;", L"0;3;0;0;16;0;", L";   ;;;                ;;" },

312     { L"s", L"si", L"si;sī;;sǐ;sì;;", L"1;1;0;1;1;0;", L"5;50;0;1;48;0;", L"     ;                                                 ;; ;                                                ;;" },

313     { L"s", L"song", L";sōng;;sǒng;sòng;;", L"0;1;0;1;1;0;", L"0;19;0;13;10;0;", L";                   ;;           ;          ;;" },

314     { L"s", L"sou", L";sōu;;sǒu;sòu;;", L"0;1;0;1;1;0;", L"0;24;0;10;4;0;", L";                        ;;          ;    ;;" },

315     { L"s", L"su", L"su;sū;sú;;sù;;", L"1;1;1;0;1;0;", L"1;11;1;0;57;0;", L" ;           ; ;;                                                         ;;" },

316     { L"s", L"suan", L";suān;;suǎn;suàn;;", L"0;1;0;1;1;0;", L"0;3;0;1;5;0;", L";   ;; ;     ;;" },

317     { L"s", L"sui", L"sui;suī;suí;suǐ;suì;;", L"1;1;1;1;1;0;", L"1;16;9;3;36;0;", L" ;                ;         ;   ;                                    ;;" },

318     { L"s", L"sun", L";sūn;;sǔn;sùn;;", L"0;1;0;1;1;0;", L"0;12;0;10;1;0;", L";            ;;          ; ;;" },

319     { L"s", L"suo", L"suo;suō;;suǒ;suò;;", L"1;1;0;1;1;0;", L"3;20;0;16;3;0;", L"   ;                    ;;                ;   ;;" },

320     { L"t", L"ta", L"ta;tā;;tǎ;tà;;", L"1;1;0;1;1;0;", L"7;13;0;8;34;0;", L"       ;             ;;        ;                                 ;;" },

321     { L"t", L"tai", L";tāi;tái;tǎi;tài;;", L"0;1;1;1;1;0;", L"0;5;23;1;17;0;", L";     ;                       ; ;                 ;;" },

322     { L"t", L"tan", L";tān;tán;tǎn;tàn;;", L"0;1;1;1;1;0;", L"0;16;36;14;8;0;", L";                ;                                    ;              ;        ;;" },

323     { L"t", L"tang", L";tāng;táng;tǎng;tàng;;", L"0;1;1;1;1;0;", L"0;14;37;17;7;0;", L";              ;                                     ;                 ;       ;;" },

324     { L"t", L"tao", L";tāo;táo;tǎo;tào;;", L"0;1;1;1;1;0;", L"0;26;24;2;1;0;", L";                          ;                        ;  ; ;;" },

325     { L"t", L"te", L"te;;;;tè;;", L"1;0;0;0;1;0;", L"4;0;0;0;7;0;", L"    ;;;;       ;;" },

326     { L"t", L"teng", L";tēng;téng;;tèng;;", L"0;1;1;0;1;0;", L"0;2;21;0;1;0;", L";  ;                    ;; ;;" },

327     { L"t", L"ti", L";tī;tí;tǐ;tì;;", L"0;1;1;1;1;0;", L"0;10;42;7;33;0;", L";         ;                                          ;       ;                                 ;;" },

328     { L"t", L"tian", L"tian;tiān;tián;tiǎn;tiàn;;", L"1;1;1;1;1;0;", L"1;8;27;18;2;0;", L" ;        ;                           ;                  ;  ;;" },

329     { L"t", L"tiao", L";tiāo;tiáo;tiǎo;tiào;;", L"0;1;1;1;1;0;", L"0;7;24;10;7;0;", L";       ;                        ;          ;       ;;" },

330     { L"t", L"tie", L";tiē;;tiě;tiè;;", L"0;1;0;1;1;0;", L"0;6;0;9;4;0;", L";      ;;         ;    ;;" },

331     { L"t", L"ting", L";tīng;tíng;tǐng;tìng;;", L"0;1;1;1;1;0;", L"0;17;20;16;1;0;", L";                 ;                    ;                ; ;;" },

332     { L"t", L"tong", L";tōng;tóng;tǒng;tòng;;", L"0;1;1;1;1;0;", L"0;9;46;8;7;0;", L";         ;                                              ;        ;       ;;" },

333     { L"t", L"tou", L";tōu;tóu;tǒu;tòu;;", L"0;1;1;1;1;0;", L"0;6;5;5;1;0;", L";      ;     ;     ; ;;" },

334     { L"t", L"tu", L"tu;tū;tú;tǔ;tù;;", L"1;1;1;1;1;0;", L"2;16;37;6;8;0;", L"  ;                ;                                     ;      ;        ;;" },

335     { L"t", L"tuan", L";tuān;tuán;tuǎn;tuàn;;", L"0;1;1;1;1;0;", L"0;5;15;3;3;0;", L";     ;               ;   ;   ;;" },

336     { L"t", L"tui", L"tui;tuī;tuí;tuǐ;tuì;;", L"1;1;1;1;1;0;", L"1;4;12;5;8;0;", L" ;    ;            ;     ;        ;;" },

337     { L"t", L"tun", L"tun;tūn;tún;tǔn;tùn;;", L"1;1;1;1;1;0;", L"1;8;16;1;1;0;", L" ;        ;                ; ; ;;" },

338     { L"t", L"tuo", L"tuo;tuō;tuó;tuǒ;tuò;;", L"1;1;1;1;1;0;", L"1;29;36;8;12;0;", L" ;                             ;                                    ;        ;            ;;" },

339     { L"w", L"wa", L"wa;wā;wá;wǎ;wà;;", L"1;1;1;1;1;0;", L"2;23;1;5;8;0;", L"  ;                       ; ;     ;        ;;" },

340     { L"w", L"wai", L";wāi;;wǎi;wài;;", L"0;1;0;1;1;0;", L"0;5;0;2;2;0;", L";    ;;  ;  ;;" },

341     { L"w", L"wan", L"wan;wān;wán;wǎn;wàn;;", L"1;1;1;1;1;0;", L"4;13;16;28;20;0;", L"    ;             ;                ;                            ;                    ;;" },

342     { L"w", L"wang", L";wāng;wáng;wǎng;wàng;;", L"0;1;1;1;1;0;", L"0;6;7;20;8;0;", L";      ;       ;                    ;        ;;" },

343     { L"w", L"wei", L"wei;wēi;wéi;wěi;wèi;;", L"1;1;1;1;1;0;", L"3;36;47;62;51;0;", L"   ;                                    ;                                               ;                                                              ;                                                   ;;" },

344     { L"w", L"wen", L"wen;wēn;wén;wěn;wèn;;", L"1;1;1;1;1;0;", L"3;18;27;13;12;0;", L"   ;                  ;                           ;             ;            ;;" },

345     { L"w", L"weng", L";wēng;;wěng;wèng;;", L"0;1;0;1;1;0;", L"0;8;0;9;5;0;", L";        ;;         ;     ;;" },

346     { L"w", L"wo", L"wo;wō;;wǒ;wò;;", L"1;1;0;1;1;0;", L"1;15;0;4;24;0;", L" ;               ;;    ;                        ;;" },

347     { L"w", L"wu", L"wu;wū;wú;wǔ;wù;;", L"1;1;1;1;1;0;", L"3;30;34;37;54;0;", L"   ;                              ;                                  ;                                    ;                                                     ;;" },

348     { L"x", L"xi", L"xi;xī;xí;xǐ;xì;;", L"1;1;1;1;1;0;", L"14;138;29;29;55;0;", L"              ;                                                                                                                                          ;                             ;                             ;                                                       ;;" },

349     { L"x", L"xia", L"xia;xiā;xiá;xiǎ;xià;;", L"1;1;1;1;1;0;", L"2;10;42;1;14;0;", L"  ;          ;                                          ; ;              ;;" },

350     { L"x", L"xian", L"xian;xiān;xián;xiǎn;xiàn;;", L"1;1;1;1;1;0;", L"3;49;52;40;54;0;", L"   ;                                                 ;                                                    ;                                        ;                                                      ;;" },

351     { L"x", L"xiang", L";xiāng;xiáng;xiǎng;xiàng;;", L"0;1;1;1;1;0;", L"0;28;11;18;21;0;", L";                            ;           ;                  ;                    ;;" },

352     { L"x", L"xiao", L"xiao;xiāo;xiáo;xiǎo;xiào;;", L"1;1;1;1;1;0;", L"0;71;7;10;23;0;", L";                                                                       ;       ;          ;                       ;;" },

353     { L"x", L"xie", L";xiē;xié;xiě;xiè;;", L"0;1;1;1;1;0;", L"0;8;49;5;68;0;", L";        ;                                                 ;     ;                                                                    ;;" },

354     { L"x", L"xin", L";xīn;xín;xǐn;xìn;;", L"0;1;1;1;1;0;", L"0;29;4;1;15;0;", L";                            ;    ; ;               ;;" },

355     { L"x", L"xing", L"xing;xīng;xíng;xǐng;xìng;;", L"1;1;1;1;1;0;", L"2;20;23;4;16;0;", L"  ;                    ;                       ;    ;               ;;" },

356     { L"x", L"xiong", L"xiong;xiōng;xióng;xiǒng;xiòng;;", L"1;1;1;1;1;0;", L"1;17;3;2;4;0;", L" ;                 ;   ;  ;    ;;" },

357     { L"x", L"xiu", L"xiu;xiū;xiú;xiǔ;xiù;;", L"1;1;1;1;1;0;", L"1;23;1;5;24;0;", L" ;                       ; ;     ;                        ;;" },

358     { L"x", L"xu", L"xu;xū;xú;xǔ;xù;;", L"1;1;1;1;1;0;", L"1;45;5;17;59;0;", L" ;                                             ;     ;                 ;                                                           ;;" },

359     { L"x", L"xuan", L";xuān;xuán;xuǎn;xuàn;;", L"0;1;1;1;1;0;", L"0;43;15;7;26;0;", L";                                           ;               ;       ;                          ;;" },

360     { L"x", L"xue", L"xue;xuē;xué;xuě;xuè;;", L"1;1;1;1;1;0;", L"3;8;18;4;10;0;", L"   ;        ;                  ;    ;          ;;" },

361     { L"x", L"xun", L"xun;xūn;xún;;xùn;;", L"1;1;1;0;1;0;", L"1;24;39;0;30;0;", L" ;                        ;                                       ;;                              ;;" },

362     { L"y", L"ya", L"ya;yā;yá;yǎ;yà;;", L"1;1;1;1;1;0;", L"3;24;19;11;33;0;", L"   ;                       ;                   ;           ;                                 ;;" },

363     { L"y", L"yan", L"yan;yān;yán;yǎn;yàn;;", L"1;1;1;1;1;0;", L"3;31;60;63;82;0;", L"   ;                               ;                                                            ;                                                               ;                                                                                 ;;" },

364     { L"y", L"yang", L"yang;yāng;yáng;yǎng;yàng;;", L"1;1;1;1;1;0;", L"1;14;41;25;11;0;", L" ;              ;                                        ;                         ;           ;;" },

365     { L"y", L"yao", L";yāo;yáo;yǎo;yào;;", L"0;1;1;1;1;0;", L"0;17;55;24;26;0;", L";                 ;                                                       ;                        ;                          ;;" },

366     { L"y", L"ye", L"ye;yē;yé;yě;yè;;", L"1;1;1;1;1;0;", L"2;11;10;8;56;0;", L"  ;           ;          ;       ;                                                        ;;" },

367     { L"y", L"yi", L"yi;yī;yí;yǐ;yì;;", L"1;1;1;1;1;0;", L"8;41;79;44;205;0;", L"        ;                                         ;                                                                               ;                                            ;                                                                                                                                                                                                             ;;" },

368     { L"y", L"yin", L"yin;yīn;yín;yǐn;yìn;;", L"1;1;1;1;1;0;", L"2;46;42;28;20;0;", L"  ;                                              ;                                          ;                            ;                   ;;" },

369     { L"y", L"ying", L"ying;yīng;yíng;yǐng;yìng;;", L"1;1;1;1;1;0;", L"4;60;52;16;7;0;", L"    ;                                                            ;                                                    ;                ;       ;;" },

370     { L"y", L"yo", L"yo;yō;;;;;", L"1;1;0;0;0;0;", L"1;4;0;0;0;0;", L" ;    ;;;;;" },

371     { L"y", L"yong", L"yong;yōng;yóng;yǒng;yòng;;", L"1;1;1;1;1;0;", L"2;31;4;28;5;0;", L"  ;                               ;    ;                            ;     ;;" },

372     { L"y", L"you", L"you;yōu;yóu;yǒu;yòu;;", L"1;1;1;1;1;0;", L"1;23;40;21;27;0;", L" ;                       ;                                        ;                    ;                           ;;" },

373     { L"y", L"yu", L"yu;yū;yú;yǔ;yù;;", L"1;1;1;1;1;0;", L"2;17;97;42;140;0;", L"  ;                 ;                                                                                                ;                                          ;                                                                                                                                            ;;" },

374     { L"y", L"yuan", L";yuān;yuán;yuǎn;yuàn;;", L"0;1;1;1;1;0;", L"0;31;61;5;18;0;", L";                               ;                                                             ;     ;                  ;;" },

375     { L"y", L"yue", L";yuē;;yuě;yuè;;", L"0;1;0;1;1;0;", L"0;6;0;2;49;0;", L";      ;;  ;                                                 ;;" },

376     { L"y", L"yun", L"yun;yūn;yún;yǔn;yùn;;", L"1;1;1;1;1;0;", L"1;13;33;18;34;0;", L" ;             ;                                 ;                  ;                                  ;;" },

377     { L"z", L"za", L"za;zā;zá;zǎ;;;", L"1;1;1;1;0;0;", L"2;11;10;1;0;0;", L"  ;           ;          ; ;;;" },

378     { L"z", L"zai", L"zai;zāi;;zǎi;zài;;", L"1;1;0;1;1;0;", L"1;10;0;4;10;0;", L" ;          ;;    ;          ;;" },

379     { L"z", L"zan", L";zān;zán;zǎn;zàn;;", L"0;1;1;1;1;0;", L"0;9;3;13;22;0;", L";         ;   ;             ;                      ;;" },

380     { L"z", L"zang", L"zang;zāng;;zǎng;zàng;;", L"1;1;0;1;1;0;", L"1;11;0;2;10;0;", L" ;           ;;  ;          ;;" },

381     { L"z", L"zao", L"zao;zāo;záo;zǎo;zào;;", L"1;1;1;1;1;0;", L"1;5;2;8;19;0;", L" ;     ;  ;        ;                   ;;" },

382     { L"z", L"ze", L"ze;;zé;;zè;;", L"1;0;1;0;1;0;", L"2;0;39;0;8;0;", L"  ;;                                       ;;        ;;" },

383     { L"z", L"zei", L";;zéi;;;;", L"0;0;1;0;0;0;", L"0;0;7;0;0;0;", L";;       ;;;;" },

384     { L"z", L"zen", L";;;zěn;zèn;;", L"0;0;0;1;1;0;", L"0;0;0;1;2;0;", L";;; ;  ;;" },

385     { L"z", L"zeng", L";zēng;;;zèng;;", L"0;1;0;0;1;0;", L"0;14;0;0;10;0;", L";              ;;;          ;;" },

386     { L"z", L"zha", L"zha;zhā;zhá;zhǎ;zhà;;", L"1;1;1;1;1;0;", L"1;27;15;9;19;0;", L" ;                           ;               ;         ;                   ;;" },

387     { L"z", L"zhai", L"zhai;zhāi;zhái;zhǎi;zhài;;", L"1;1;1;1;1;0;", L"2;8;4;2;7;0;", L"  ;        ;    ;  ;       ;;" },

388     { L"z", L"zhan", L"zhan;zhān;zhán;zhǎn;zhàn;;", L"1;1;1;1;1;0;", L"1;32;1;19;23;0;", L" ;                                ; ;                   ;                       ;;" },

389     { L"z", L"zhang", L"zhang;zhāng;;zhǎng;zhàng;;", L"1;1;0;1;1;0;", L"3;22;0;5;21;0;", L"   ;                      ;;     ;                     ;;" },

390     { L"z", L"zhao", L"zhao;zhāo;zháo;zhǎo;zhào;;", L"1;1;1;1;1;0;", L"1;16;1;5;25;0;", L" ;                ; ;     ;                         ;;" },

391     { L"z", L"zhe", L"zhe;zhē;zhé;zhě;zhè;;", L"1;1;1;1;1;0;", L"1;6;34;8;11;0;", L" ;      ;                                  ;        ;           ;;" },

392     { L"z", L"zhei", L";;;;zhèi;;", L"0;0;0;0;1;0;", L"0;0;0;0;1;0;", L";;;; ;;" },

393     { L"z", L"zhen", L"zhen;zhēn;;zhěn;zhèn;;", L"1;1;0;1;1;0;", L"1;51;0;27;24;0;", L" ;                                                   ;;                           ;                        ;;" },

394     { L"z", L"zheng", L";zhēng;;zhěng;zhèng;;", L"0;1;0;1;1;0;", L"0;43;0;8;20;0;", L";                                           ;;        ;                  ;;" },

395     { L"z", L"zhi", L"zhi;zhī;zhí;zhǐ;zhì;;", L"1;1;1;1;1;0;", L"2;44;37;40;127;0;", L"  ;                                            ;                                     ;                                        ;                                                                                                                               ;;" },

396     { L"z", L"zhong", L";zhōng;;zhǒng;zhòng;;", L"0;1;0;1;1;0;", L"0;32;0;13;18;0;", L";                                ;;             ;                  ;;" },

397     { L"z", L"zhou", L"zhou;zhōu;zhóu;zhǒu;zhòu;;", L"1;1;1;1;1;0;", L"2;34;3;8;37;0;", L"  ;                                  ;   ;        ;                                 ;;" },

398     { L"z", L"zhu", L"zhu;zhū;zhú;zhǔ;zhù;;", L"1;1;1;1;1;0;", L"1;36;29;23;55;0;", L" ;                                    ;                            ;                       ;                                                       ;;" },

399     { L"z", L"zhua", L";zhuā;;zhuǎ;;;", L"0;1;0;1;0;0;", L"0;7;0;1;0;0;", L";       ;; ;;;" },

400     { L"z", L"zhuai", L";zhuāi;zhuái;zhuǎi;zhuài;;", L"0;1;1;1;1;0;", L"0;1;1;1;1;0;", L"; ; ; ; ;;" },

401     { L"z", L"zhuan", L";zhuān;;zhuǎn;zhuàn;;", L"0;1;0;1;1;0;", L"0;19;0;4;23;0;", L";                  ;;    ;                       ;;" },

402     { L"z", L"zhuang", L";zhuāng;;zhuǎng;zhuàng;;", L"0;1;0;1;1;0;", L"0;15;0;1;10;0;", L";               ;; ;          ;;" },

403     { L"z", L"zhui", L";zhuī;;zhuǐ;zhuì;;", L"0;1;0;1;1;0;", L"0;8;0;1;21;0;", L";        ;; ;                     ;;" },

404     { L"z", L"zhun", L";zhūn;;zhǔn;zhùn;;", L"0;1;0;1;1;0;", L"0;9;0;5;2;0;", L";         ;;     ;  ;;" },

405     { L"z", L"zhuo", L"zhuo;zhuō;zhuó;;;;", L"1;1;1;0;0;0;", L"1;16;56;0;0;0;", L" ;               ;                                                        ;;;;" },

406     { L"z", L"zi", L"zi;zī;zí;zǐ;zì;;", L"1;1;1;1;1;0;", L"3;66;1;24;16;0;", L"   ;                                                                  ; ;                        ;                ;;" },

407     { L"z", L"zong", L";zōng;;zǒng;zòng;;", L"0;1;0;1;1;0;", L"0;38;0;16;12;0;", L";                                      ;;                ;            ;;" },

408     { L"z", L"zou", L";zōu;;zǒu;zòu;;", L"0;1;0;1;1;0;", L"0;20;0;2;2;0;", L";                    ;;  ;  ;;" },

409     { L"z", L"zu", L"zu;zū;zú;zǔ;;;", L"1;1;1;1;0;0;", L"2;5;13;11;0;0;", L"  ;     ;            ;           ;;;" },

410     { L"z", L"zuan", L";zuān;;zuǎn;zuàn;;", L"0;1;0;1;1;0;", L"0;7;0;7;3;0;", L";       ;;       ;   ;;" },

411     { L"z", L"zui", L";zuī;;zuǐ;zuì;;", L"0;1;0;1;1;0;", L"0;7;0;5;19;0;", L";       ;;     ;                   ;;" },

412     { L"z", L"zun", L";zūn;;zǔn;zùn;;", L"0;1;0;1;1;0;", L"0;10;0;4;2;0;", L";          ;;    ;  ;;" },

413     { L"z", L"zuo", L"zuo;zuō;zuó;zuǒ;zuò;;", L"1;1;1;1;1;0;", L"1;3;9;4;17;0;", L" ;   ;         ;    ;                 ;;" }

414 };

 
ライブラリの基本操作:
  1 bool HanziTable_impl::GetFirstPinyin(const wchar_t &fHanzi, std::set<std::wstring> &ffpys)

  2 {

  3     bool lIsSuccess = false;

  4     ffpys.clear();

  5 

  6     for (int i = 0; i < sHanziTableSize; ++i)

  7     {

  8         if (std::wstring::npos != HanziInfoTable[i].hanzis.find(fHanzi))

  9         {

 10             ffpys.insert(HanziInfoTable[i].atoz);

 11         }

 12     }

 13 

 14     if (ffpys.size() != 0) lIsSuccess = true;

 15     else lIsSuccess = false;

 16 

 17     return lIsSuccess;

 18 }

 19 bool HanziTable_impl::GetPinyin(const wchar_t &fHanzi, std::set<std::wstring> &fpys)

 20 {

 21     bool lIsSuccess = false;

 22     fpys.clear();

 23 

 24     for (int i = 0; i < sHanziTableSize; ++i)

 25     {

 26         if (std::wstring::npos != HanziInfoTable[i].hanzis.find(fHanzi))

 27         {

 28             fpys.insert(HanziInfoTable[i].pinyin);

 29         }

 30     }

 31 

 32     if (fpys.size() != 0) lIsSuccess = true;

 33     else lIsSuccess = false;

 34 

 35     return lIsSuccess;

 36 }

 37 bool HanziTable_impl::GetHanziPosition(const wchar_t &fHanzi, std::map<std::wstring, HanziPosition> &fhps)

 38 {

 39     bool lIsSuccess = false;

 40     fhps.clear();

 41 

 42     for (int i = 0; i < sHanziTableSize; ++i)

 43     {

 44         int _hanzipos = 0;

 45         HanziPosition _hp;

 46 

 47         /////////////////////TESTING START/////////////////////////////////////////////

 48 

 49         if (L"    ; ;          ;;;;" == HanziInfoTable[i].hanzis && L' ' == fHanzi)

 50         {

 51             int a = 0;

 52         }

 53 

 54         /////////////////////TESTING END///////////////////////////////////////////////

 55 

 56         while (std::wstring::npos != (_hanzipos = HanziInfoTable[i].hanzis.find(fHanzi, _hanzipos)))

 57         {

 58             int _semicolonpos = _hanzipos;

 59             int _count = 0;

 60             while (std::wstring::npos != (_semicolonpos = HanziInfoTable[i].hanzis.find(SEMICOLON, _semicolonpos)))

 61             {

 62                 ++_count;

 63                 ++_semicolonpos;

 64             }

 65 

 66             _hp.phoneticize = GetField(i, SEMICOLONCOUNT - _count, PHONETICIZE);

 67             _hp.row = i;

 68             _hp.column = SEMICOLONCOUNT - _count;

 69 

 70             if (_hp.phoneticize.size() != 0)

 71                 fhps.insert(std::make_pair(_hp.phoneticize, _hp));

 72 

 73             ++_hanzipos;

 74         }

 75     }

 76 

 77     if (fhps.size() != 0) lIsSuccess = true;

 78     else lIsSuccess = false;

 79 

 80     return lIsSuccess;

 81 }

 82 

 83 std::wstring HanziTable_impl::GetField(const int &fRowPos, const int &fColumnPos, const HanziInfoType &fType)

 84 {

 85     std::wstring retField;

 86     int lpos = 0;

 87     int lstartpos = 0;

 88     int lendpos = 0;

 89     int lcount = 0;

 90 

 91     switch (fType)

 92     {

 93     case ATOZ:

 94     {

 95         //not use fColumnPos

 96         retField = HanziInfoTable[fRowPos].atoz;

 97     }

 98         break;

 99     case PINYIN:

100     {

101         //not use fColumnPos

102         retField = HanziInfoTable[fRowPos].pinyin;

103     }

104         break;

105     case PHONETICIZE:

106     {

107         while (std::wstring::npos != (lpos = HanziInfoTable[fRowPos].phoneticizes.find(SEMICOLON, lpos)))

108         {

109             if (0 == fColumnPos) lstartpos = 0;

110             else { if (lcount == fColumnPos - 1) lstartpos = lpos + 1;  }

111             if (lcount == fColumnPos) { lendpos = lpos; break; }

112             ++lpos;

113             ++lcount;

114         }

115         if (lendpos != 0)

116             retField = HanziInfoTable[fRowPos].phoneticizes.substr(lstartpos, lendpos - lstartpos);

117     }

118     break;

119     case INTONATION:

120     {

121         while (std::wstring::npos != (lpos = HanziInfoTable[fRowPos].intonations.find(SEMICOLON, lpos)))

122         {

123             if (0 == fColumnPos) lstartpos = 0;

124             else { if (lcount == fColumnPos - 1) lstartpos = lpos + 1; }

125             if (lcount == fColumnPos) { lendpos = lpos; break; }

126             ++lpos;

127             ++lcount;

128         }

129         if (lendpos != 0)

130             retField = HanziInfoTable[fRowPos].intonations.substr(lstartpos, lendpos - lstartpos);

131     }

132     break;

133     case COUNT:

134     {

135         while (std::wstring::npos != (lpos = HanziInfoTable[fRowPos].counts.find(SEMICOLON, lpos)))

136         {

137             if (0 == fColumnPos) lstartpos = 0;

138             else { if (lcount == fColumnPos - 1) lstartpos = lpos + 1; }

139             if (lcount == fColumnPos) { lendpos = lpos; break; }

140             ++lpos;

141             ++lcount;

142         }

143         if (lendpos != 0)

144             retField = HanziInfoTable[fRowPos].counts.substr(lstartpos, lendpos - lstartpos);

145     }

146     break;

147     case HANZIS:

148     {

149         while (std::wstring::npos != (lpos = HanziInfoTable[fRowPos].hanzis.find(SEMICOLON, lpos)))

150         {

151             if (0 == fColumnPos) lstartpos = 0;

152             else { if (lcount == fColumnPos - 1) lstartpos = lpos + 1; }

153             if (lcount == fColumnPos) { lendpos = lpos; break; }

154             ++lcount;

155             ++lpos;

156         }

157         if (lendpos != 0)

158             retField = HanziInfoTable[fRowPos].hanzis.substr(lstartpos, lendpos - lstartpos);

159     }

160     break;

161     default:

162         return L"\0";

163     }

164 

165     return retField;

166 }

 
漢字変換クラス処理:
  1 bool HanziToPinyin_impl::_HZsToFPYs(const std::wstring &fhzs, std::wstring &ffpys)

  2 {

  3     bool retIsSuccess = false;

  4     int lLength = fhzs.size();

  5 

  6     for (int i = 0; i < lLength; ++i)

  7     {

  8         wchar_t _wchari = fhzs[i]; // Must step

  9 

 10         if (IsHanzi(_wchari))

 11         {

 12             std::set<std::wstring> _fpys;

 13             if (GetFirstPinyin(fhzs[i], _fpys))

 14             {

 15                 ffpys += *(_fpys.begin());

 16             }

 17             else

 18             {

 19                 if (std::wstring::npos != ChinesePunctuation[0].find(fhzs[i]) || 

 20                     std::wstring::npos != ChinesePunctuation[1].find(fhzs[i]))

 21                 {

 22                     ffpys += fhzs[i];

 23                 }

 24                 else

 25                 {

 26                     if (std::wstring::npos != ChinesePunctuation[0].find(_wchari)) ffpys += fhzs[i];

 27                     else return retIsSuccess = false; //error

 28                 }

 29             }

 30         }

 31         else

 32         {

 33             ffpys += fhzs[i];

 34         }

 35         retIsSuccess = true;

 36     }

 37 

 38     return retIsSuccess;

 39 }

 40 bool HanziToPinyin_impl::_HZsToPYs(const std::wstring &fhzs, std::wstring &fpys)

 41 {

 42     bool retIsSuccess = false;

 43     int lLength = fhzs.size();

 44 

 45     for (int i = 0; i < lLength; ++i)

 46     {

 47         wchar_t _wchari = fhzs[i]; // Must step

 48 

 49         if (IsHanzi(_wchari))

 50         {

 51             std::set<std::wstring> _fpys;

 52             if (GetPinyin(fhzs[i], _fpys))

 53             {

 54                 fpys += *(_fpys.begin());

 55             }

 56             else

 57             {

 58                 if (std::wstring::npos != ChinesePunctuation[0].find(fhzs[i]) ||

 59                     std::wstring::npos != ChinesePunctuation[1].find(fhzs[i]))

 60                 {

 61                     fpys += fhzs[i];

 62                 }

 63                 else

 64                 {

 65                     if (std::wstring::npos != ChinesePunctuation[0].find(_wchari)) fpys += fhzs[i];

 66                     else return retIsSuccess = false; //error

 67                 }

 68             }

 69         }

 70         else

 71         {

 72             fpys += fhzs[i];

 73         }

 74         retIsSuccess = true;

 75     }

 76 

 77     return retIsSuccess;

 78 }

 79 bool HanziToPinyin_impl::IsHanzi(const wchar_t &Hanzi)

 80 {

 81     std::wregex lRegex(WREGEXHANZI);

 82     std::wcmatch lMatch;

 83 

 84     bool ret = std::regex_search(&Hanzi, lMatch, lRegex);

 85     //bool ret = std::regex_match(&Hanzi, lMatch, lRegex);

 86 

 87 

 88     /////////////////////TESTING START/////////////////////////////////////////////

 89 

 90     if (L'i' == Hanzi)

 91     {

 92         int test_1 = lMatch.size();

 93         bool test_2 = lMatch.empty();

 94         int a = 0;

 95     }

 96     else

 97     {

 98         int test_1 = lMatch.size();

 99         bool test_2 = lMatch.empty();

100         int b = 0;

101     }

102 

103     /////////////////////TESTING END///////////////////////////////////////////////

104 

105     if (lMatch.empty()) return false;

106     else return true;

107 }

 
テストセクション:
 1 int _tmain(int argc, _TCHAR* argv[])

 2 {

 3     /////////////////////TESTING START/////////////////////////////////////////////

 4 

 5     //std::wstring test_1 = test_ret_null_string();

 6     //int test_size_1 = test_1.size();

 7 

 8     //std::wstring test_2 = test_ret_null_string2();

 9     //int test_size_2 = test_2.size();

10 

11     //std::wstring test_100 = ChinesePunctuation[0];

12     //std::wstring test_101 = ChinesePunctuation[1];

13     //if (std::wstring::npos != ChinesePunctuation[1].find(L'\\'))

14     //{

15     //    std::cout << '\\' << std::endl;

16     //}

17     //if (std::wstring::npos != ChinesePunctuation[1].find(L'\''))

18     //{

19     //    std::cout << '\'' << std::endl;

20     //}

21     //if (std::wstring::npos != ChinesePunctuation[1].find(L'\"'))

22     //{

23     //    std::cout << '\"' << std::endl;

24     //}

25     

26 

27     //HanziTable_impl test_2;

28     //std::set<std::wstring> test_firstpinyin_3;

29     //std::set<std::wstring> test_pinyin_3;

30     //std::map<std::wstring, HanziPosition> test_HanziPosition_1;

31     //HanziPosition test_pos_1;

32     //wchar_t test_hanzi_3 = L' ';

33     //bool test_is_success_31 = test_2.GetFirstPinyin(test_hanzi_3, test_firstpinyin_3);

34     //bool test_is_success_32 = test_2.GetPinyin(test_hanzi_3, test_pinyin_3);

35     //bool test_is_success_36 = test_2.GetHanziPosition(test_hanzi_3, test_HanziPosition_1);

36 

37     //wchar_t test_hanzi_4 = L' ';

38     //bool test_is_success_37 = test_2.GetHanziPosition(test_hanzi_4, test_HanziPosition_1);

39     //int test_size_1 = sizeof(HanziInfoTable) / sizeof(HanziInfo);

40     //std::wstring test_ATOZ_1 = test_2.GetField(61, 1, ATOZ);

41     //std::wstring test_PINYIN_1 = test_2.GetField(61, 1, PINYIN);

42     //std::wstring test_PHONETICIZE_1 = test_2.GetField(61, 1, PHONETICIZE);

43     //std::wstring test_INTONATION_1 = test_2.GetField(61, 1, INTONATION);

44     //std::wstring test_COUNT_1 = test_2.GetField(61, 1, COUNT);

45     //std::wstring test_HANZIS_1 = test_2.GetField(61, 1, HANZIS);

46 

47 

48     HanziToPinyin_impl test_3;

49     //std::wstring test_wstr_1 = L"sdfij";

50     //std::wstring rest_ret_1;

51     //rest_ret_1 = test_3.HZsToFPYs(test_wstr_1);

52     //bool test_ret_2 = test_3.IsHanzi(L'i');

53 

54     std::wstring test_wstr_2 = L"             ;     ,   ijfs             djkjfdjf";

55     std::wstring rest_ret_2;

56     rest_ret_2 = test_3.HZsToFPYs(test_wstr_2);

57     std::wstring rest_ret_3;

58     rest_ret_3 = test_3.HZsToPYs(test_wstr_2);

59 

60     

61 

62     /////////////////////TESTING END///////////////////////////////////////////////

63 

64     return 0;

65 }

 
 
主要な部分はすでにみんなに展示し終わって、もしみんなが必要ならば、ここをクリックして、完全なソースコードをダウンロードすることができます.