pinyin_dict.h 81 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480
  1. /* Generated by gb2312_pinyin_c.py */
  2. #ifndef PINYIN_DICT_H
  3. #define PINYIN_DICT_H
  4. #include <stdint.h>
  5. #include <stddef.h>
  6. typedef struct {
  7. const char *pinyin;
  8. const uint32_t *codepoints;
  9. uint16_t count;
  10. } pinyin_entry_t;
  11. static const uint32_t pinyin_a_codepoints[] = {
  12. 0x554A, 0x963F, 0x5475
  13. };
  14. static const uint32_t pinyin_ai_codepoints[] = {
  15. 0x57C3, 0x6328, 0x54CE, 0x5509, 0x54C0, 0x7691, 0x764C, 0x853C,
  16. 0x77EE, 0x827E, 0x788D, 0x7231, 0x9698, 0x5446, 0x4E43, 0x5947
  17. };
  18. static const uint32_t pinyin_an_codepoints[] = {
  19. 0x978D, 0x6C28, 0x5B89, 0x4FFA, 0x6309, 0x6697, 0x5CB8, 0x80FA,
  20. 0x6848, 0x5382, 0x5E72, 0x5E7F, 0x76D2
  21. };
  22. static const uint32_t pinyin_ang_codepoints[] = {
  23. 0x80AE, 0x6602, 0x76CE, 0x4EF0
  24. };
  25. static const uint32_t pinyin_ao_codepoints[] = {
  26. 0x51F9, 0x6556, 0x71AC, 0x7FF1, 0x8884, 0x50B2, 0x5965, 0x61CA,
  27. 0x6FB3, 0x68CD, 0x56A3
  28. };
  29. static const uint32_t pinyin_ba_codepoints[] = {
  30. 0x82AD, 0x634C, 0x6252, 0x53ED, 0x5427, 0x7B06, 0x516B, 0x75A4,
  31. 0x5DF4, 0x62D4, 0x8DCB, 0x9776, 0x628A, 0x8019, 0x575D, 0x9738,
  32. 0x7F62, 0x7238, 0x4F2F, 0x6E43
  33. };
  34. static const uint32_t pinyin_bai_codepoints[] = {
  35. 0x6252, 0x767D, 0x67CF, 0x767E, 0x6446, 0x4F70, 0x8D25, 0x62DC,
  36. 0x7A17, 0x4F2F, 0x5561, 0x6392, 0x6D3E
  37. };
  38. static const uint32_t pinyin_ban_codepoints[] = {
  39. 0x6591, 0x73ED, 0x642C, 0x6273, 0x822C, 0x9881, 0x677F, 0x7248,
  40. 0x626E, 0x62CC, 0x4F34, 0x74E3, 0x534A, 0x529E, 0x7ECA, 0x5351,
  41. 0x8FA8, 0x5F6C
  42. };
  43. static const uint32_t pinyin_bang_codepoints[] = {
  44. 0x90A6, 0x5E2E, 0x6886, 0x699C, 0x8180, 0x7ED1, 0x68D2, 0x78C5,
  45. 0x868C, 0x9551, 0x508D, 0x8C24, 0x65C1, 0x5F6D
  46. };
  47. static const uint32_t pinyin_bao_codepoints[] = {
  48. 0x82DE, 0x80DE, 0x5305, 0x8912, 0x5265, 0x8584, 0x96F9, 0x4FDD,
  49. 0x5821, 0x9971, 0x5B9D, 0x62B1, 0x62A5, 0x66B4, 0x8C79, 0x9C8D,
  50. 0x7206, 0x5446, 0x5228, 0x70AE, 0x888D, 0x66DD, 0x7011
  51. };
  52. static const uint32_t pinyin_bei_codepoints[] = {
  53. 0x62D4, 0x8DCB, 0x676F, 0x7891, 0x60B2, 0x5351, 0x5317, 0x8F88,
  54. 0x80CC, 0x8D1D, 0x94A1, 0x500D, 0x72C8, 0x5907, 0x60EB, 0x7119,
  55. 0x88AB, 0x81C2, 0x6CE2, 0x8461, 0x83E9
  56. };
  57. static const uint32_t pinyin_ben_codepoints[] = {
  58. 0x5954, 0x82EF, 0x672C, 0x7B28, 0x592F, 0x4F53
  59. };
  60. static const uint32_t pinyin_beng_codepoints[] = {
  61. 0x699C, 0x868C, 0x508D, 0x5D29, 0x7EF7, 0x752D, 0x6CF5, 0x8E66,
  62. 0x8FF8, 0x65C1, 0x62A8, 0x5E73
  63. };
  64. static const uint32_t pinyin_bi_codepoints[] = {
  65. 0x5351, 0x88AB, 0x903C, 0x9F3B, 0x6BD4, 0x9119, 0x7B14, 0x5F7C,
  66. 0x78A7, 0x84D6, 0x853D, 0x6BD5, 0x6BD9, 0x6BD6, 0x5E01, 0x5E87,
  67. 0x75F9, 0x95ED, 0x655D, 0x5F0A, 0x5FC5, 0x8F9F, 0x58C1, 0x81C2,
  68. 0x907F, 0x965B, 0x6CE2, 0x80A5, 0x4F5B, 0x62C2, 0x5E45, 0x670D,
  69. 0x8651, 0x79D8, 0x6CCC, 0x813E, 0x77A5
  70. };
  71. static const uint32_t pinyin_bian_codepoints[] = {
  72. 0x97AD, 0x8FB9, 0x7F16, 0x8D2C, 0x6241, 0x4FBF, 0x53D8, 0x535E,
  73. 0x8FA8, 0x8FA9, 0x8FAB, 0x904D, 0x5C01
  74. };
  75. static const uint32_t pinyin_biao_codepoints[] = {
  76. 0x82DE, 0x6807, 0x5F6A, 0x8198, 0x8868, 0x6F02
  77. };
  78. static const uint32_t pinyin_bie_codepoints[] = {
  79. 0x634C, 0x6252, 0x62D4, 0x853D, 0x9CD6, 0x618B, 0x522B, 0x762A,
  80. 0x79D8, 0x6487
  81. };
  82. static const uint32_t pinyin_bin_codepoints[] = {
  83. 0x5F6C, 0x658C, 0x6FD2, 0x6EE8, 0x5BBE, 0x6448, 0x4EFD
  84. };
  85. static const uint32_t pinyin_bing_codepoints[] = {
  86. 0x5175, 0x51B0, 0x67C4, 0x4E19, 0x79C9, 0x997C, 0x70B3, 0x75C5,
  87. 0x5E76, 0x62FC, 0x5E73, 0x5C4F
  88. };
  89. static const uint32_t pinyin_bo_codepoints[] = {
  90. 0x62D4, 0x767D, 0x67CF, 0x767E, 0x822C, 0x5265, 0x8584, 0x66B4,
  91. 0x7206, 0x73BB, 0x83E0, 0x64AD, 0x62E8, 0x94B5, 0x6CE2, 0x535A,
  92. 0x52C3, 0x640F, 0x94C2, 0x7B94, 0x4F2F, 0x5E1B, 0x8236, 0x8116,
  93. 0x818A, 0x6E24, 0x6CCA, 0x9A73, 0x535C, 0x7C3F, 0x756A, 0x4F5B,
  94. 0x670D, 0x52DF, 0x6015, 0x62CD, 0x6F58, 0x8DD1, 0x9B44, 0x83E9,
  95. 0x84B2, 0x7011
  96. };
  97. static const uint32_t pinyin_bu_codepoints[] = {
  98. 0x8584, 0x5821, 0x6355, 0x535C, 0x54FA, 0x8865, 0x57E0, 0x4E0D,
  99. 0x5E03, 0x6B65, 0x7C3F, 0x90E8, 0x6016, 0x9644, 0x57D4
  100. };
  101. static const uint32_t pinyin_ca_codepoints[] = {
  102. 0x64E6, 0x8521, 0x62C6
  103. };
  104. static const uint32_t pinyin_cai_codepoints[] = {
  105. 0x731C, 0x88C1, 0x6750, 0x624D, 0x8D22, 0x776C, 0x8E29, 0x91C7,
  106. 0x5F69, 0x83DC, 0x8521
  107. };
  108. static const uint32_t pinyin_can_codepoints[] = {
  109. 0x9910, 0x53C2, 0x8695, 0x6B8B, 0x60ED, 0x60E8, 0x707F, 0x63BA
  110. };
  111. static const uint32_t pinyin_cang_codepoints[] = {
  112. 0x82CD, 0x8231, 0x4ED3, 0x6CA7, 0x85CF
  113. };
  114. static const uint32_t pinyin_cao_codepoints[] = {
  115. 0x64CD, 0x7CD9, 0x69FD, 0x66F9, 0x8349, 0x6FA1, 0x9020
  116. };
  117. static const uint32_t pinyin_ce_codepoints[] = {
  118. 0x5395, 0x7B56, 0x4FA7, 0x518C, 0x6D4B, 0x8D66, 0x6805
  119. };
  120. static const uint32_t pinyin_cen_codepoints[] = {
  121. 0x53C2
  122. };
  123. static const uint32_t pinyin_ceng_codepoints[] = {
  124. 0x5C42, 0x8E6D, 0x50E7, 0x589E, 0x66FE
  125. };
  126. static const uint32_t pinyin_cha_codepoints[] = {
  127. 0x63D2, 0x53C9, 0x832C, 0x8336, 0x67E5, 0x78B4, 0x643D, 0x5BDF,
  128. 0x5C94, 0x5DEE, 0x8BE7, 0x63A5, 0x6377, 0x5239, 0x571F, 0x659C,
  129. 0x55B3
  130. };
  131. static const uint32_t pinyin_chai_codepoints[] = {
  132. 0x67E5, 0x5DEE, 0x62C6, 0x67F4, 0x8C7A, 0x6413
  133. };
  134. static const uint32_t pinyin_chan_codepoints[] = {
  135. 0x6400, 0x63BA, 0x8749, 0x998B, 0x8C17, 0x7F20, 0x94F2, 0x4EA7,
  136. 0x9610, 0x98A4, 0x5355, 0x5398, 0x82EB, 0x5154, 0x6CBE
  137. };
  138. static const uint32_t pinyin_chang_codepoints[] = {
  139. 0x660C, 0x7316, 0x573A, 0x5C1D, 0x5E38, 0x957F, 0x507F, 0x80A0,
  140. 0x5382, 0x655E, 0x7545, 0x5531, 0x5021, 0x5C1A, 0x88F3, 0x5018,
  141. 0x6DCC
  142. };
  143. static const uint32_t pinyin_chao_codepoints[] = {
  144. 0x8D85, 0x6284, 0x949E, 0x671D, 0x5632, 0x6F6E, 0x5DE2, 0x5435,
  145. 0x7092, 0x7EF0, 0x527F
  146. };
  147. static const uint32_t pinyin_che_codepoints[] = {
  148. 0x62C6, 0x8F66, 0x626F, 0x64A4, 0x63A3, 0x5F7B, 0x6F88, 0x6C60,
  149. 0x5C3A, 0x65A5, 0x5B85
  150. };
  151. static const uint32_t pinyin_chen_codepoints[] = {
  152. 0x90F4, 0x81E3, 0x8FB0, 0x5C18, 0x6668, 0x5FF1, 0x6C89, 0x9648,
  153. 0x8D81, 0x886C, 0x79F0, 0x6A59, 0x582A, 0x5E18, 0x6C88, 0x586B,
  154. 0x6E5B, 0x6795, 0x75B9
  155. };
  156. static const uint32_t pinyin_cheng_codepoints[] = {
  157. 0x655E, 0x6491, 0x79F0, 0x57CE, 0x6A59, 0x6210, 0x5448, 0x4E58,
  158. 0x7A0B, 0x60E9, 0x6F84, 0x8BDA, 0x627F, 0x901E, 0x9A8B, 0x79E4,
  159. 0x76EF, 0x51C0, 0x68F1, 0x76DB, 0x8D9F, 0x9192
  160. };
  161. static const uint32_t pinyin_chi_codepoints[] = {
  162. 0x832C, 0x62C6, 0x5403, 0x75F4, 0x6301, 0x5319, 0x6C60, 0x8FDF,
  163. 0x5F1B, 0x9A70, 0x803B, 0x9F7F, 0x4F88, 0x5C3A, 0x8D64, 0x7FC5,
  164. 0x65A5, 0x70BD, 0x54C6, 0x79BB, 0x8389, 0x86C7, 0x5979, 0x62AC,
  165. 0x63D0, 0x62D6, 0x559C, 0x79FB, 0x6CBB
  166. };
  167. static const uint32_t pinyin_chong_codepoints[] = {
  168. 0x5145, 0x51B2, 0x866B, 0x5D07, 0x5BA0, 0x8327, 0x916E, 0x6D8C,
  169. 0x76C5, 0x79CD, 0x91CD, 0x70DB
  170. };
  171. static const uint32_t pinyin_chou_codepoints[] = {
  172. 0x62BD, 0x916C, 0x7574, 0x8E0C, 0x7A20, 0x6101, 0x7B79, 0x4EC7,
  173. 0x7EF8, 0x7785, 0x4E11, 0x81ED, 0x626D
  174. };
  175. static const uint32_t pinyin_chu_codepoints[] = {
  176. 0x521D, 0x51FA, 0x6A71, 0x53A8, 0x8E87, 0x9504, 0x96CF, 0x6EC1,
  177. 0x9664, 0x695A, 0x7840, 0x50A8, 0x77D7, 0x6410, 0x89E6, 0x5904,
  178. 0x786B, 0x67E0, 0x6DD1, 0x6D82, 0x755C, 0x7D6E, 0x8457, 0x52A9,
  179. 0x795D
  180. };
  181. static const uint32_t pinyin_chua_codepoints[] = {
  182. 0x64AE
  183. };
  184. static const uint32_t pinyin_chuai_codepoints[] = {
  185. 0x63E3
  186. };
  187. static const uint32_t pinyin_chuan_codepoints[] = {
  188. 0x5DDD, 0x7A7F, 0x693D, 0x4F20, 0x8239, 0x5598, 0x4E32
  189. };
  190. static const uint32_t pinyin_chuang_codepoints[] = {
  191. 0x75AE, 0x7A97, 0x5E62, 0x5E8A, 0x95EF, 0x521B, 0x8471, 0x56F1
  192. };
  193. static const uint32_t pinyin_chui_codepoints[] = {
  194. 0x5439, 0x708A, 0x6376, 0x9524, 0x5782, 0x690E
  195. };
  196. static const uint32_t pinyin_chun_codepoints[] = {
  197. 0x6625, 0x693F, 0x9187, 0x5507, 0x6DF3, 0x7EAF, 0x8822
  198. };
  199. static const uint32_t pinyin_chuo_codepoints[] = {
  200. 0x8E87, 0x6233, 0x7EF0, 0x7C07, 0x4FC3, 0x6DD6, 0x919B
  201. };
  202. static const uint32_t pinyin_ci_codepoints[] = {
  203. 0x5DEE, 0x67F4, 0x75B5, 0x8328, 0x78C1, 0x96CC, 0x8F9E, 0x6148,
  204. 0x74F7, 0x8BCD, 0x6B64, 0x523A, 0x8D50, 0x6B21, 0x63AA, 0x53F8,
  205. 0x4F3A, 0x5179, 0x6ECB
  206. };
  207. static const uint32_t pinyin_cong_codepoints[] = {
  208. 0x7A97, 0x806A, 0x8471, 0x56F1, 0x5306, 0x4ECE, 0x4E1B
  209. };
  210. static const uint32_t pinyin_cou_codepoints[] = {
  211. 0x51D1, 0x7C07, 0x8DA3, 0x594F, 0x63CD, 0x65CF
  212. };
  213. static const uint32_t pinyin_cu_codepoints[] = {
  214. 0x7C97, 0x918B, 0x7C07, 0x4FC3, 0x621A, 0x4E14, 0x8DA3, 0x5352
  215. };
  216. static const uint32_t pinyin_cuan_codepoints[] = {
  217. 0x8E7F, 0x7BE1, 0x7A9C, 0x8E72, 0x6512
  218. };
  219. static const uint32_t pinyin_cui_codepoints[] = {
  220. 0x5BDF, 0x6467, 0x5D14, 0x50AC, 0x8106, 0x7601, 0x7CB9, 0x6DEC,
  221. 0x7FE0, 0x6D12, 0x8870, 0x4F53, 0x5352
  222. };
  223. static const uint32_t pinyin_cun_codepoints[] = {
  224. 0x6751, 0x5B58, 0x5BF8, 0x8E72, 0x6D5A
  225. };
  226. static const uint32_t pinyin_cuo_codepoints[] = {
  227. 0x5DEE, 0x6467, 0x78CB, 0x64AE, 0x6413, 0x63AA, 0x632B, 0x9519,
  228. 0x6614, 0x6700
  229. };
  230. static const uint32_t pinyin_da_codepoints[] = {
  231. 0x642D, 0x8FBE, 0x7B54, 0x7629, 0x6253, 0x5927, 0x80C6, 0x8FED,
  232. 0x584C, 0x5854
  233. };
  234. static const uint32_t pinyin_dai_codepoints[] = {
  235. 0x5927, 0x5446, 0x6B79, 0x50A3, 0x6234, 0x5E26, 0x6B86, 0x4EE3,
  236. 0x8D37, 0x888B, 0x5F85, 0x902E, 0x6020, 0x6BD2, 0x96B6
  237. };
  238. static const uint32_t pinyin_dan_codepoints[] = {
  239. 0x5FF1, 0x803D, 0x62C5, 0x4E39, 0x5355, 0x90F8, 0x63B8, 0x80C6,
  240. 0x65E6, 0x6C2E, 0x4F46, 0x60EE, 0x6DE1, 0x8BDE, 0x5F39, 0x86CB,
  241. 0x61BE, 0x5189, 0x77F3, 0x6F6D, 0x8712, 0x8A79, 0x6E5B
  242. };
  243. static const uint32_t pinyin_dang_codepoints[] = {
  244. 0x5F53, 0x6321, 0x515A, 0x8361, 0x6863
  245. };
  246. static const uint32_t pinyin_dao_codepoints[] = {
  247. 0x5200, 0x6363, 0x8E48, 0x5012, 0x5C9B, 0x7977, 0x5BFC, 0x5230,
  248. 0x7A3B, 0x60BC, 0x9053, 0x76D7, 0x6566, 0x53D7, 0x9676
  249. };
  250. static const uint32_t pinyin_de_codepoints[] = {
  251. 0x5FB7, 0x5F97, 0x7684, 0x767B, 0x5E95, 0x5730
  252. };
  253. static const uint32_t pinyin_dei_codepoints[] = {
  254. 0x5F97
  255. };
  256. static const uint32_t pinyin_deng_codepoints[] = {
  257. 0x6A59, 0x6F84, 0x8E6C, 0x706F, 0x767B, 0x7B49, 0x77AA, 0x51F3,
  258. 0x9093
  259. };
  260. static const uint32_t pinyin_di_codepoints[] = {
  261. 0x902E, 0x7684, 0x5824, 0x4F4E, 0x6EF4, 0x8FEA, 0x654C, 0x7B1B,
  262. 0x72C4, 0x6DA4, 0x7FDF, 0x5AE1, 0x62B5, 0x5E95, 0x5730, 0x8482,
  263. 0x7B2C, 0x5E1D, 0x5F1F, 0x9012, 0x7F14, 0x96B6, 0x828D, 0x52FA,
  264. 0x63D0, 0x8E44, 0x9010
  265. };
  266. static const uint32_t pinyin_dian_codepoints[] = {
  267. 0x98A0, 0x6382, 0x6EC7, 0x7898, 0x70B9, 0x5178, 0x975B, 0x57AB,
  268. 0x7535, 0x4F43, 0x7538, 0x5E97, 0x60E6, 0x5960, 0x6DC0, 0x6BBF,
  269. 0x62C8, 0x6D8E, 0x6CBE
  270. };
  271. static const uint32_t pinyin_diao_codepoints[] = {
  272. 0x7A20, 0x5200, 0x7889, 0x53FC, 0x96D5, 0x51CB, 0x5201, 0x6389,
  273. 0x540A, 0x9493, 0x8C03, 0x6566, 0x9E1F, 0x6311, 0x8DF3
  274. };
  275. static const uint32_t pinyin_die_codepoints[] = {
  276. 0x8DCC, 0x7239, 0x789F, 0x8776, 0x8FED, 0x8C0D, 0x53E0, 0x54C6,
  277. 0x6D89, 0x8E22, 0x81F3, 0x7A92
  278. };
  279. static const uint32_t pinyin_ding_codepoints[] = {
  280. 0x706F, 0x5960, 0x4E01, 0x76EF, 0x53EE, 0x9489, 0x9876, 0x9F0E,
  281. 0x952D, 0x5B9A, 0x8BA2, 0x6C40
  282. };
  283. static const uint32_t pinyin_diu_codepoints[] = {
  284. 0x4E22
  285. };
  286. static const uint32_t pinyin_dong_codepoints[] = {
  287. 0x4E1C, 0x51AC, 0x8463, 0x61C2, 0x52A8, 0x680B, 0x4F97, 0x606B,
  288. 0x51BB, 0x6D1E, 0x6850, 0x916E, 0x7B52
  289. };
  290. static const uint32_t pinyin_dou_codepoints[] = {
  291. 0x515C, 0x6296, 0x6597, 0x9661, 0x8C46, 0x9017, 0x75D8, 0x90FD,
  292. 0x8BFB, 0x6295, 0x903E
  293. };
  294. static const uint32_t pinyin_du_codepoints[] = {
  295. 0x90FD, 0x7763, 0x6BD2, 0x728A, 0x72EC, 0x8BFB, 0x5835, 0x7779,
  296. 0x8D4C, 0x675C, 0x9540, 0x809A, 0x5EA6, 0x6E21, 0x5992, 0x987F,
  297. 0x571F, 0x5B85
  298. };
  299. static const uint32_t pinyin_duan_codepoints[] = {
  300. 0x7AEF, 0x77ED, 0x953B, 0x6BB5, 0x65AD, 0x7F0E
  301. };
  302. static const uint32_t pinyin_dui_codepoints[] = {
  303. 0x5806, 0x5151, 0x961F, 0x5BF9, 0x6566, 0x8FFD
  304. };
  305. static const uint32_t pinyin_dun_codepoints[] = {
  306. 0x58A9, 0x5428, 0x8E72, 0x6566, 0x987F, 0x56E4, 0x949D, 0x76FE,
  307. 0x9041, 0x4FCA
  308. };
  309. static const uint32_t pinyin_duo_codepoints[] = {
  310. 0x63E3, 0x6376, 0x5EA6, 0x5151, 0x6387, 0x54C6, 0x591A, 0x593A,
  311. 0x579B, 0x8EB2, 0x6735, 0x8DFA, 0x8235, 0x5241, 0x60F0, 0x5815,
  312. 0x968B, 0x9640, 0x9A6E, 0x6742
  313. };
  314. static const uint32_t pinyin_e_codepoints[] = {
  315. 0x554A, 0x963F, 0x9698, 0x80FA, 0x6B79, 0x86FE, 0x5CE8, 0x9E45,
  316. 0x4FC4, 0x989D, 0x8BB9, 0x5A25, 0x6076, 0x5384, 0x627C, 0x904F,
  317. 0x9102, 0x997F, 0x86E4, 0x54E6, 0x9091
  318. };
  319. static const uint32_t pinyin_en_codepoints[] = {
  320. 0x6069
  321. };
  322. static const uint32_t pinyin_er_codepoints[] = {
  323. 0x800C, 0x513F, 0x8033, 0x5C14, 0x9975, 0x6D31, 0x4E8C, 0x8D30
  324. };
  325. static const uint32_t pinyin_fa_codepoints[] = {
  326. 0x62D4, 0x53D1, 0x7F5A, 0x7B4F, 0x4F10, 0x4E4F, 0x9600, 0x6CD5,
  327. 0x73D0, 0x6CDB
  328. };
  329. static const uint32_t pinyin_fan_codepoints[] = {
  330. 0x85E9, 0x5E06, 0x756A, 0x7FFB, 0x6A0A, 0x77FE, 0x9492, 0x7E41,
  331. 0x51E1, 0x70E6, 0x53CD, 0x8FD4, 0x8303, 0x8D29, 0x72AF, 0x996D,
  332. 0x6CDB, 0x6F58
  333. };
  334. static const uint32_t pinyin_fang_codepoints[] = {
  335. 0x574A, 0x82B3, 0x65B9, 0x80AA, 0x623F, 0x9632, 0x59A8, 0x4EFF,
  336. 0x8BBF, 0x7EBA, 0x653E
  337. };
  338. static const uint32_t pinyin_fei_codepoints[] = {
  339. 0x83F2, 0x975E, 0x5561, 0x98DE, 0x80A5, 0x532A, 0x8BFD, 0x5420,
  340. 0x80BA, 0x5E9F, 0x6CB8, 0x8D39, 0x62C2, 0x88F4
  341. };
  342. static const uint32_t pinyin_fen_codepoints[] = {
  343. 0x626E, 0x5954, 0x532A, 0x82AC, 0x915A, 0x5429, 0x6C1B, 0x5206,
  344. 0x7EB7, 0x575F, 0x711A, 0x6C7E, 0x7C89, 0x594B, 0x4EFD, 0x5FFF,
  345. 0x6124, 0x7CAA, 0x76FC
  346. };
  347. static const uint32_t pinyin_feng_codepoints[] = {
  348. 0x868C, 0x6CDB, 0x65B9, 0x4E30, 0x5C01, 0x67AB, 0x8702, 0x5CF0,
  349. 0x950B, 0x98CE, 0x75AF, 0x70FD, 0x9022, 0x51AF, 0x7F1D, 0x8BBD,
  350. 0x5949, 0x51E4, 0x6367
  351. };
  352. static const uint32_t pinyin_fo_codepoints[] = {
  353. 0x4F5B
  354. };
  355. static const uint32_t pinyin_fou_codepoints[] = {
  356. 0x4E0D, 0x5426
  357. };
  358. static const uint32_t pinyin_fu_codepoints[] = {
  359. 0x5305, 0x54FA, 0x4E0D, 0x6CB8, 0x4F5B, 0x592B, 0x6577, 0x80A4,
  360. 0x5B75, 0x6276, 0x62C2, 0x8F90, 0x5E45, 0x6C1F, 0x7B26, 0x4F0F,
  361. 0x4FD8, 0x670D, 0x6D6E, 0x6DAA, 0x798F, 0x88B1, 0x5F17, 0x752B,
  362. 0x629A, 0x8F85, 0x4FEF, 0x91DC, 0x65A7, 0x812F, 0x8151, 0x5E9C,
  363. 0x8150, 0x8D74, 0x526F, 0x8986, 0x8D4B, 0x590D, 0x5085, 0x4ED8,
  364. 0x961C, 0x7236, 0x8179, 0x8D1F, 0x5BCC, 0x8BA3, 0x9644, 0x5987,
  365. 0x7F1A, 0x5490, 0x6000, 0x8FD8, 0x4EC5, 0x8386, 0x5E02
  366. };
  367. static const uint32_t pinyin_ga_codepoints[] = {
  368. 0x5676, 0x560E, 0x80F3, 0x5939, 0x5496, 0x8F67
  369. };
  370. static const uint32_t pinyin_gai_codepoints[] = {
  371. 0x8BE5, 0x6539, 0x6982, 0x9499, 0x76D6, 0x6E89, 0x9AB8, 0x6838,
  372. 0x82A5, 0x54B3, 0x6C7D
  373. };
  374. static const uint32_t pinyin_gan_codepoints[] = {
  375. 0x5E72, 0x7518, 0x6746, 0x67D1, 0x7AFF, 0x809D, 0x8D76, 0x611F,
  376. 0x79C6, 0x6562, 0x8D63, 0x4E2A, 0x634D, 0x6C57, 0x5978, 0x4E7E
  377. };
  378. static const uint32_t pinyin_gang_codepoints[] = {
  379. 0x80AE, 0x5188, 0x521A, 0x94A2, 0x7F38, 0x809B, 0x7EB2, 0x5C97,
  380. 0x6E2F, 0x6760, 0x625B, 0x6297, 0x4EA2
  381. };
  382. static const uint32_t pinyin_gao_codepoints[] = {
  383. 0x7BD9, 0x768B, 0x9AD8, 0x818F, 0x7F94, 0x7CD5, 0x641E, 0x9550,
  384. 0x7A3F, 0x544A, 0x6D69, 0x548E
  385. };
  386. static const uint32_t pinyin_ge_codepoints[] = {
  387. 0x5676, 0x76D6, 0x54E5, 0x6B4C, 0x6401, 0x6208, 0x9E3D, 0x80F3,
  388. 0x7599, 0x5272, 0x9769, 0x845B, 0x683C, 0x86E4, 0x9601, 0x9694,
  389. 0x94EC, 0x4E2A, 0x5404, 0x6D69, 0x83CF, 0x5408, 0x5047, 0x4ECB,
  390. 0x54AF, 0x53EF, 0x5C79
  391. };
  392. static const uint32_t pinyin_gei_codepoints[] = {
  393. 0x7ED9
  394. };
  395. static const uint32_t pinyin_gen_codepoints[] = {
  396. 0x6839, 0x8DDF, 0x75D5
  397. };
  398. static const uint32_t pinyin_geng_codepoints[] = {
  399. 0x8015, 0x66F4, 0x5E9A, 0x7FB9, 0x57C2, 0x803F, 0x6897, 0x9888,
  400. 0x4EA2, 0x90A2, 0x786C
  401. };
  402. static const uint32_t pinyin_gong_codepoints[] = {
  403. 0x6760, 0x5DE5, 0x653B, 0x529F, 0x606D, 0x9F9A, 0x4F9B, 0x8EAC,
  404. 0x516C, 0x5BAB, 0x5F13, 0x5DE9, 0x6C5E, 0x62F1, 0x8D21, 0x5171,
  405. 0x8679, 0x7EA2, 0x78FA
  406. };
  407. static const uint32_t pinyin_gou_codepoints[] = {
  408. 0x94A9, 0x52FE, 0x6C9F, 0x82DF, 0x72D7, 0x57A2, 0x6784, 0x8D2D,
  409. 0x591F, 0x62D8, 0x53E5
  410. };
  411. static const uint32_t pinyin_gu_codepoints[] = {
  412. 0x768B, 0x544A, 0x8F9C, 0x83C7, 0x5495, 0x7B8D, 0x4F30, 0x6CBD,
  413. 0x5B64, 0x59D1, 0x9F13, 0x53E4, 0x86CA, 0x9AA8, 0x8C37, 0x80A1,
  414. 0x6545, 0x987E, 0x56FA, 0x96C7, 0x6ED1, 0x5BB6, 0x8D3E, 0x89D2,
  415. 0x67AF, 0x82E6
  416. };
  417. static const uint32_t pinyin_gua_codepoints[] = {
  418. 0x522E, 0x74DC, 0x5250, 0x5BE1, 0x6302, 0x8902, 0x62EC, 0x820C
  419. };
  420. static const uint32_t pinyin_guai_codepoints[] = {
  421. 0x4E56, 0x62D0, 0x602A
  422. };
  423. static const uint32_t pinyin_guan_codepoints[] = {
  424. 0x4E32, 0x68FA, 0x5173, 0x5B98, 0x51A0, 0x89C2, 0x7BA1, 0x9986,
  425. 0x7F50, 0x60EF, 0x704C, 0x8D2F, 0x679C, 0x7EB6, 0x65A1
  426. };
  427. static const uint32_t pinyin_guang_codepoints[] = {
  428. 0x5149, 0x5E7F, 0x901B, 0x6A2A, 0x604D
  429. };
  430. static const uint32_t pinyin_gui_codepoints[] = {
  431. 0x6982, 0x7470, 0x89C4, 0x572D, 0x7845, 0x5F52, 0x9F9F, 0x95FA,
  432. 0x8F68, 0x9B3C, 0x8BE1, 0x7678, 0x6842, 0x67DC, 0x8DEA, 0x8D35,
  433. 0x523D, 0x6485, 0x5080, 0x7948, 0x7094, 0x54C7, 0x6D3C, 0x5A03,
  434. 0x6845
  435. };
  436. static const uint32_t pinyin_gun_codepoints[] = {
  437. 0x8F8A, 0x6EDA, 0x68CD, 0x6DF7, 0x5377
  438. };
  439. static const uint32_t pinyin_guo_codepoints[] = {
  440. 0x9505, 0x90ED, 0x56FD, 0x679C, 0x88F9, 0x8FC7, 0x552C, 0x5212,
  441. 0x6D3B, 0x6DA1
  442. };
  443. static const uint32_t pinyin_ha_codepoints[] = {
  444. 0x86E4, 0x54C8, 0x5475, 0x867E, 0x5413
  445. };
  446. static const uint32_t pinyin_hai_codepoints[] = {
  447. 0x9AB8, 0x5B69, 0x6D77, 0x6C26, 0x4EA5, 0x5BB3, 0x9A87, 0x8FD8,
  448. 0x54B3
  449. };
  450. static const uint32_t pinyin_han_codepoints[] = {
  451. 0x5382, 0x7518, 0x611F, 0x9163, 0x61A8, 0x90AF, 0x97E9, 0x542B,
  452. 0x6DB5, 0x5BD2, 0x51FD, 0x558A, 0x7F55, 0x7FF0, 0x64BC, 0x634D,
  453. 0x65F1, 0x61BE, 0x608D, 0x710A, 0x6C57, 0x6C49, 0x5D4C
  454. };
  455. static const uint32_t pinyin_hang_codepoints[] = {
  456. 0x80AE, 0x592F, 0x676D, 0x822A, 0x72E0, 0x7095, 0x542D, 0x72FC,
  457. 0x5DF7, 0x884C
  458. };
  459. static const uint32_t pinyin_hao_codepoints[] = {
  460. 0x768B, 0x9550, 0x58D5, 0x568E, 0x8C6A, 0x6BEB, 0x90DD, 0x597D,
  461. 0x8017, 0x53F7, 0x6D69, 0x8C89, 0x552C
  462. };
  463. static const uint32_t pinyin_he_codepoints[] = {
  464. 0x683C, 0x7845, 0x54C8, 0x5BB3, 0x5475, 0x559D, 0x8377, 0x83CF,
  465. 0x6838, 0x79BE, 0x548C, 0x4F55, 0x5408, 0x76D2, 0x8C89, 0x9602,
  466. 0x6CB3, 0x6DB8, 0x8D6B, 0x8910, 0x9E64, 0x8D3A, 0x547C, 0x970D,
  467. 0x63ED, 0x82DB, 0x6E34, 0x6D3D, 0x5413, 0x874E
  468. };
  469. static const uint32_t pinyin_hei_codepoints[] = {
  470. 0x563F, 0x9ED1
  471. };
  472. static const uint32_t pinyin_hen_codepoints[] = {
  473. 0x75D5, 0x5F88, 0x72E0, 0x6068, 0x6380
  474. };
  475. static const uint32_t pinyin_heng_codepoints[] = {
  476. 0x54FC, 0x4EA8, 0x6A2A, 0x8861, 0x6052, 0x884C
  477. };
  478. static const uint32_t pinyin_hng_codepoints[] = {
  479. 0x54FC
  480. };
  481. static const uint32_t pinyin_hong_codepoints[] = {
  482. 0x6E2F, 0x5171, 0x8F70, 0x54C4, 0x70D8, 0x8679, 0x9E3F, 0x6D2A,
  483. 0x5B8F, 0x5F18, 0x7EA2, 0x6C6A
  484. };
  485. static const uint32_t pinyin_hou_codepoints[] = {
  486. 0x5589, 0x4FAF, 0x7334, 0x543C, 0x539A, 0x5019, 0x540E
  487. };
  488. static const uint32_t pinyin_hu_codepoints[] = {
  489. 0x96C7, 0x6838, 0x548C, 0x547C, 0x4E4E, 0x5FFD, 0x745A, 0x58F6,
  490. 0x846B, 0x80E1, 0x8774, 0x72D0, 0x7CCA, 0x6E56, 0x5F27, 0x864E,
  491. 0x552C, 0x62A4, 0x4E92, 0x6CAA, 0x6237, 0x82E6, 0x82A6, 0x620F,
  492. 0x8BB8, 0x7FBD
  493. };
  494. static const uint32_t pinyin_hua_codepoints[] = {
  495. 0x654C, 0x82B1, 0x54D7, 0x534E, 0x733E, 0x6ED1, 0x753B, 0x5212,
  496. 0x5316, 0x8BDD, 0x8C41, 0x54C7, 0x627E
  497. };
  498. static const uint32_t pinyin_huai_codepoints[] = {
  499. 0x5212, 0x69D0, 0x5F8A, 0x6000, 0x6DEE, 0x574F, 0x576F
  500. };
  501. static const uint32_t pinyin_huan_codepoints[] = {
  502. 0x704C, 0x6B22, 0x73AF, 0x6853, 0x8FD8, 0x7F13, 0x6362, 0x60A3,
  503. 0x5524, 0x75EA, 0x8C62, 0x7115, 0x6DA3, 0x5BA6, 0x5E7B, 0x7696,
  504. 0x7729, 0x63F4
  505. };
  506. static const uint32_t pinyin_huang_codepoints[] = {
  507. 0x6A2A, 0x8352, 0x614C, 0x9EC4, 0x78FA, 0x8757, 0x7C27, 0x7687,
  508. 0x51F0, 0x60F6, 0x714C, 0x6643, 0x5E4C, 0x604D, 0x8C0E, 0x8292,
  509. 0x832B
  510. };
  511. static const uint32_t pinyin_hui_codepoints[] = {
  512. 0x866B, 0x5815, 0x5F8A, 0x6DA3, 0x7070, 0x6325, 0x8F89, 0x5FBD,
  513. 0x6062, 0x86D4, 0x56DE, 0x6BC1, 0x6094, 0x6167, 0x5349, 0x60E0,
  514. 0x6666, 0x8D3F, 0x79FD, 0x4F1A, 0x70E9, 0x6C47, 0x8BB3, 0x8BF2,
  515. 0x7ED8, 0x6E83
  516. };
  517. static const uint32_t pinyin_hun_codepoints[] = {
  518. 0x68CD, 0x8364, 0x660F, 0x5A5A, 0x9B42, 0x6D51, 0x6DF7, 0x6606,
  519. 0x6346
  520. };
  521. static const uint32_t pinyin_huo_codepoints[] = {
  522. 0x626E, 0x5475, 0x548C, 0x5316, 0x8C41, 0x6D3B, 0x4F19, 0x706B,
  523. 0x83B7, 0x6216, 0x60D1, 0x970D, 0x8D27, 0x7978, 0x8D8A
  524. };
  525. static const uint32_t pinyin_ji_codepoints[] = {
  526. 0x75B5, 0x9769, 0x9694, 0x7ED9, 0x51FB, 0x573E, 0x57FA, 0x673A,
  527. 0x7578, 0x7A3D, 0x79EF, 0x7B95, 0x808C, 0x9965, 0x8FF9, 0x6FC0,
  528. 0x8BA5, 0x9E21, 0x59EC, 0x7EE9, 0x7F09, 0x5409, 0x6781, 0x68D8,
  529. 0x8F91, 0x7C4D, 0x96C6, 0x53CA, 0x6025, 0x75BE, 0x6C72, 0x5373,
  530. 0x5AC9, 0x7EA7, 0x6324, 0x51E0, 0x810A, 0x5DF1, 0x84DF, 0x6280,
  531. 0x5180, 0x5B63, 0x4F0E, 0x796D, 0x5242, 0x60B8, 0x6D4E, 0x5BC4,
  532. 0x5BC2, 0x8BA1, 0x8BB0, 0x65E2, 0x5FCC, 0x9645, 0x5993, 0x7EE7,
  533. 0x7EAA, 0x79F8, 0x6D01, 0x85C9, 0x5C45, 0x8721, 0x671F, 0x5176,
  534. 0x68CB, 0x5947, 0x9F50, 0x7CFB, 0x63D6, 0x501A
  535. };
  536. static const uint32_t pinyin_jia_codepoints[] = {
  537. 0x5609, 0x67B7, 0x5939, 0x4F73, 0x5BB6, 0x52A0, 0x835A, 0x988A,
  538. 0x8D3E, 0x7532, 0x94BE, 0x5047, 0x7A3C, 0x4EF7, 0x67B6, 0x9A7E,
  539. 0x5AC1, 0x5496, 0x63E9, 0x8304, 0x6687, 0x590F, 0x631F, 0x62BC
  540. };
  541. static const uint32_t pinyin_jian_codepoints[] = {
  542. 0x558A, 0x6B7C, 0x76D1, 0x575A, 0x5C16, 0x7B3A, 0x95F4, 0x714E,
  543. 0x517C, 0x80A9, 0x8270, 0x5978, 0x7F04, 0x8327, 0x68C0, 0x67EC,
  544. 0x78B1, 0x7877, 0x62E3, 0x6361, 0x7B80, 0x4FED, 0x526A, 0x51CF,
  545. 0x8350, 0x69DB, 0x9274, 0x8DF5, 0x8D31, 0x89C1, 0x952E, 0x7BAD,
  546. 0x4EF6, 0x5065, 0x8230, 0x5251, 0x996F, 0x6E10, 0x6E85, 0x6DA7,
  547. 0x5EFA, 0x6CAE, 0x524D, 0x6D45, 0x54B8
  548. };
  549. static const uint32_t pinyin_jiang_codepoints[] = {
  550. 0x8679, 0x50F5, 0x59DC, 0x5C06, 0x6D46, 0x6C5F, 0x7586, 0x848B,
  551. 0x6868, 0x5956, 0x8BB2, 0x5320, 0x9171, 0x964D, 0x5F3A
  552. };
  553. static const uint32_t pinyin_jiao_codepoints[] = {
  554. 0x6FC0, 0x8549, 0x6912, 0x7901, 0x7126, 0x80F6, 0x4EA4, 0x90CA,
  555. 0x6D47, 0x9A84, 0x5A07, 0x56BC, 0x6405, 0x94F0, 0x77EB, 0x4FA5,
  556. 0x811A, 0x72E1, 0x89D2, 0x997A, 0x7F34, 0x7EDE, 0x527F, 0x6559,
  557. 0x9175, 0x8F7F, 0x8F83, 0x53EB, 0x7A96, 0x89C9, 0x6821, 0x5996,
  558. 0x54AC
  559. };
  560. static const uint32_t pinyin_jie_codepoints[] = {
  561. 0x5DEE, 0x62C5, 0x6982, 0x4EA5, 0x573E, 0x7C4D, 0x5BB6, 0x5047,
  562. 0x4EF7, 0x63ED, 0x63A5, 0x7686, 0x79F8, 0x8857, 0x9636, 0x622A,
  563. 0x52AB, 0x8282, 0x6854, 0x6770, 0x6377, 0x776B, 0x7AED, 0x6D01,
  564. 0x7ED3, 0x89E3, 0x59D0, 0x6212, 0x85C9, 0x82A5, 0x754C, 0x501F,
  565. 0x4ECB, 0x75A5, 0x8BEB, 0x5C4A, 0x6977, 0x6E34, 0x5951, 0x62FE,
  566. 0x5979, 0x7956
  567. };
  568. static const uint32_t pinyin_jin_codepoints[] = {
  569. 0x5DFE, 0x7B4B, 0x65A4, 0x91D1, 0x4ECA, 0x6D25, 0x895F, 0x7D27,
  570. 0x9526, 0x4EC5, 0x8C28, 0x8FDB, 0x9773, 0x664B, 0x7981, 0x8FD1,
  571. 0x70EC, 0x6D78, 0x5C3D, 0x52B2, 0x808B, 0x541F, 0x6E5B
  572. };
  573. static const uint32_t pinyin_jing_codepoints[] = {
  574. 0x52B2, 0x8346, 0x5162, 0x830E, 0x775B, 0x6676, 0x9CB8, 0x4EAC,
  575. 0x60CA, 0x7CBE, 0x7CB3, 0x7ECF, 0x4E95, 0x8B66, 0x666F, 0x9888,
  576. 0x9759, 0x5883, 0x656C, 0x955C, 0x5F84, 0x75C9, 0x9756, 0x7ADF,
  577. 0x7ADE, 0x51C0, 0x9752, 0x6C0F, 0x9192
  578. };
  579. static const uint32_t pinyin_jiong_codepoints[] = {
  580. 0x70AF, 0x7A98, 0x5777
  581. };
  582. static const uint32_t pinyin_jiu_codepoints[] = {
  583. 0x6101, 0x63EA, 0x7A76, 0x7EA0, 0x7396, 0x97ED, 0x4E45, 0x7078,
  584. 0x4E5D, 0x9152, 0x53A9, 0x6551, 0x65E7, 0x81FC, 0x8205, 0x548E,
  585. 0x5C31, 0x759A
  586. };
  587. static const uint32_t pinyin_ju_codepoints[] = {
  588. 0x8F66, 0x4EC7, 0x544A, 0x62F1, 0x67DC, 0x6854, 0x59D0, 0x97A0,
  589. 0x62D8, 0x72D9, 0x75BD, 0x5C45, 0x9A79, 0x83CA, 0x5C40, 0x5480,
  590. 0x77E9, 0x4E3E, 0x6CAE, 0x805A, 0x62D2, 0x636E, 0x5DE8, 0x5177,
  591. 0x8DDD, 0x8E1E, 0x952F, 0x4FF1, 0x53E5, 0x60E7, 0x70AC, 0x5267,
  592. 0x4E14, 0x86C6, 0x5C48, 0x6E20, 0x5A36, 0x79DF, 0x8DB3
  593. };
  594. static const uint32_t pinyin_juan_codepoints[] = {
  595. 0x6350, 0x9E43, 0x5A1F, 0x5026, 0x7737, 0x5377, 0x7EE2, 0x5708,
  596. 0x854A, 0x8EAB, 0x7729, 0x7504
  597. };
  598. static const uint32_t pinyin_jue_codepoints[] = {
  599. 0x56BC, 0x811A, 0x89D2, 0x6485, 0x652B, 0x6289, 0x6398, 0x5014,
  600. 0x7235, 0x89C9, 0x51B3, 0x8BC0, 0x7EDD, 0x72C2, 0x5C48, 0x86D9,
  601. 0x7A74, 0x4E59
  602. };
  603. static const uint32_t pinyin_jun_codepoints[] = {
  604. 0x9F9F, 0x5377, 0x5747, 0x83CC, 0x94A7, 0x519B, 0x541B, 0x5CFB,
  605. 0x4FCA, 0x7AE3, 0x6D5A, 0x90E1, 0x9A8F, 0x65EC, 0x5300
  606. };
  607. static const uint32_t pinyin_ka_codepoints[] = {
  608. 0x5580, 0x5496, 0x5361, 0x54AF
  609. };
  610. static const uint32_t pinyin_kai_codepoints[] = {
  611. 0x559D, 0x6838, 0x5F00, 0x63E9, 0x6977, 0x51EF, 0x6168, 0x6E34,
  612. 0x5C82
  613. };
  614. static const uint32_t pinyin_kan_codepoints[] = {
  615. 0x558A, 0x69DB, 0x520A, 0x582A, 0x52D8, 0x574E, 0x780D, 0x770B,
  616. 0x5D4C
  617. };
  618. static const uint32_t pinyin_kang_codepoints[] = {
  619. 0x594B, 0x676D, 0x8352, 0x5EB7, 0x6177, 0x7CE0, 0x625B, 0x6297,
  620. 0x4EA2, 0x7095, 0x5751
  621. };
  622. static const uint32_t pinyin_kao_codepoints[] = {
  623. 0x641E, 0x8003, 0x62F7, 0x70E4, 0x9760
  624. };
  625. static const uint32_t pinyin_ke_codepoints[] = {
  626. 0x5475, 0x5580, 0x5777, 0x82DB, 0x67EF, 0x68F5, 0x78D5, 0x9897,
  627. 0x79D1, 0x58F3, 0x54B3, 0x53EF, 0x6E34, 0x514B, 0x523B, 0x5BA2,
  628. 0x8BFE
  629. };
  630. static const uint32_t pinyin_kei_codepoints[] = {
  631. 0x523B
  632. };
  633. static const uint32_t pinyin_ken_codepoints[] = {
  634. 0x72E0, 0x80AF, 0x5543, 0x57A6, 0x6073
  635. };
  636. static const uint32_t pinyin_keng_codepoints[] = {
  637. 0x5751, 0x542D
  638. };
  639. static const uint32_t pinyin_kong_codepoints[] = {
  640. 0x7A7A, 0x6050, 0x5B54, 0x63A7, 0x8154
  641. };
  642. static const uint32_t pinyin_kou_codepoints[] = {
  643. 0x62A0, 0x53E3, 0x6263, 0x5BC7, 0x630E
  644. };
  645. static const uint32_t pinyin_ku_codepoints[] = {
  646. 0x53E4, 0x6398, 0x67AF, 0x54ED, 0x7A9F, 0x82E6, 0x9177, 0x5E93,
  647. 0x88E4, 0x630E, 0x8DE8, 0x5723
  648. };
  649. static const uint32_t pinyin_kua_codepoints[] = {
  650. 0x5938, 0x57AE, 0x630E, 0x8DE8, 0x80EF
  651. };
  652. static const uint32_t pinyin_kuai_codepoints[] = {
  653. 0x4F1A, 0x5757, 0x7B77, 0x4FA9, 0x5FEB, 0x9B41, 0x5080
  654. };
  655. static const uint32_t pinyin_kuan_codepoints[] = {
  656. 0x68F5, 0x5BBD, 0x6B3E, 0x5B8C
  657. };
  658. static const uint32_t pinyin_kuang_codepoints[] = {
  659. 0x5448, 0x901B, 0x78FA, 0x5321, 0x7B50, 0x72C2, 0x6846, 0x77FF,
  660. 0x7736, 0x65F7, 0x51B5, 0x6789, 0x5144
  661. };
  662. static const uint32_t pinyin_kui_codepoints[] = {
  663. 0x8E29, 0x4E8F, 0x76D4, 0x5CBF, 0x7AA5, 0x8475, 0x594E, 0x9B41,
  664. 0x5080, 0x9988, 0x6127, 0x6E83, 0x7F3A
  665. };
  666. static const uint32_t pinyin_kun_codepoints[] = {
  667. 0x6DF7, 0x5764, 0x6606, 0x6346, 0x56F0, 0x5375
  668. };
  669. static const uint32_t pinyin_kuo_codepoints[] = {
  670. 0x62EC, 0x6269, 0x5ED3, 0x9614, 0x9002
  671. };
  672. static const uint32_t pinyin_la_codepoints[] = {
  673. 0x5783, 0x62C9, 0x5587, 0x8721, 0x814A, 0x8FA3, 0x5566, 0x84DD,
  674. 0x843D
  675. };
  676. static const uint32_t pinyin_lai_codepoints[] = {
  677. 0x83B1, 0x6765, 0x8D56
  678. };
  679. static const uint32_t pinyin_lan_codepoints[] = {
  680. 0x90F4, 0x84DD, 0x5A6A, 0x680F, 0x62E6, 0x7BEE, 0x9611, 0x5170,
  681. 0x6F9C, 0x8C30, 0x63FD, 0x89C8, 0x61D2, 0x7F06, 0x70C2, 0x6EE5
  682. };
  683. static const uint32_t pinyin_lang_codepoints[] = {
  684. 0x7FB9, 0x7405, 0x6994, 0x72FC, 0x5ECA, 0x90CE, 0x6717, 0x6D6A
  685. };
  686. static const uint32_t pinyin_lao_codepoints[] = {
  687. 0x635E, 0x52B3, 0x7262, 0x8001, 0x4F6C, 0x59E5, 0x916A, 0x70D9,
  688. 0x6D9D, 0x64A9, 0x50DA, 0x6F66, 0x843D, 0x7EDC
  689. };
  690. static const uint32_t pinyin_le_codepoints[] = {
  691. 0x52D2, 0x4E50, 0x808B, 0x4E86
  692. };
  693. static const uint32_t pinyin_lei_codepoints[] = {
  694. 0x52D2, 0x96F7, 0x956D, 0x857E, 0x78CA, 0x7D2F, 0x5121, 0x5792,
  695. 0x64C2, 0x808B, 0x7C7B, 0x6CEA
  696. };
  697. static const uint32_t pinyin_leng_codepoints[] = {
  698. 0x68F1, 0x695E, 0x51B7
  699. };
  700. static const uint32_t pinyin_li_codepoints[] = {
  701. 0x5398, 0x68A8, 0x7281, 0x9ECE, 0x7BF1, 0x72F8, 0x79BB, 0x6F13,
  702. 0x7406, 0x674E, 0x91CC, 0x9CA4, 0x793C, 0x8389, 0x8354, 0x540F,
  703. 0x6817, 0x4E3D, 0x5389, 0x52B1, 0x783E, 0x5386, 0x5229, 0x5088,
  704. 0x4F8B, 0x4FD0, 0x75E2, 0x7ACB, 0x7C92, 0x6CA5, 0x96B6, 0x529B,
  705. 0x7483, 0x54E9, 0x5217, 0x6CE3, 0x4F4D
  706. };
  707. static const uint32_t pinyin_lia_codepoints[] = {
  708. 0x4FE9
  709. };
  710. static const uint32_t pinyin_lian_codepoints[] = {
  711. 0x8054, 0x83B2, 0x8FDE, 0x9570, 0x5EC9, 0x601C, 0x6D9F, 0x5E18,
  712. 0x655B, 0x8138, 0x94FE, 0x604B, 0x70BC, 0x7EC3, 0x96F6, 0x4EE4
  713. };
  714. static const uint32_t pinyin_liang_codepoints[] = {
  715. 0x60CA, 0x4FE9, 0x7CAE, 0x51C9, 0x6881, 0x7CB1, 0x826F, 0x4E24,
  716. 0x8F86, 0x91CF, 0x667E, 0x4EAE, 0x8C05
  717. };
  718. static const uint32_t pinyin_liao_codepoints[] = {
  719. 0x4F6C, 0x64A9, 0x804A, 0x50DA, 0x7597, 0x71CE, 0x5BE5, 0x8FBD,
  720. 0x6F66, 0x4E86, 0x6482, 0x9563, 0x5ED6, 0x6599
  721. };
  722. static const uint32_t pinyin_lie_codepoints[] = {
  723. 0x818A, 0x7D2F, 0x6817, 0x4F8B, 0x5217, 0x88C2, 0x70C8, 0x52A3,
  724. 0x730E
  725. };
  726. static const uint32_t pinyin_lin_codepoints[] = {
  727. 0x7433, 0x6797, 0x78F7, 0x9716, 0x4E34, 0x90BB, 0x9CDE, 0x6DCB,
  728. 0x51DB, 0x8D41, 0x541D, 0x62CE, 0x4EFB
  729. };
  730. static const uint32_t pinyin_ling_codepoints[] = {
  731. 0x68F1, 0x51B7, 0x601C, 0x78F7, 0x62CE, 0x73B2, 0x83F1, 0x96F6,
  732. 0x9F84, 0x94C3, 0x4F36, 0x7F9A, 0x51CC, 0x7075, 0x9675, 0x5CAD,
  733. 0x9886, 0x53E6, 0x4EE4
  734. };
  735. static const uint32_t pinyin_liu_codepoints[] = {
  736. 0x6CF5, 0x804A, 0x6E9C, 0x7409, 0x69B4, 0x786B, 0x998F, 0x7559,
  737. 0x5218, 0x7624, 0x6D41, 0x67F3, 0x516D, 0x788C, 0x9646, 0x6E38
  738. };
  739. static const uint32_t pinyin_lo_codepoints[] = {
  740. 0x54AF
  741. };
  742. static const uint32_t pinyin_long_codepoints[] = {
  743. 0x9F99, 0x804B, 0x5499, 0x7B3C, 0x7ABF, 0x9686, 0x5784, 0x62E2,
  744. 0x9647, 0x5F04
  745. };
  746. static const uint32_t pinyin_lou_codepoints[] = {
  747. 0x7262, 0x697C, 0x5A04, 0x6402, 0x7BD3, 0x6F0F, 0x964B, 0x9732
  748. };
  749. static const uint32_t pinyin_lu_codepoints[] = {
  750. 0x8C37, 0x89D2, 0x916A, 0x516D, 0x82A6, 0x5362, 0x9885, 0x5E90,
  751. 0x7089, 0x63B3, 0x5364, 0x864F, 0x9C81, 0x9E93, 0x788C, 0x9732,
  752. 0x8DEF, 0x8D42, 0x9E7F, 0x6F5E, 0x7984, 0x5F55, 0x9646, 0x622E,
  753. 0x7EFF
  754. };
  755. static const uint32_t pinyin_luan_codepoints[] = {
  756. 0x5CE6, 0x631B, 0x5B6A, 0x6EE6, 0x5375, 0x4E71
  757. };
  758. static const uint32_t pinyin_lun_codepoints[] = {
  759. 0x62A1, 0x8F6E, 0x4F26, 0x4ED1, 0x6CA6, 0x7EB6, 0x8BBA
  760. };
  761. static const uint32_t pinyin_luo_codepoints[] = {
  762. 0x683C, 0x679C, 0x54AF, 0x916A, 0x70D9, 0x788C, 0x8DEF, 0x841D,
  763. 0x87BA, 0x7F57, 0x903B, 0x9523, 0x7BA9, 0x9AA1, 0x88F8, 0x843D,
  764. 0x6D1B, 0x9A86, 0x7EDC
  765. };
  766. static const uint32_t pinyin_lv_codepoints[] = {
  767. 0x7D2F, 0x9E7F, 0x9A74, 0x5415, 0x94DD, 0x4FA3, 0x65C5, 0x5C65,
  768. 0x5C61, 0x7F15, 0x8651, 0x6C2F, 0x5F8B, 0x7387, 0x6EE4, 0x7EFF
  769. };
  770. static const uint32_t pinyin_lve_codepoints[] = {
  771. 0x7387, 0x63A0, 0x7565
  772. };
  773. static const uint32_t pinyin_ma_codepoints[] = {
  774. 0x8C89, 0x5988, 0x9EBB, 0x739B, 0x7801, 0x8682, 0x9A6C, 0x9A82,
  775. 0x561B, 0x5417, 0x4E48, 0x9761, 0x6469, 0x62B9
  776. };
  777. static const uint32_t pinyin_mai_codepoints[] = {
  778. 0x54E9, 0x57CB, 0x4E70, 0x9EA6, 0x5356, 0x8FC8, 0x8109, 0x6D3E
  779. };
  780. static const uint32_t pinyin_man_codepoints[] = {
  781. 0x57CB, 0x7792, 0x9992, 0x86EE, 0x6EE1, 0x8513, 0x66FC, 0x6162,
  782. 0x6F2B, 0x8C29, 0x5E55
  783. };
  784. static const uint32_t pinyin_mang_codepoints[] = {
  785. 0x8292, 0x832B, 0x76F2, 0x6C13, 0x5FD9, 0x83BD
  786. };
  787. static const uint32_t pinyin_mao_codepoints[] = {
  788. 0x8017, 0x732B, 0x8305, 0x951A, 0x6BDB, 0x77DB, 0x94C6, 0x536F,
  789. 0x8302, 0x5192, 0x5E3D, 0x8C8C, 0x8D38, 0x63CF, 0x725F
  790. };
  791. static const uint32_t pinyin_me_codepoints[] = {
  792. 0x4E48, 0x6CA1, 0x672B
  793. };
  794. static const uint32_t pinyin_mei_codepoints[] = {
  795. 0x73AB, 0x679A, 0x6885, 0x9176, 0x9709, 0x7164, 0x6CA1, 0x7709,
  796. 0x5A92, 0x9541, 0x6BCF, 0x7F8E, 0x6627, 0x5BD0, 0x59B9, 0x5A9A,
  797. 0x7CDC, 0x8C1C, 0x58A8, 0x67D0, 0x5473
  798. };
  799. static const uint32_t pinyin_men_codepoints[] = {
  800. 0x95E8, 0x95F7, 0x4EEC
  801. };
  802. static const uint32_t pinyin_meng_codepoints[] = {
  803. 0x6C13, 0x840C, 0x8499, 0x6AAC, 0x76DF, 0x9530, 0x731B, 0x68A6,
  804. 0x5B5F, 0x660E
  805. };
  806. static const uint32_t pinyin_mi_codepoints[] = {
  807. 0x8F9F, 0x772F, 0x919A, 0x9761, 0x7CDC, 0x8FF7, 0x8C1C, 0x5F25,
  808. 0x7C73, 0x79D8, 0x89C5, 0x6CCC, 0x871C, 0x5BC6, 0x5E42, 0x6469
  809. };
  810. static const uint32_t pinyin_mian_codepoints[] = {
  811. 0x68C9, 0x7720, 0x7EF5, 0x5195, 0x514D, 0x52C9, 0x5A29, 0x7F05,
  812. 0x9762
  813. };
  814. static const uint32_t pinyin_miao_codepoints[] = {
  815. 0x5435, 0x732B, 0x82D7, 0x63CF, 0x7784, 0x85D0, 0x79D2, 0x6E3A,
  816. 0x5E99, 0x5999
  817. };
  818. static const uint32_t pinyin_mie_codepoints[] = {
  819. 0x8511, 0x706D
  820. };
  821. static const uint32_t pinyin_min_codepoints[] = {
  822. 0x7720, 0x6C11, 0x62BF, 0x76BF, 0x654F, 0x60AF, 0x95FD
  823. };
  824. static const uint32_t pinyin_ming_codepoints[] = {
  825. 0x840C, 0x76DF, 0x76BF, 0x660E, 0x879F, 0x9E23, 0x94ED, 0x540D,
  826. 0x547D
  827. };
  828. static const uint32_t pinyin_miu_codepoints[] = {
  829. 0x8C2C
  830. };
  831. static const uint32_t pinyin_mo_codepoints[] = {
  832. 0x767E, 0x4F70, 0x4F2F, 0x8C89, 0x563F, 0x8109, 0x5192, 0x8C8C,
  833. 0x4E48, 0x6CA1, 0x6627, 0x85D0, 0x6478, 0x6479, 0x8611, 0x6A21,
  834. 0x819C, 0x78E8, 0x6469, 0x9B54, 0x62B9, 0x672B, 0x83AB, 0x58A8,
  835. 0x9ED8, 0x6CAB, 0x6F20, 0x5BDE, 0x964C, 0x5E15, 0x889C, 0x4E07,
  836. 0x65E0, 0x52FF
  837. };
  838. static const uint32_t pinyin_mou_codepoints[] = {
  839. 0x4EF6, 0x8C0B, 0x725F, 0x67D0, 0x6BCB
  840. };
  841. static const uint32_t pinyin_mu_codepoints[] = {
  842. 0x563F, 0x59E5, 0x6A21, 0x83AB, 0x725F, 0x62C7, 0x7261, 0x4EA9,
  843. 0x59C6, 0x6BCD, 0x5893, 0x66AE, 0x5E55, 0x52DF, 0x6155, 0x6728,
  844. 0x76EE, 0x7766, 0x7267, 0x7A46
  845. };
  846. static const uint32_t pinyin_na_codepoints[] = {
  847. 0x62FF, 0x54EA, 0x5450, 0x94A0, 0x90A3, 0x5A1C, 0x7EB3, 0x5357,
  848. 0x5185, 0x7D6E
  849. };
  850. static const uint32_t pinyin_nai_codepoints[] = {
  851. 0x54EA, 0x90A3, 0x6C16, 0x4E43, 0x5976, 0x8010, 0x5948, 0x80FD
  852. };
  853. static const uint32_t pinyin_nan_codepoints[] = {
  854. 0x5357, 0x7537, 0x96BE, 0x5189
  855. };
  856. static const uint32_t pinyin_nang_codepoints[] = {
  857. 0x56CA
  858. };
  859. static const uint32_t pinyin_nao_codepoints[] = {
  860. 0x6320, 0x8111, 0x607C, 0x95F9, 0x6DD6
  861. };
  862. static const uint32_t pinyin_ne_codepoints[] = {
  863. 0x54EA, 0x5450, 0x90A3, 0x5462
  864. };
  865. static const uint32_t pinyin_nei_codepoints[] = {
  866. 0x54EA, 0x90A3, 0x9981, 0x5185
  867. };
  868. static const uint32_t pinyin_nen_codepoints[] = {
  869. 0x5AE9
  870. };
  871. static const uint32_t pinyin_neng_codepoints[] = {
  872. 0x800C, 0x8010, 0x80FD
  873. };
  874. static const uint32_t pinyin_ni_codepoints[] = {
  875. 0x5462, 0x59AE, 0x9713, 0x502A, 0x6CE5, 0x5C3C, 0x62DF, 0x4F60,
  876. 0x533F, 0x817B, 0x9006, 0x6EBA
  877. };
  878. static const uint32_t pinyin_nian_codepoints[] = {
  879. 0x8D81, 0x852B, 0x62C8, 0x5E74, 0x78BE, 0x64B5, 0x637B, 0x5FF5,
  880. 0x7C98, 0x8F97
  881. };
  882. static const uint32_t pinyin_niang_codepoints[] = {
  883. 0x5A18, 0x917F
  884. };
  885. static const uint32_t pinyin_niao_codepoints[] = {
  886. 0x6EBA, 0x9E1F, 0x5C3F
  887. };
  888. static const uint32_t pinyin_nie_codepoints[] = {
  889. 0x54EA, 0x502A, 0x6CE5, 0x637B, 0x634F, 0x8042, 0x5B7D, 0x556E,
  890. 0x954A, 0x954D, 0x6D85, 0x5E78
  891. };
  892. static const uint32_t pinyin_nin_codepoints[] = {
  893. 0x60A8
  894. };
  895. static const uint32_t pinyin_ning_codepoints[] = {
  896. 0x51B0, 0x6CE5, 0x5E74, 0x67E0, 0x72DE, 0x51DD, 0x5B81, 0x62E7,
  897. 0x6CDE, 0x6518, 0x7591
  898. };
  899. static const uint32_t pinyin_niu_codepoints[] = {
  900. 0x725B, 0x626D, 0x94AE, 0x7EBD
  901. };
  902. static const uint32_t pinyin_nong_codepoints[] = {
  903. 0x8113, 0x6D53, 0x519C, 0x5F04
  904. };
  905. static const uint32_t pinyin_nu_codepoints[] = {
  906. 0x4EC5, 0x5974, 0x52AA, 0x6012, 0x8925
  907. };
  908. static const uint32_t pinyin_nuan_codepoints[] = {
  909. 0x6696
  910. };
  911. static const uint32_t pinyin_nuo_codepoints[] = {
  912. 0x6389, 0x54EA, 0x5450, 0x90A3, 0x5A1C, 0x632A, 0x61E6, 0x7CEF,
  913. 0x8BFA, 0x9700
  914. };
  915. static const uint32_t pinyin_nv_codepoints[] = {
  916. 0x5973, 0x7D6E
  917. };
  918. static const uint32_t pinyin_nve_codepoints[] = {
  919. 0x8650, 0x759F
  920. };
  921. static const uint32_t pinyin_o_codepoints[] = {
  922. 0x54E6
  923. };
  924. static const uint32_t pinyin_ou_codepoints[] = {
  925. 0x6B27, 0x9E25, 0x6BB4, 0x85D5, 0x5455, 0x5076, 0x6CA4, 0x533A,
  926. 0x63E1, 0x9047
  927. };
  928. static const uint32_t pinyin_pa_codepoints[] = {
  929. 0x82AD, 0x6252, 0x53ED, 0x5427, 0x628A, 0x8019, 0x556A, 0x8DB4,
  930. 0x722C, 0x5E15, 0x6015, 0x7436, 0x6D3E
  931. };
  932. static const uint32_t pinyin_pai_codepoints[] = {
  933. 0x5561, 0x62CD, 0x6392, 0x724C, 0x5F98, 0x6E43, 0x6D3E, 0x813E,
  934. 0x8FEB
  935. };
  936. static const uint32_t pinyin_pan_codepoints[] = {
  937. 0x6273, 0x822C, 0x62CC, 0x4F34, 0x534A, 0x535E, 0x756A, 0x7E41,
  938. 0x6500, 0x6F58, 0x76D8, 0x78D0, 0x76FC, 0x7554, 0x5224, 0x53DB,
  939. 0x80D6, 0x7247, 0x5F66
  940. };
  941. static const uint32_t pinyin_pang_codepoints[] = {
  942. 0x699C, 0x8180, 0x78C5, 0x508D, 0x65B9, 0x623F, 0x4EFF, 0x9022,
  943. 0x4E53, 0x5E9E, 0x65C1, 0x802A, 0x80D6, 0x5F6D
  944. };
  945. static const uint32_t pinyin_pao_codepoints[] = {
  946. 0x82DE, 0x80DE, 0x5305, 0x62B1, 0x629B, 0x5486, 0x5228, 0x70AE,
  947. 0x888D, 0x8DD1, 0x6CE1
  948. };
  949. static const uint32_t pinyin_pei_codepoints[] = {
  950. 0x500D, 0x5561, 0x80BA, 0x574F, 0x5478, 0x80DA, 0x57F9, 0x88F4,
  951. 0x8D54, 0x966A, 0x914D, 0x4F69, 0x6C9B
  952. };
  953. static const uint32_t pinyin_pen_codepoints[] = {
  954. 0x5429, 0x6C7E, 0x55B7, 0x76C6
  955. };
  956. static const uint32_t pinyin_peng_codepoints[] = {
  957. 0x699C, 0x508D, 0x9022, 0x4EA8, 0x65C1, 0x7830, 0x62A8, 0x70F9,
  958. 0x6F8E, 0x5F6D, 0x84EC, 0x68DA, 0x787C, 0x7BF7, 0x81A8, 0x670B,
  959. 0x9E4F, 0x6367, 0x78B0, 0x82F9, 0x5E84
  960. };
  961. static const uint32_t pinyin_pi_codepoints[] = {
  962. 0x868C, 0x5351, 0x88AB, 0x6BD4, 0x5E87, 0x8F9F, 0x756A, 0x5426,
  963. 0x62C2, 0x526F, 0x574F, 0x57F9, 0x576F, 0x7812, 0x9739, 0x6279,
  964. 0x62AB, 0x5288, 0x7435, 0x6BD7, 0x5564, 0x813E, 0x75B2, 0x76AE,
  965. 0x5339, 0x75DE, 0x50FB, 0x5C41, 0x8B6C, 0x6251
  966. };
  967. static const uint32_t pinyin_pian_codepoints[] = {
  968. 0x6241, 0x4FBF, 0x8FA8, 0x7BC7, 0x504F, 0x7247, 0x9A97, 0x5E73
  969. };
  970. static const uint32_t pinyin_piao_codepoints[] = {
  971. 0x8198, 0x98D8, 0x6F02, 0x74E2, 0x7968, 0x6734
  972. };
  973. static const uint32_t pinyin_pie_codepoints[] = {
  974. 0x853D, 0x6487, 0x77A5
  975. };
  976. static const uint32_t pinyin_pin_codepoints[] = {
  977. 0x6CF5, 0x62FC, 0x9891, 0x8D2B, 0x54C1, 0x8058
  978. };
  979. static const uint32_t pinyin_ping_codepoints[] = {
  980. 0x79E4, 0x51AF, 0x7830, 0x8058, 0x4E52, 0x576A, 0x82F9, 0x840D,
  981. 0x5E73, 0x51ED, 0x74F6, 0x8BC4, 0x5C4F
  982. };
  983. static const uint32_t pinyin_po_codepoints[] = {
  984. 0x9738, 0x818A, 0x6CCA, 0x756A, 0x7E41, 0x5761, 0x6CFC, 0x9887,
  985. 0x5A46, 0x7834, 0x9B44, 0x8FEB, 0x7C95, 0x5256, 0x6734
  986. };
  987. static const uint32_t pinyin_pou_codepoints[] = {
  988. 0x62B1, 0x90E8, 0x6DAA, 0x57F9, 0x5256
  989. };
  990. static const uint32_t pinyin_pu_codepoints[] = {
  991. 0x5265, 0x5821, 0x66B4, 0x535C, 0x6276, 0x752B, 0x812F, 0x6251,
  992. 0x94FA, 0x4EC6, 0x8386, 0x8461, 0x83E9, 0x84B2, 0x57D4, 0x6734,
  993. 0x5703, 0x666E, 0x6D66, 0x8C31, 0x66DD, 0x7011
  994. };
  995. static const uint32_t pinyin_qi_codepoints[] = {
  996. 0x752D, 0x5403, 0x523A, 0x62B5, 0x9017, 0x7578, 0x7A3D, 0x7F09,
  997. 0x5DF1, 0x6280, 0x4F0E, 0x63ED, 0x671F, 0x6B3A, 0x6816, 0x621A,
  998. 0x59BB, 0x4E03, 0x51C4, 0x6F06, 0x67D2, 0x6C8F, 0x5176, 0x68CB,
  999. 0x5947, 0x6B67, 0x7566, 0x5D0E, 0x8110, 0x9F50, 0x65D7, 0x7948,
  1000. 0x7941, 0x9A91, 0x8D77, 0x5C82, 0x4E5E, 0x4F01, 0x542F, 0x5951,
  1001. 0x780C, 0x5668, 0x6C14, 0x8FC4, 0x5F03, 0x6C7D, 0x6CE3, 0x8BAB,
  1002. 0x5207, 0x52E4, 0x793A, 0x5BBF, 0x6EAA, 0x679D, 0x652F, 0x5431
  1003. };
  1004. static const uint32_t pinyin_qia_codepoints[] = {
  1005. 0x5361, 0x5BA2, 0x6390, 0x6070, 0x6D3D
  1006. };
  1007. static const uint32_t pinyin_qian_codepoints[] = {
  1008. 0x67D1, 0x8D76, 0x7B4B, 0x7275, 0x6266, 0x948E, 0x94C5, 0x5343,
  1009. 0x8FC1, 0x7B7E, 0x4EDF, 0x8C26, 0x4E7E, 0x9ED4, 0x94B1, 0x94B3,
  1010. 0x524D, 0x6F5C, 0x9063, 0x6D45, 0x8C34, 0x5811, 0x5D4C, 0x6B20,
  1011. 0x6B49, 0x7EA4, 0x5BE8
  1012. };
  1013. static const uint32_t pinyin_qiang_codepoints[] = {
  1014. 0x5C06, 0x63A7, 0x67AA, 0x545B, 0x8154, 0x7F8C, 0x5899, 0x8537,
  1015. 0x5F3A, 0x62A2
  1016. };
  1017. static const uint32_t pinyin_qiao_codepoints[] = {
  1018. 0x6101, 0x641E, 0x8549, 0x7126, 0x58F3, 0x6A47, 0x9539, 0x6572,
  1019. 0x6084, 0x6865, 0x77A7, 0x4E54, 0x4FA8, 0x5DE7, 0x9798, 0x64AC,
  1020. 0x7FD8, 0x5CED, 0x4FCF, 0x7A8D, 0x96C0, 0x634E, 0x785D, 0x524A,
  1021. 0x6821, 0x62DB
  1022. };
  1023. static const uint32_t pinyin_qie_codepoints[] = {
  1024. 0x6377, 0x6F06, 0x6C8F, 0x5951, 0x780C, 0x5207, 0x8304, 0x4E14,
  1025. 0x602F, 0x7A83
  1026. };
  1027. static const uint32_t pinyin_qin_codepoints[] = {
  1028. 0x6D78, 0x94A6, 0x4FB5, 0x4EB2, 0x79E6, 0x7434, 0x52E4, 0x82B9,
  1029. 0x64D2, 0x79BD, 0x5BDD, 0x6C81
  1030. };
  1031. static const uint32_t pinyin_qing_codepoints[] = {
  1032. 0x7CBE, 0x4EB2, 0x9752, 0x8F7B, 0x6C22, 0x503E, 0x537F, 0x6E05,
  1033. 0x64CE, 0x6674, 0x6C30, 0x60C5, 0x9877, 0x8BF7, 0x5E86, 0x58F0,
  1034. 0x80DC
  1035. };
  1036. static const uint32_t pinyin_qiong_codepoints[] = {
  1037. 0x97A0, 0x743C, 0x7A77
  1038. };
  1039. static const uint32_t pinyin_qiu_codepoints[] = {
  1040. 0x4EC7, 0x9F9F, 0x79CB, 0x4E18, 0x90B1, 0x7403, 0x6C42, 0x56DA,
  1041. 0x914B, 0x6CC5, 0x56E2
  1042. };
  1043. static const uint32_t pinyin_qu_codepoints[] = {
  1044. 0x97A0, 0x5DE8, 0x53E5, 0x8721, 0x8D8B, 0x533A, 0x86C6, 0x66F2,
  1045. 0x8EAF, 0x5C48, 0x9A71, 0x6E20, 0x53D6, 0x5A36, 0x9F8B, 0x8DA3,
  1046. 0x53BB, 0x620C
  1047. };
  1048. static const uint32_t pinyin_quan_codepoints[] = {
  1049. 0x4E32, 0x5377, 0x5708, 0x98A7, 0x6743, 0x919B, 0x6CC9, 0x5168,
  1050. 0x75CA, 0x62F3, 0x72AC, 0x5238, 0x529D, 0x6813, 0x62F4
  1051. };
  1052. static const uint32_t pinyin_que_codepoints[] = {
  1053. 0x730E, 0x5C48, 0x7F3A, 0x7094, 0x7638, 0x5374, 0x9E4A, 0x69B7,
  1054. 0x786E, 0x96C0, 0x828D
  1055. };
  1056. static const uint32_t pinyin_qun_codepoints[] = {
  1057. 0x8E72, 0x9041, 0x88D9, 0x7FA4
  1058. };
  1059. static const uint32_t pinyin_ran_codepoints[] = {
  1060. 0x7136, 0x71C3, 0x5189, 0x67D3
  1061. };
  1062. static const uint32_t pinyin_rang_codepoints[] = {
  1063. 0x74E4, 0x58E4, 0x6518, 0x56B7, 0x8BA9
  1064. };
  1065. static const uint32_t pinyin_rao_codepoints[] = {
  1066. 0x9976, 0x6270, 0x7ED5
  1067. };
  1068. static const uint32_t pinyin_re_codepoints[] = {
  1069. 0x60F9, 0x70ED, 0x82E5
  1070. };
  1071. static const uint32_t pinyin_ren_codepoints[] = {
  1072. 0x513F, 0x58EC, 0x4EC1, 0x4EBA, 0x5FCD, 0x97E7, 0x4EFB, 0x8BA4,
  1073. 0x5203, 0x598A, 0x7EAB
  1074. };
  1075. static const uint32_t pinyin_reng_codepoints[] = {
  1076. 0x8033, 0x6254, 0x4ECD, 0x620E
  1077. };
  1078. static const uint32_t pinyin_ri_codepoints[] = {
  1079. 0x65E5
  1080. };
  1081. static const uint32_t pinyin_rong_codepoints[] = {
  1082. 0x9694, 0x620E, 0x8338, 0x84C9, 0x8363, 0x878D, 0x7194, 0x6EB6,
  1083. 0x5BB9, 0x7ED2, 0x5197
  1084. };
  1085. static const uint32_t pinyin_rou_codepoints[] = {
  1086. 0x63C9, 0x67D4, 0x8089
  1087. };
  1088. static const uint32_t pinyin_ru_codepoints[] = {
  1089. 0x5973, 0x8089, 0x8339, 0x8815, 0x5112, 0x5B7A, 0x5982, 0x8FB1,
  1090. 0x4E73, 0x6C5D, 0x5165, 0x8925, 0x9700, 0x6708
  1091. };
  1092. static const uint32_t pinyin_ruan_codepoints[] = {
  1093. 0x8F6F, 0x962E, 0x9700
  1094. };
  1095. static const uint32_t pinyin_rui_codepoints[] = {
  1096. 0x5151, 0x5185, 0x854A, 0x745E, 0x9510
  1097. };
  1098. static const uint32_t pinyin_run_codepoints[] = {
  1099. 0x95F0, 0x6DA6
  1100. };
  1101. static const uint32_t pinyin_ruo_codepoints[] = {
  1102. 0x6EBA, 0x60F9, 0x82E5, 0x5F31
  1103. };
  1104. static const uint32_t pinyin_sa_codepoints[] = {
  1105. 0x8521, 0x6492, 0x6D12, 0x8428
  1106. };
  1107. static const uint32_t pinyin_sai_codepoints[] = {
  1108. 0x816E, 0x9CC3, 0x585E, 0x8D5B, 0x601D
  1109. };
  1110. static const uint32_t pinyin_san_codepoints[] = {
  1111. 0x4E09, 0x53C1, 0x4F1E, 0x6563
  1112. };
  1113. static const uint32_t pinyin_sang_codepoints[] = {
  1114. 0x6851, 0x55D3, 0x4E27
  1115. };
  1116. static const uint32_t pinyin_sao_codepoints[] = {
  1117. 0x6414, 0x9A9A, 0x626B, 0x5AC2, 0x68A2, 0x54E8, 0x71E5
  1118. };
  1119. static const uint32_t pinyin_se_codepoints[] = {
  1120. 0x6CE3, 0x585E, 0x745F, 0x8272, 0x6DA9, 0x5BE8
  1121. };
  1122. static const uint32_t pinyin_sen_codepoints[] = {
  1123. 0x6D12, 0x68EE
  1124. };
  1125. static const uint32_t pinyin_seng_codepoints[] = {
  1126. 0x50E7
  1127. };
  1128. static const uint32_t pinyin_sha_codepoints[] = {
  1129. 0x54C8, 0x63A5, 0x838E, 0x7802, 0x6740, 0x5239, 0x6C99, 0x7EB1,
  1130. 0x50BB, 0x5565, 0x715E, 0x6749, 0x53A6, 0x564E
  1131. };
  1132. static const uint32_t pinyin_shai_codepoints[] = {
  1133. 0x8272, 0x7B5B, 0x6652
  1134. };
  1135. static const uint32_t pinyin_shan_codepoints[] = {
  1136. 0x63BA, 0x5355, 0x63B8, 0x9093, 0x73CA, 0x82EB, 0x6749, 0x5C71,
  1137. 0x5220, 0x717D, 0x886B, 0x95EA, 0x9655, 0x64C5, 0x8D61, 0x81B3,
  1138. 0x5584, 0x6C55, 0x6247, 0x7F2E, 0x6A80, 0x6805
  1139. };
  1140. static const uint32_t pinyin_shang_codepoints[] = {
  1141. 0x5892, 0x4F24, 0x5546, 0x8D4F, 0x664C, 0x4E0A, 0x5C1A, 0x88F3,
  1142. 0x6C64
  1143. };
  1144. static const uint32_t pinyin_shao_codepoints[] = {
  1145. 0x9798, 0x68A2, 0x634E, 0x7A0D, 0x70E7, 0x828D, 0x52FA, 0x97F6,
  1146. 0x5C11, 0x54E8, 0x90B5, 0x7ECD, 0x641C, 0x524A, 0x62DB, 0x53EC
  1147. };
  1148. static const uint32_t pinyin_she_codepoints[] = {
  1149. 0x789F, 0x776B, 0x5962, 0x8D4A, 0x86C7, 0x820C, 0x820D, 0x8D66,
  1150. 0x6444, 0x5C04, 0x6151, 0x6D89, 0x793E, 0x8BBE, 0x62FE, 0x90AA,
  1151. 0x6298
  1152. };
  1153. static const uint32_t pinyin_shei_codepoints[] = {
  1154. 0x8C01
  1155. };
  1156. static const uint32_t pinyin_shen_codepoints[] = {
  1157. 0x53C2, 0x7837, 0x7533, 0x547B, 0x4F38, 0x8EAB, 0x6DF1, 0x5A20,
  1158. 0x7EC5, 0x795E, 0x6C88, 0x5BA1, 0x5A76, 0x751A, 0x80BE, 0x614E,
  1159. 0x6E17, 0x4EC0, 0x4FE1, 0x6E5B, 0x9707
  1160. };
  1161. static const uint32_t pinyin_sheng_codepoints[] = {
  1162. 0x4E58, 0x7538, 0x58F0, 0x751F, 0x7525, 0x7272, 0x5347, 0x7EF3,
  1163. 0x7701, 0x76DB, 0x5269, 0x80DC, 0x5723, 0x59D3
  1164. };
  1165. static const uint32_t pinyin_shi_codepoints[] = {
  1166. 0x5319, 0x5824, 0x90DD, 0x8D6B, 0x820D, 0x5E08, 0x5931, 0x72EE,
  1167. 0x65BD, 0x6E7F, 0x8BD7, 0x5C38, 0x8671, 0x5341, 0x77F3, 0x62FE,
  1168. 0x65F6, 0x4EC0, 0x98DF, 0x8680, 0x5B9E, 0x8BC6, 0x53F2, 0x77E2,
  1169. 0x4F7F, 0x5C4E, 0x9A76, 0x59CB, 0x5F0F, 0x793A, 0x58EB, 0x4E16,
  1170. 0x67FF, 0x4E8B, 0x62ED, 0x8A93, 0x901D, 0x52BF, 0x662F, 0x55DC,
  1171. 0x566C, 0x9002, 0x4ED5, 0x4F8D, 0x91CA, 0x9970, 0x6C0F, 0x5E02,
  1172. 0x6043, 0x5BA4, 0x89C6, 0x8BD5, 0x65AF, 0x5BFA, 0x4F3C, 0x63D0,
  1173. 0x5618, 0x6DB2, 0x80A2, 0x6C41, 0x6B96, 0x5CD9
  1174. };
  1175. static const uint32_t pinyin_shou_codepoints[] = {
  1176. 0x6536, 0x624B, 0x9996, 0x5B88, 0x5BFF, 0x6388, 0x552E, 0x53D7,
  1177. 0x7626, 0x517D, 0x719F
  1178. };
  1179. static const uint32_t pinyin_shu_codepoints[] = {
  1180. 0x9664, 0x5A36, 0x552E, 0x852C, 0x67A2, 0x68B3, 0x6B8A, 0x6292,
  1181. 0x8F93, 0x53D4, 0x8212, 0x6DD1, 0x758F, 0x4E66, 0x8D4E, 0x5B70,
  1182. 0x719F, 0x85AF, 0x6691, 0x66D9, 0x7F72, 0x8700, 0x9ECD, 0x9F20,
  1183. 0x5C5E, 0x672F, 0x8FF0, 0x6811, 0x675F, 0x620D, 0x7AD6, 0x5885,
  1184. 0x5EB6, 0x6570, 0x6F31, 0x6055, 0x55FD, 0x900F, 0x91CE, 0x4FDE,
  1185. 0x8C6B, 0x6731
  1186. };
  1187. static const uint32_t pinyin_shua_codepoints[] = {
  1188. 0x5237, 0x800D, 0x5506
  1189. };
  1190. static const uint32_t pinyin_shuai_codepoints[] = {
  1191. 0x7387, 0x6454, 0x8870, 0x7529, 0x5E05
  1192. };
  1193. static const uint32_t pinyin_shuan_codepoints[] = {
  1194. 0x6C55, 0x6813, 0x62F4
  1195. };
  1196. static const uint32_t pinyin_shuang_codepoints[] = {
  1197. 0x971C, 0x53CC, 0x723D
  1198. };
  1199. static const uint32_t pinyin_shui_codepoints[] = {
  1200. 0x8C01, 0x6C34, 0x7761, 0x7A0E, 0x8BF4
  1201. };
  1202. static const uint32_t pinyin_shun_codepoints[] = {
  1203. 0x76FE, 0x4FCA, 0x542E, 0x77AC, 0x987A, 0x821C, 0x5DE1
  1204. };
  1205. static const uint32_t pinyin_shuo_codepoints[] = {
  1206. 0x52FA, 0x6570, 0x8BF4, 0x7855, 0x6714, 0x70C1, 0x55FD, 0x6EAF
  1207. };
  1208. static const uint32_t pinyin_si_codepoints[] = {
  1209. 0x5395, 0x98DF, 0x65AF, 0x6495, 0x5636, 0x601D, 0x79C1, 0x53F8,
  1210. 0x4E1D, 0x6B7B, 0x8086, 0x5BFA, 0x55E3, 0x56DB, 0x4F3A, 0x4F3C,
  1211. 0x9972, 0x5DF3, 0x53F0, 0x6790, 0x5DF2, 0x4EE5, 0x8084
  1212. };
  1213. static const uint32_t pinyin_song_codepoints[] = {
  1214. 0x677E, 0x8038, 0x6002, 0x9882, 0x9001, 0x5B8B, 0x8BBC, 0x8BF5
  1215. };
  1216. static const uint32_t pinyin_sou_codepoints[] = {
  1217. 0x641C, 0x8258, 0x64DE, 0x55FD, 0x65CF
  1218. };
  1219. static const uint32_t pinyin_su_codepoints[] = {
  1220. 0x642C, 0x82CF, 0x9165, 0x4FD7, 0x7D20, 0x901F, 0x7C9F, 0x50F3,
  1221. 0x5851, 0x6EAF, 0x5BBF, 0x8BC9, 0x8083, 0x7F29
  1222. };
  1223. static const uint32_t pinyin_suan_codepoints[] = {
  1224. 0x9178, 0x849C, 0x7B97, 0x64B0
  1225. };
  1226. static const uint32_t pinyin_sui_codepoints[] = {
  1227. 0x7CB9, 0x5C3F, 0x838E, 0x867D, 0x968B, 0x968F, 0x7EE5, 0x9AD3,
  1228. 0x788E, 0x5C81, 0x7A57, 0x9042, 0x96A7, 0x795F, 0x84D1
  1229. };
  1230. static const uint32_t pinyin_sun_codepoints[] = {
  1231. 0x9910, 0x5B59, 0x635F, 0x7B0B
  1232. };
  1233. static const uint32_t pinyin_suo_codepoints[] = {
  1234. 0x6284, 0x970D, 0x838E, 0x6C99, 0x8870, 0x84D1, 0x68AD, 0x5506,
  1235. 0x7F29, 0x7410, 0x7D22, 0x9501, 0x6240, 0x4E9B
  1236. };
  1237. static const uint32_t pinyin_ta_codepoints[] = {
  1238. 0x642D, 0x8FBE, 0x54C8, 0x584C, 0x4ED6, 0x5B83, 0x5979, 0x5854,
  1239. 0x736D, 0x631E, 0x8E4B, 0x8E0F, 0x592A, 0x62D3
  1240. };
  1241. static const uint32_t pinyin_tai_codepoints[] = {
  1242. 0x5927, 0x80FD, 0x80CE, 0x82D4, 0x62AC, 0x53F0, 0x6CF0, 0x915E,
  1243. 0x592A, 0x6001, 0x6C70
  1244. };
  1245. static const uint32_t pinyin_tan_codepoints[] = {
  1246. 0x80C6, 0x4F46, 0x6DE1, 0x5F39, 0x6C88, 0x574D, 0x644A, 0x8D2A,
  1247. 0x762B, 0x6EE9, 0x575B, 0x6A80, 0x75F0, 0x6F6D, 0x8C2D, 0x8C08,
  1248. 0x5766, 0x6BEF, 0x8892, 0x78B3, 0x63A2, 0x53F9, 0x70AD, 0x8214,
  1249. 0x708E, 0x6E5B
  1250. };
  1251. static const uint32_t pinyin_tang_codepoints[] = {
  1252. 0x6C64, 0x5858, 0x642A, 0x5802, 0x68E0, 0x819B, 0x5510, 0x7CD6,
  1253. 0x5018, 0x8EBA, 0x6DCC, 0x8D9F, 0x70EB
  1254. };
  1255. static const uint32_t pinyin_tao_codepoints[] = {
  1256. 0x638F, 0x6D9B, 0x6ED4, 0x7EE6, 0x8404, 0x6843, 0x9003, 0x6DD8,
  1257. 0x9676, 0x8BA8, 0x5957, 0x6311, 0x8DF3, 0x59DA
  1258. };
  1259. static const uint32_t pinyin_te_codepoints[] = {
  1260. 0x533F, 0x5F0F, 0x7279
  1261. };
  1262. static const uint32_t pinyin_teng_codepoints[] = {
  1263. 0x85E4, 0x817E, 0x75BC, 0x8A8A
  1264. };
  1265. static const uint32_t pinyin_ti_codepoints[] = {
  1266. 0x8FBE, 0x5824, 0x72C4, 0x5F1F, 0x662F, 0x8086, 0x68AF, 0x5254,
  1267. 0x8E22, 0x9511, 0x63D0, 0x9898, 0x8E44, 0x557C, 0x4F53, 0x66FF,
  1268. 0x568F, 0x60D5, 0x6D95, 0x5243, 0x5C49, 0x6298
  1269. };
  1270. static const uint32_t pinyin_tian_codepoints[] = {
  1271. 0x8695, 0x6EC7, 0x5178, 0x4F43, 0x7538, 0x82EB, 0x5929, 0x6DFB,
  1272. 0x586B, 0x7530, 0x751C, 0x606C, 0x8214, 0x8146, 0x541E, 0x6CBE
  1273. };
  1274. static const uint32_t pinyin_tiao_codepoints[] = {
  1275. 0x8D85, 0x7A20, 0x8C03, 0x6843, 0x6311, 0x6761, 0x8FE2, 0x773A,
  1276. 0x8DF3, 0x59DA
  1277. };
  1278. static const uint32_t pinyin_tie_codepoints[] = {
  1279. 0x8776, 0x8D34, 0x94C1, 0x5E16, 0x5360
  1280. };
  1281. static const uint32_t pinyin_ting_codepoints[] = {
  1282. 0x5960, 0x5385, 0x542C, 0x70C3, 0x6C40, 0x5EF7, 0x505C, 0x4EAD,
  1283. 0x5EAD, 0x633A, 0x8247
  1284. };
  1285. static const uint32_t pinyin_tong_codepoints[] = {
  1286. 0x4F97, 0x606B, 0x6D1E, 0x901A, 0x6850, 0x916E, 0x77B3, 0x540C,
  1287. 0x94DC, 0x5F64, 0x7AE5, 0x6876, 0x6345, 0x7B52, 0x7EDF, 0x75DB,
  1288. 0x607F, 0x91CD
  1289. };
  1290. static const uint32_t pinyin_tou_codepoints[] = {
  1291. 0x9017, 0x5077, 0x6295, 0x5934, 0x900F, 0x6109
  1292. };
  1293. static const uint32_t pinyin_tu_codepoints[] = {
  1294. 0x8DCC, 0x675C, 0x51F8, 0x79C3, 0x7A81, 0x56FE, 0x5F92, 0x9014,
  1295. 0x6D82, 0x5C60, 0x571F, 0x5410, 0x5154, 0x4F59
  1296. };
  1297. static const uint32_t pinyin_tuan_codepoints[] = {
  1298. 0x63E3, 0x6566, 0x75EA, 0x7A0E, 0x6E4D, 0x56E2
  1299. };
  1300. static const uint32_t pinyin_tui_codepoints[] = {
  1301. 0x5F1F, 0x7A0E, 0x63A8, 0x9893, 0x817F, 0x8715, 0x892A, 0x9000,
  1302. 0x8131, 0x8FFD
  1303. };
  1304. static const uint32_t pinyin_tun_codepoints[] = {
  1305. 0x5428, 0x6566, 0x56E4, 0x892A, 0x541E, 0x5C6F, 0x81C0, 0x5434,
  1306. 0x9010
  1307. };
  1308. static const uint32_t pinyin_tuo_codepoints[] = {
  1309. 0x6C60, 0x60F0, 0x9B44, 0x86C7, 0x7A0E, 0x968B, 0x4ED6, 0x5B83,
  1310. 0x62D6, 0x6258, 0x8131, 0x9E35, 0x9640, 0x9A6E, 0x9A7C, 0x692D,
  1311. 0x59A5, 0x62D3, 0x553E
  1312. };
  1313. static const uint32_t pinyin_wa_codepoints[] = {
  1314. 0x51F9, 0x6316, 0x54C7, 0x86D9, 0x6D3C, 0x5A03, 0x74E6, 0x889C,
  1315. 0x978B
  1316. };
  1317. static const uint32_t pinyin_wai_codepoints[] = {
  1318. 0x6B6A, 0x5916
  1319. };
  1320. static const uint32_t pinyin_wan_codepoints[] = {
  1321. 0x8513, 0x514D, 0x5A29, 0x8C4C, 0x5F2F, 0x6E7E, 0x73A9, 0x987D,
  1322. 0x4E38, 0x70F7, 0x5B8C, 0x7897, 0x633D, 0x665A, 0x7696, 0x60CB,
  1323. 0x5B9B, 0x5A49, 0x4E07, 0x8155, 0x56ED
  1324. };
  1325. static const uint32_t pinyin_wang_codepoints[] = {
  1326. 0x65B9, 0x7687, 0x5321, 0x8292, 0x6C6A, 0x738B, 0x4EA1, 0x6789,
  1327. 0x7F51, 0x5F80, 0x65FA, 0x671B, 0x5FD8, 0x5984
  1328. };
  1329. static const uint32_t pinyin_wei_codepoints[] = {
  1330. 0x5824, 0x673A, 0x7ACB, 0x5A01, 0x5DCD, 0x5FAE, 0x5371, 0x97E6,
  1331. 0x8FDD, 0x6845, 0x56F4, 0x552F, 0x60DF, 0x4E3A, 0x6F4D, 0x7EF4,
  1332. 0x82C7, 0x840E, 0x59D4, 0x4F1F, 0x4F2A, 0x5C3E, 0x7EAC, 0x672A,
  1333. 0x851A, 0x5473, 0x754F, 0x80C3, 0x5582, 0x9B4F, 0x4F4D, 0x6E2D,
  1334. 0x8C13, 0x5C09, 0x6170, 0x536B, 0x9057, 0x6709, 0x4E8E
  1335. };
  1336. static const uint32_t pinyin_wen_codepoints[] = {
  1337. 0x6627, 0x514D, 0x5A29, 0x761F, 0x6E29, 0x868A, 0x6587, 0x95FB,
  1338. 0x7EB9, 0x543B, 0x7A33, 0x7D0A, 0x95EE, 0x9650, 0x773C
  1339. };
  1340. static const uint32_t pinyin_weng_codepoints[] = {
  1341. 0x55E1, 0x7FC1, 0x74EE
  1342. };
  1343. static const uint32_t pinyin_wo_codepoints[] = {
  1344. 0x761F, 0x631D, 0x8717, 0x6DA1, 0x7A9D, 0x6211, 0x65A1, 0x5367,
  1345. 0x63E1, 0x6C83
  1346. };
  1347. static const uint32_t pinyin_wu_codepoints[] = {
  1348. 0x6076, 0x6BCD, 0x4EA1, 0x5DEB, 0x545C, 0x94A8, 0x4E4C, 0x6C61,
  1349. 0x8BEC, 0x5C4B, 0x65E0, 0x829C, 0x68A7, 0x543E, 0x5434, 0x6BCB,
  1350. 0x6B66, 0x4E94, 0x6342, 0x5348, 0x821E, 0x4F0D, 0x4FAE, 0x575E,
  1351. 0x620A, 0x96FE, 0x6664, 0x7269, 0x52FF, 0x52A1, 0x609F, 0x8BEF
  1352. };
  1353. static const uint32_t pinyin_xi_codepoints[] = {
  1354. 0x65E2, 0x814A, 0x730E, 0x5364, 0x6816, 0x6D12, 0x5C4E, 0x6495,
  1355. 0x6614, 0x7199, 0x6790, 0x897F, 0x7852, 0x77FD, 0x6670, 0x563B,
  1356. 0x5438, 0x9521, 0x727A, 0x7A00, 0x606F, 0x5E0C, 0x6089, 0x819D,
  1357. 0x5915, 0x60DC, 0x7184, 0x70EF, 0x6EAA, 0x6C50, 0x7280, 0x6A84,
  1358. 0x88AD, 0x5E2D, 0x4E60, 0x5AB3, 0x559C, 0x94E3, 0x6D17, 0x7CFB,
  1359. 0x9699, 0x620F, 0x7EC6
  1360. };
  1361. static const uint32_t pinyin_xia_codepoints[] = {
  1362. 0x547C, 0x552C, 0x5047, 0x778E, 0x867E, 0x5323, 0x971E, 0x8F96,
  1363. 0x6687, 0x5CE1, 0x4FA0, 0x72ED, 0x4E0B, 0x53A6, 0x590F, 0x5413,
  1364. 0x659C, 0x62BC, 0x5440
  1365. };
  1366. static const uint32_t pinyin_xian_codepoints[] = {
  1367. 0x634D, 0x80A9, 0x78B1, 0x89C1, 0x6D12, 0x7701, 0x63A2, 0x94E3,
  1368. 0x6D17, 0x6380, 0x9528, 0x5148, 0x4ED9, 0x9C9C, 0x7EA4, 0x54B8,
  1369. 0x8D24, 0x8854, 0x8237, 0x95F2, 0x6D8E, 0x5F26, 0x5ACC, 0x663E,
  1370. 0x9669, 0x73B0, 0x732E, 0x53BF, 0x817A, 0x9985, 0x7FA1, 0x5BAA,
  1371. 0x9677, 0x9650, 0x7EBF, 0x77E3
  1372. };
  1373. static const uint32_t pinyin_xiang_codepoints[] = {
  1374. 0x4EA8, 0x964D, 0x6518, 0x76F8, 0x53A2, 0x9576, 0x9999, 0x7BB1,
  1375. 0x8944, 0x6E58, 0x4E61, 0x7FD4, 0x7965, 0x8BE6, 0x60F3, 0x54CD,
  1376. 0x4EAB, 0x9879, 0x5DF7, 0x6A61, 0x50CF, 0x5411, 0x8C61, 0x6D0B
  1377. };
  1378. static const uint32_t pinyin_xiao_codepoints[] = {
  1379. 0x53F7, 0x547C, 0x552C, 0x80F6, 0x72E1, 0x4FCF, 0x68A2, 0x634E,
  1380. 0x828D, 0x54E8, 0x641C, 0x8427, 0x785D, 0x9704, 0x524A, 0x54EE,
  1381. 0x56A3, 0x9500, 0x6D88, 0x5BB5, 0x6DC6, 0x6653, 0x5C0F, 0x5B5D,
  1382. 0x6821, 0x8096, 0x5578, 0x7B11, 0x6548
  1383. };
  1384. static const uint32_t pinyin_xie_codepoints[] = {
  1385. 0x6E89, 0x63A5, 0x6854, 0x89E3, 0x5951, 0x6954, 0x4E9B, 0x6B47,
  1386. 0x874E, 0x978B, 0x534F, 0x631F, 0x643A, 0x90AA, 0x659C, 0x80C1,
  1387. 0x8C10, 0x5199, 0x68B0, 0x5378, 0x87F9, 0x61C8, 0x6CC4, 0x6CFB,
  1388. 0x8C22, 0x5C51, 0x8840, 0x8036, 0x53F6, 0x8C6B, 0x6C41
  1389. };
  1390. static const uint32_t pinyin_xin_codepoints[] = {
  1391. 0x6B3E, 0x85AA, 0x82AF, 0x950C, 0x6B23, 0x8F9B, 0x65B0, 0x5FFB,
  1392. 0x5FC3, 0x4FE1, 0x8845, 0x5BFB
  1393. };
  1394. static const uint32_t pinyin_xing_codepoints[] = {
  1395. 0x7701, 0x80DC, 0x661F, 0x8165, 0x7329, 0x60FA, 0x5174, 0x5211,
  1396. 0x578B, 0x5F62, 0x90A2, 0x884C, 0x9192, 0x5E78, 0x674F, 0x6027,
  1397. 0x59D3, 0x7814
  1398. };
  1399. static const uint32_t pinyin_xiong_codepoints[] = {
  1400. 0x80FD, 0x5BAA, 0x5144, 0x51F6, 0x80F8, 0x5308, 0x6C79, 0x96C4,
  1401. 0x718A
  1402. };
  1403. static const uint32_t pinyin_xiu_codepoints[] = {
  1404. 0x81ED, 0x5BBF, 0x4F11, 0x4FEE, 0x7F9E, 0x673D, 0x55C5, 0x9508,
  1405. 0x79C0, 0x8896, 0x7EE3
  1406. };
  1407. static const uint32_t pinyin_xu_codepoints[] = {
  1408. 0x547C, 0x59D0, 0x90AA, 0x4F11, 0x589F, 0x620C, 0x9700, 0x865A,
  1409. 0x5618, 0x987B, 0x5F90, 0x8BB8, 0x84C4, 0x9157, 0x53D9, 0x65ED,
  1410. 0x5E8F, 0x755C, 0x6064, 0x7D6E, 0x5A7F, 0x7EEA, 0x7EED, 0x4E8E,
  1411. 0x4F59, 0x828B, 0x5401
  1412. };
  1413. static const uint32_t pinyin_xuan_codepoints[] = {
  1414. 0x6696, 0x5238, 0x8F69, 0x55A7, 0x5BA3, 0x60AC, 0x65CB, 0x7384,
  1415. 0x9009, 0x7663, 0x7729, 0x7EDA, 0x64B0, 0x6ECB
  1416. };
  1417. static const uint32_t pinyin_xue_codepoints[] = {
  1418. 0x7094, 0x524A, 0x54EE, 0x9774, 0x859B, 0x5B66, 0x7A74, 0x96EA,
  1419. 0x8840
  1420. };
  1421. static const uint32_t pinyin_xun_codepoints[] = {
  1422. 0x9041, 0x8364, 0x6D5A, 0x6D12, 0x68AD, 0x6F6D, 0x52CB, 0x718F,
  1423. 0x5FAA, 0x65EC, 0x8BE2, 0x5BFB, 0x9A6F, 0x5DE1, 0x6B89, 0x6C5B,
  1424. 0x8BAD, 0x8BAF, 0x900A, 0x8FC5
  1425. };
  1426. static const uint32_t pinyin_ya_codepoints[] = {
  1427. 0x543E, 0x6B47, 0x90AA, 0x538B, 0x62BC, 0x9E26, 0x9E2D, 0x5440,
  1428. 0x4E2B, 0x82BD, 0x7259, 0x869C, 0x5D16, 0x8859, 0x6DAF, 0x96C5,
  1429. 0x54D1, 0x4E9A, 0x8BB6, 0x5FA1, 0x672D, 0x8F67
  1430. };
  1431. static const uint32_t pinyin_yan_codepoints[] = {
  1432. 0x764C, 0x4FFA, 0x5382, 0x4F46, 0x6DE1, 0x5E7F, 0x72E0, 0x852B,
  1433. 0x94C5, 0x6D8E, 0x7FA1, 0x5DE1, 0x7109, 0x54BD, 0x9609, 0x70DF,
  1434. 0x6DF9, 0x76D0, 0x4E25, 0x7814, 0x8712, 0x5CA9, 0x5EF6, 0x8A00,
  1435. 0x989C, 0x960E, 0x708E, 0x6CBF, 0x5944, 0x63A9, 0x773C, 0x884D,
  1436. 0x6F14, 0x8273, 0x5830, 0x71D5, 0x538C, 0x781A, 0x96C1, 0x5501,
  1437. 0x5F66, 0x7130, 0x5BB4, 0x8C1A, 0x9A8C, 0x6BB7, 0x6DEB
  1438. };
  1439. static const uint32_t pinyin_yang_codepoints[] = {
  1440. 0x6602, 0x6B83, 0x592E, 0x9E2F, 0x79E7, 0x6768, 0x626C, 0x4F6F,
  1441. 0x75A1, 0x7F8A, 0x6D0B, 0x9633, 0x6C27, 0x4EF0, 0x75D2, 0x517B,
  1442. 0x6837, 0x6F3E, 0x82F1, 0x6620
  1443. };
  1444. static const uint32_t pinyin_yao_codepoints[] = {
  1445. 0x4FA5, 0x4E48, 0x759F, 0x9676, 0x9080, 0x8170, 0x5996, 0x7476,
  1446. 0x6447, 0x5C27, 0x9065, 0x7A91, 0x8C23, 0x59DA, 0x54AC, 0x8200,
  1447. 0x836F, 0x8981, 0x8000, 0x6DEB, 0x7531, 0x5E7C, 0x7EA6, 0x94A5
  1448. };
  1449. static const uint32_t pinyin_ye_codepoints[] = {
  1450. 0x559D, 0x5C04, 0x5885, 0x6D82, 0x90AA, 0x659C, 0x54BD, 0x6930,
  1451. 0x564E, 0x8036, 0x7237, 0x91CE, 0x51B6, 0x4E5F, 0x9875, 0x6396,
  1452. 0x4E1A, 0x53F6, 0x66F3, 0x814B, 0x591C, 0x6DB2, 0x62FD
  1453. };
  1454. static const uint32_t pinyin_yi_codepoints[] = {
  1455. 0x827E, 0x6020, 0x8FED, 0x86FE, 0x7599, 0x59EC, 0x96B6, 0x5947,
  1456. 0x5D0E, 0x6C7D, 0x86C7, 0x5C04, 0x5931, 0x65BD, 0x98DF, 0x5DF3,
  1457. 0x5B83, 0x53F0, 0x53F9, 0x542C, 0x5C3E, 0x7199, 0x5915, 0x7FA1,
  1458. 0x6CC4, 0x7109, 0x564E, 0x4E5F, 0x4E00, 0x58F9, 0x533B, 0x63D6,
  1459. 0x94F1, 0x4F9D, 0x4F0A, 0x8863, 0x9890, 0x5937, 0x9057, 0x79FB,
  1460. 0x4EEA, 0x80F0, 0x7591, 0x6C82, 0x5B9C, 0x59E8, 0x5F5D, 0x6905,
  1461. 0x8681, 0x501A, 0x5DF2, 0x4E59, 0x77E3, 0x4EE5, 0x827A, 0x6291,
  1462. 0x6613, 0x9091, 0x5C79, 0x4EBF, 0x5F79, 0x81C6, 0x9038, 0x8084,
  1463. 0x75AB, 0x4EA6, 0x88D4, 0x610F, 0x6BC5, 0x5FC6, 0x4E49, 0x76CA,
  1464. 0x6EA2, 0x8BE3, 0x8BAE, 0x8C0A, 0x8BD1, 0x5F02, 0x7FFC, 0x7FCC,
  1465. 0x7ECE, 0x5370
  1466. };
  1467. static const uint32_t pinyin_yin_codepoints[] = {
  1468. 0x5E01, 0x57A6, 0x6F6D, 0x542C, 0x70DF, 0x8A00, 0x58F9, 0x6C82,
  1469. 0x8335, 0x836B, 0x56E0, 0x6BB7, 0x97F3, 0x9634, 0x59FB, 0x541F,
  1470. 0x94F6, 0x6DEB, 0x5BC5, 0x996E, 0x5C39, 0x5F15, 0x9690, 0x5370,
  1471. 0x6E5B, 0x4F17
  1472. };
  1473. static const uint32_t pinyin_ying_codepoints[] = {
  1474. 0x901E, 0x7538, 0x666F, 0x54E9, 0x592E, 0x82F1, 0x6A31, 0x5A74,
  1475. 0x9E70, 0x5E94, 0x7F28, 0x83B9, 0x8424, 0x8425, 0x8367, 0x8747,
  1476. 0x8FCE, 0x8D62, 0x76C8, 0x5F71, 0x9896, 0x786C, 0x6620
  1477. };
  1478. static const uint32_t pinyin_yo_codepoints[] = {
  1479. 0x54DF, 0x80B2
  1480. };
  1481. static const uint32_t pinyin_yong_codepoints[] = {
  1482. 0x5BB9, 0x62E5, 0x4F63, 0x81C3, 0x75C8, 0x5EB8, 0x96CD, 0x8E0A,
  1483. 0x86F9, 0x548F, 0x6CF3, 0x6D8C, 0x6C38, 0x607F, 0x52C7, 0x7528,
  1484. 0x9047
  1485. };
  1486. static const uint32_t pinyin_you_codepoints[] = {
  1487. 0x5965, 0x6CC5, 0x6270, 0x53F9, 0x5E7D, 0x4F18, 0x60A0, 0x5FE7,
  1488. 0x5C24, 0x7531, 0x90AE, 0x94C0, 0x72B9, 0x6CB9, 0x6E38, 0x9149,
  1489. 0x6709, 0x53CB, 0x53F3, 0x4F51, 0x91C9, 0x8BF1, 0x53C8, 0x5E7C
  1490. };
  1491. static const uint32_t pinyin_yu_codepoints[] = {
  1492. 0x5965, 0x61CA, 0x6FB3, 0x8C37, 0x6216, 0x4E8F, 0x8212, 0x5B9B,
  1493. 0x738B, 0x851A, 0x5C09, 0x68A7, 0x543E, 0x8859, 0x8FC2, 0x6DE4,
  1494. 0x4E8E, 0x76C2, 0x6986, 0x865E, 0x611A, 0x8206, 0x4F59, 0x4FDE,
  1495. 0x903E, 0x9C7C, 0x6109, 0x6E1D, 0x6E14, 0x9685, 0x4E88, 0x5A31,
  1496. 0x96E8, 0x4E0E, 0x5C7F, 0x79B9, 0x5B87, 0x8BED, 0x7FBD, 0x7389,
  1497. 0x57DF, 0x828B, 0x90C1, 0x5401, 0x9047, 0x55BB, 0x5CEA, 0x5FA1,
  1498. 0x6108, 0x6B32, 0x72F1, 0x80B2, 0x8A89, 0x6D74, 0x5BD3, 0x88D5,
  1499. 0x9884, 0x8C6B, 0x9A6D, 0x82D1, 0x7CA5
  1500. };
  1501. static const uint32_t pinyin_yuan_codepoints[] = {
  1502. 0x7A7F, 0x6350, 0x962E, 0x5B9B, 0x54BD, 0x9E33, 0x6E0A, 0x51A4,
  1503. 0x5143, 0x57A3, 0x8881, 0x539F, 0x63F4, 0x8F95, 0x56ED, 0x5458,
  1504. 0x5706, 0x733F, 0x6E90, 0x7F18, 0x8FDC, 0x82D1, 0x613F, 0x6028,
  1505. 0x9662, 0x5141
  1506. };
  1507. static const uint32_t pinyin_yue_codepoints[] = {
  1508. 0x5757, 0x4E50, 0x8BF4, 0x8715, 0x66F0, 0x7EA6, 0x8D8A, 0x8DC3,
  1509. 0x94A5, 0x5CB3, 0x7CA4, 0x6708, 0x60A6, 0x9605
  1510. };
  1511. static const uint32_t pinyin_yun_codepoints[] = {
  1512. 0x76FE, 0x5747, 0x5B9B, 0x5C09, 0x761F, 0x6E29, 0x5C39, 0x5458,
  1513. 0x82D1, 0x6028, 0x8018, 0x4E91, 0x90E7, 0x5300, 0x9668, 0x5141,
  1514. 0x8FD0, 0x8574, 0x915D, 0x6655, 0x97F5, 0x5B55
  1515. };
  1516. static const uint32_t pinyin_za_codepoints[] = {
  1517. 0x531D, 0x7838, 0x6742, 0x54B1, 0x624E, 0x548B
  1518. };
  1519. static const uint32_t pinyin_zai_codepoints[] = {
  1520. 0x624D, 0x683D, 0x54C9, 0x707E, 0x5BB0, 0x8F7D, 0x518D, 0x5728,
  1521. 0x4ED4
  1522. };
  1523. static const uint32_t pinyin_zan_codepoints[] = {
  1524. 0x54B1, 0x6512, 0x6682, 0x8D5E
  1525. };
  1526. static const uint32_t pinyin_zang_codepoints[] = {
  1527. 0x85CF, 0x8D43, 0x810F, 0x846C
  1528. };
  1529. static const uint32_t pinyin_zao_codepoints[] = {
  1530. 0x69FD, 0x8349, 0x7A96, 0x906D, 0x7CDF, 0x51FF, 0x85FB, 0x67A3,
  1531. 0x65E9, 0x6FA1, 0x86A4, 0x8E81, 0x566A, 0x9020, 0x7682, 0x7076,
  1532. 0x71E5
  1533. };
  1534. static const uint32_t pinyin_ze_codepoints[] = {
  1535. 0x4FA7, 0x63AA, 0x8D23, 0x62E9, 0x5219, 0x6CFD, 0x548B, 0x67DE
  1536. };
  1537. static const uint32_t pinyin_zei_codepoints[] = {
  1538. 0x8D3C
  1539. };
  1540. static const uint32_t pinyin_zen_codepoints[] = {
  1541. 0x600E
  1542. };
  1543. static const uint32_t pinyin_zeng_codepoints[] = {
  1544. 0x589E, 0x618E, 0x66FE, 0x8D60, 0x7EFC
  1545. };
  1546. static const uint32_t pinyin_zha_codepoints[] = {
  1547. 0x518C, 0x63D2, 0x67E5, 0x54C6, 0x8721, 0x624E, 0x55B3, 0x6E23,
  1548. 0x672D, 0x8F67, 0x94E1, 0x95F8, 0x7728, 0x6805, 0x69A8, 0x548B,
  1549. 0x4E4D, 0x70B8, 0x8BC8, 0x67DE
  1550. };
  1551. static const uint32_t pinyin_zhai_codepoints[] = {
  1552. 0x4FA7, 0x67F4, 0x75B5, 0x7FDF, 0x5EA6, 0x796D, 0x62E9, 0x6458,
  1553. 0x658B, 0x5B85, 0x7A84, 0x503A, 0x5BE8
  1554. };
  1555. static const uint32_t pinyin_zhan_codepoints[] = {
  1556. 0x98A4, 0x8892, 0x77BB, 0x6BE1, 0x8A79, 0x7C98, 0x6CBE, 0x76CF,
  1557. 0x65A9, 0x8F97, 0x5D2D, 0x5C55, 0x8638, 0x6808, 0x5360, 0x6218,
  1558. 0x7AD9, 0x6E5B, 0x7EFD
  1559. };
  1560. static const uint32_t pinyin_zhang_codepoints[] = {
  1561. 0x957F, 0x6A1F, 0x7AE0, 0x5F70, 0x6F33, 0x5F20, 0x638C, 0x6DA8,
  1562. 0x6756, 0x4E08, 0x5E10, 0x8D26, 0x4ED7, 0x80C0, 0x7634, 0x969C
  1563. };
  1564. static const uint32_t pinyin_zhao_codepoints[] = {
  1565. 0x671D, 0x5632, 0x6DD6, 0x6843, 0x86A4, 0x62DB, 0x662D, 0x627E,
  1566. 0x6CBC, 0x8D75, 0x7167, 0x7F69, 0x5146, 0x8087, 0x53EC, 0x8457,
  1567. 0x722A, 0x7740
  1568. };
  1569. static const uint32_t pinyin_zhe_codepoints[] = {
  1570. 0x65A5, 0x5835, 0x5EB6, 0x906E, 0x6298, 0x54F2, 0x86F0, 0x8F99,
  1571. 0x8005, 0x9517, 0x8517, 0x8FD9, 0x6D59, 0x8457, 0x7740
  1572. };
  1573. static const uint32_t pinyin_zhei_codepoints[] = {
  1574. 0x8FD9
  1575. };
  1576. static const uint32_t pinyin_zhen_codepoints[] = {
  1577. 0x8D81, 0x5507, 0x6EC7, 0x9F0E, 0x614E, 0x586B, 0x73CD, 0x659F,
  1578. 0x771F, 0x7504, 0x7827, 0x81FB, 0x8D1E, 0x9488, 0x4FA6, 0x6795,
  1579. 0x75B9, 0x8BCA, 0x9707, 0x632F, 0x9547, 0x9635, 0x5E27
  1580. };
  1581. static const uint32_t pinyin_zheng_codepoints[] = {
  1582. 0x655E, 0x627F, 0x5960, 0x4E01, 0x8D9F, 0x84B8, 0x6323, 0x7741,
  1583. 0x5F81, 0x72F0, 0x4E89, 0x6014, 0x6574, 0x62EF, 0x6B63, 0x653F,
  1584. 0x5E27, 0x75C7, 0x90D1, 0x8BC1
  1585. };
  1586. static const uint32_t pinyin_zhi_codepoints[] = {
  1587. 0x57C3, 0x62B5, 0x79EF, 0x4F0E, 0x7941, 0x8BC6, 0x793A, 0x6C0F,
  1588. 0x6043, 0x62D3, 0x829D, 0x679D, 0x652F, 0x5431, 0x8718, 0x77E5,
  1589. 0x80A2, 0x8102, 0x6C41, 0x4E4B, 0x7EC7, 0x804C, 0x76F4, 0x690D,
  1590. 0x6B96, 0x6267, 0x503C, 0x4F84, 0x5740, 0x6307, 0x6B62, 0x8DBE,
  1591. 0x53EA, 0x65E8, 0x7EB8, 0x5FD7, 0x631A, 0x63B7, 0x81F3, 0x81F4,
  1592. 0x7F6E, 0x5E1C, 0x5CD9, 0x5236, 0x667A, 0x79E9, 0x7A1A, 0x8D28,
  1593. 0x7099, 0x75D4, 0x6EDE, 0x6CBB, 0x7A92
  1594. };
  1595. static const uint32_t pinyin_zhong_codepoints[] = {
  1596. 0x8463, 0x7AE5, 0x4E2D, 0x76C5, 0x5FE0, 0x949F, 0x8877, 0x7EC8,
  1597. 0x79CD, 0x80BF, 0x91CD, 0x4EF2, 0x4F17
  1598. };
  1599. static const uint32_t pinyin_zhou_codepoints[] = {
  1600. 0x626D, 0x80B2, 0x821F, 0x5468, 0x5DDE, 0x6D32, 0x8BCC, 0x7CA5,
  1601. 0x8F74, 0x8098, 0x5E1A, 0x5492, 0x76B1, 0x5B99, 0x663C, 0x9AA4,
  1602. 0x9010, 0x6CE8, 0x795D, 0x5544
  1603. };
  1604. static const uint32_t pinyin_zhu_codepoints[] = {
  1605. 0x671D, 0x9664, 0x6597, 0x9017, 0x67E0, 0x5B81, 0x6CDE, 0x5C5E,
  1606. 0x672F, 0x5EB6, 0x4E88, 0x4E4B, 0x73E0, 0x682A, 0x86DB, 0x6731,
  1607. 0x732A, 0x8BF8, 0x8BDB, 0x9010, 0x7AF9, 0x70DB, 0x716E, 0x62C4,
  1608. 0x77A9, 0x5631, 0x4E3B, 0x8457, 0x67F1, 0x52A9, 0x86C0, 0x8D2E,
  1609. 0x94F8, 0x7B51, 0x4F4F, 0x6CE8, 0x795D, 0x9A7B, 0x8301, 0x963B
  1610. };
  1611. static const uint32_t pinyin_zhua_codepoints[] = {
  1612. 0x631D, 0x6293, 0x722A
  1613. };
  1614. static const uint32_t pinyin_zhuai_codepoints[] = {
  1615. 0x62FD, 0x8F6C
  1616. };
  1617. static const uint32_t pinyin_zhuan_codepoints[] = {
  1618. 0x4F20, 0x6E4D, 0x4E13, 0x7816, 0x8F6C, 0x64B0, 0x8D5A, 0x7BC6
  1619. };
  1620. static const uint32_t pinyin_zhuang_codepoints[] = {
  1621. 0x5E62, 0x6869, 0x5E84, 0x88C5, 0x5986, 0x649E, 0x58EE, 0x72B6
  1622. };
  1623. static const uint32_t pinyin_zhui_codepoints[] = {
  1624. 0x63E3, 0x5782, 0x96A7, 0x81F4, 0x690E, 0x9525, 0x8FFD, 0x8D58,
  1625. 0x5760, 0x7F00
  1626. };
  1627. static const uint32_t pinyin_zhun_codepoints[] = {
  1628. 0x6DF3, 0x6566, 0x5C6F, 0x8C06, 0x51C6
  1629. };
  1630. static const uint32_t pinyin_zhuo_codepoints[] = {
  1631. 0x6387, 0x7F34, 0x6DD6, 0x52FA, 0x8457, 0x6349, 0x62D9, 0x5353,
  1632. 0x684C, 0x7422, 0x8301, 0x914C, 0x5544, 0x7740, 0x707C, 0x6D4A
  1633. };
  1634. static const uint32_t pinyin_zi_codepoints[] = {
  1635. 0x67F4, 0x75B5, 0x6B21, 0x4E8B, 0x5431, 0x5179, 0x54A8, 0x8D44,
  1636. 0x59FF, 0x6ECB, 0x6DC4, 0x5B5C, 0x7D2B, 0x4ED4, 0x7C7D, 0x6ED3,
  1637. 0x5B50, 0x81EA, 0x6E0D, 0x5B57
  1638. };
  1639. static const uint32_t pinyin_zong_codepoints[] = {
  1640. 0x4ECE, 0x9B03, 0x68D5, 0x8E2A, 0x5B97, 0x7EFC, 0x603B, 0x7EB5
  1641. };
  1642. static const uint32_t pinyin_zou_codepoints[] = {
  1643. 0x8DA3, 0x90B9, 0x8D70, 0x594F, 0x63CD, 0x65CF
  1644. };
  1645. static const uint32_t pinyin_zu_codepoints[] = {
  1646. 0x6DEC, 0x59D0, 0x6CAE, 0x79DF, 0x8DB3, 0x5352, 0x65CF, 0x7956,
  1647. 0x8BC5, 0x963B, 0x7EC4
  1648. };
  1649. static const uint32_t pinyin_zuan_codepoints[] = {
  1650. 0x64AE, 0x8D5A, 0x94BB, 0x7E82
  1651. };
  1652. static const uint32_t pinyin_zui_codepoints[] = {
  1653. 0x6467, 0x64AE, 0x5806, 0x5480, 0x5634, 0x9189, 0x6700, 0x7F6A
  1654. };
  1655. static const uint32_t pinyin_zun_codepoints[] = {
  1656. 0x5960, 0x8E72, 0x5C0A, 0x9075
  1657. };
  1658. static const uint32_t pinyin_zuo_codepoints[] = {
  1659. 0x918B, 0x64AE, 0x632B, 0x51FF, 0x4E4D, 0x7422, 0x6628, 0x5DE6,
  1660. 0x4F50, 0x67DE, 0x505A, 0x4F5C, 0x5750, 0x5EA7
  1661. };
  1662. static const pinyin_entry_t pinyin_dict[] = {
  1663. {"a", pinyin_a_codepoints, 3},
  1664. {"ai", pinyin_ai_codepoints, 16},
  1665. {"an", pinyin_an_codepoints, 13},
  1666. {"ang", pinyin_ang_codepoints, 4},
  1667. {"ao", pinyin_ao_codepoints, 11},
  1668. {"ba", pinyin_ba_codepoints, 20},
  1669. {"bai", pinyin_bai_codepoints, 13},
  1670. {"ban", pinyin_ban_codepoints, 18},
  1671. {"bang", pinyin_bang_codepoints, 14},
  1672. {"bao", pinyin_bao_codepoints, 23},
  1673. {"bei", pinyin_bei_codepoints, 21},
  1674. {"ben", pinyin_ben_codepoints, 6},
  1675. {"beng", pinyin_beng_codepoints, 12},
  1676. {"bi", pinyin_bi_codepoints, 37},
  1677. {"bian", pinyin_bian_codepoints, 13},
  1678. {"biao", pinyin_biao_codepoints, 6},
  1679. {"bie", pinyin_bie_codepoints, 10},
  1680. {"bin", pinyin_bin_codepoints, 7},
  1681. {"bing", pinyin_bing_codepoints, 12},
  1682. {"bo", pinyin_bo_codepoints, 42},
  1683. {"bu", pinyin_bu_codepoints, 15},
  1684. {"ca", pinyin_ca_codepoints, 3},
  1685. {"cai", pinyin_cai_codepoints, 11},
  1686. {"can", pinyin_can_codepoints, 8},
  1687. {"cang", pinyin_cang_codepoints, 5},
  1688. {"cao", pinyin_cao_codepoints, 7},
  1689. {"ce", pinyin_ce_codepoints, 7},
  1690. {"cen", pinyin_cen_codepoints, 1},
  1691. {"ceng", pinyin_ceng_codepoints, 5},
  1692. {"cha", pinyin_cha_codepoints, 17},
  1693. {"chai", pinyin_chai_codepoints, 6},
  1694. {"chan", pinyin_chan_codepoints, 15},
  1695. {"chang", pinyin_chang_codepoints, 17},
  1696. {"chao", pinyin_chao_codepoints, 11},
  1697. {"che", pinyin_che_codepoints, 11},
  1698. {"chen", pinyin_chen_codepoints, 19},
  1699. {"cheng", pinyin_cheng_codepoints, 22},
  1700. {"chi", pinyin_chi_codepoints, 29},
  1701. {"chong", pinyin_chong_codepoints, 12},
  1702. {"chou", pinyin_chou_codepoints, 13},
  1703. {"chu", pinyin_chu_codepoints, 25},
  1704. {"chua", pinyin_chua_codepoints, 1},
  1705. {"chuai", pinyin_chuai_codepoints, 1},
  1706. {"chuan", pinyin_chuan_codepoints, 7},
  1707. {"chuang", pinyin_chuang_codepoints, 8},
  1708. {"chui", pinyin_chui_codepoints, 6},
  1709. {"chun", pinyin_chun_codepoints, 7},
  1710. {"chuo", pinyin_chuo_codepoints, 7},
  1711. {"ci", pinyin_ci_codepoints, 19},
  1712. {"cong", pinyin_cong_codepoints, 7},
  1713. {"cou", pinyin_cou_codepoints, 6},
  1714. {"cu", pinyin_cu_codepoints, 8},
  1715. {"cuan", pinyin_cuan_codepoints, 5},
  1716. {"cui", pinyin_cui_codepoints, 13},
  1717. {"cun", pinyin_cun_codepoints, 5},
  1718. {"cuo", pinyin_cuo_codepoints, 10},
  1719. {"da", pinyin_da_codepoints, 10},
  1720. {"dai", pinyin_dai_codepoints, 15},
  1721. {"dan", pinyin_dan_codepoints, 23},
  1722. {"dang", pinyin_dang_codepoints, 5},
  1723. {"dao", pinyin_dao_codepoints, 15},
  1724. {"de", pinyin_de_codepoints, 6},
  1725. {"dei", pinyin_dei_codepoints, 1},
  1726. {"deng", pinyin_deng_codepoints, 9},
  1727. {"di", pinyin_di_codepoints, 27},
  1728. {"dian", pinyin_dian_codepoints, 19},
  1729. {"diao", pinyin_diao_codepoints, 15},
  1730. {"die", pinyin_die_codepoints, 12},
  1731. {"ding", pinyin_ding_codepoints, 12},
  1732. {"diu", pinyin_diu_codepoints, 1},
  1733. {"dong", pinyin_dong_codepoints, 13},
  1734. {"dou", pinyin_dou_codepoints, 11},
  1735. {"du", pinyin_du_codepoints, 18},
  1736. {"duan", pinyin_duan_codepoints, 6},
  1737. {"dui", pinyin_dui_codepoints, 6},
  1738. {"dun", pinyin_dun_codepoints, 10},
  1739. {"duo", pinyin_duo_codepoints, 20},
  1740. {"e", pinyin_e_codepoints, 21},
  1741. {"en", pinyin_en_codepoints, 1},
  1742. {"er", pinyin_er_codepoints, 8},
  1743. {"fa", pinyin_fa_codepoints, 10},
  1744. {"fan", pinyin_fan_codepoints, 18},
  1745. {"fang", pinyin_fang_codepoints, 11},
  1746. {"fei", pinyin_fei_codepoints, 14},
  1747. {"fen", pinyin_fen_codepoints, 19},
  1748. {"feng", pinyin_feng_codepoints, 19},
  1749. {"fo", pinyin_fo_codepoints, 1},
  1750. {"fou", pinyin_fou_codepoints, 2},
  1751. {"fu", pinyin_fu_codepoints, 55},
  1752. {"ga", pinyin_ga_codepoints, 6},
  1753. {"gai", pinyin_gai_codepoints, 11},
  1754. {"gan", pinyin_gan_codepoints, 16},
  1755. {"gang", pinyin_gang_codepoints, 13},
  1756. {"gao", pinyin_gao_codepoints, 12},
  1757. {"ge", pinyin_ge_codepoints, 27},
  1758. {"gei", pinyin_gei_codepoints, 1},
  1759. {"gen", pinyin_gen_codepoints, 3},
  1760. {"geng", pinyin_geng_codepoints, 11},
  1761. {"gong", pinyin_gong_codepoints, 19},
  1762. {"gou", pinyin_gou_codepoints, 11},
  1763. {"gu", pinyin_gu_codepoints, 26},
  1764. {"gua", pinyin_gua_codepoints, 8},
  1765. {"guai", pinyin_guai_codepoints, 3},
  1766. {"guan", pinyin_guan_codepoints, 15},
  1767. {"guang", pinyin_guang_codepoints, 5},
  1768. {"gui", pinyin_gui_codepoints, 25},
  1769. {"gun", pinyin_gun_codepoints, 5},
  1770. {"guo", pinyin_guo_codepoints, 10},
  1771. {"ha", pinyin_ha_codepoints, 5},
  1772. {"hai", pinyin_hai_codepoints, 9},
  1773. {"han", pinyin_han_codepoints, 23},
  1774. {"hang", pinyin_hang_codepoints, 10},
  1775. {"hao", pinyin_hao_codepoints, 13},
  1776. {"he", pinyin_he_codepoints, 30},
  1777. {"hei", pinyin_hei_codepoints, 2},
  1778. {"hen", pinyin_hen_codepoints, 5},
  1779. {"heng", pinyin_heng_codepoints, 6},
  1780. {"hng", pinyin_hng_codepoints, 1},
  1781. {"hong", pinyin_hong_codepoints, 12},
  1782. {"hou", pinyin_hou_codepoints, 7},
  1783. {"hu", pinyin_hu_codepoints, 26},
  1784. {"hua", pinyin_hua_codepoints, 13},
  1785. {"huai", pinyin_huai_codepoints, 7},
  1786. {"huan", pinyin_huan_codepoints, 18},
  1787. {"huang", pinyin_huang_codepoints, 17},
  1788. {"hui", pinyin_hui_codepoints, 26},
  1789. {"hun", pinyin_hun_codepoints, 9},
  1790. {"huo", pinyin_huo_codepoints, 15},
  1791. {"ji", pinyin_ji_codepoints, 70},
  1792. {"jia", pinyin_jia_codepoints, 24},
  1793. {"jian", pinyin_jian_codepoints, 45},
  1794. {"jiang", pinyin_jiang_codepoints, 15},
  1795. {"jiao", pinyin_jiao_codepoints, 33},
  1796. {"jie", pinyin_jie_codepoints, 42},
  1797. {"jin", pinyin_jin_codepoints, 23},
  1798. {"jing", pinyin_jing_codepoints, 29},
  1799. {"jiong", pinyin_jiong_codepoints, 3},
  1800. {"jiu", pinyin_jiu_codepoints, 18},
  1801. {"ju", pinyin_ju_codepoints, 39},
  1802. {"juan", pinyin_juan_codepoints, 12},
  1803. {"jue", pinyin_jue_codepoints, 18},
  1804. {"jun", pinyin_jun_codepoints, 15},
  1805. {"ka", pinyin_ka_codepoints, 4},
  1806. {"kai", pinyin_kai_codepoints, 9},
  1807. {"kan", pinyin_kan_codepoints, 9},
  1808. {"kang", pinyin_kang_codepoints, 11},
  1809. {"kao", pinyin_kao_codepoints, 5},
  1810. {"ke", pinyin_ke_codepoints, 17},
  1811. {"kei", pinyin_kei_codepoints, 1},
  1812. {"ken", pinyin_ken_codepoints, 5},
  1813. {"keng", pinyin_keng_codepoints, 2},
  1814. {"kong", pinyin_kong_codepoints, 5},
  1815. {"kou", pinyin_kou_codepoints, 5},
  1816. {"ku", pinyin_ku_codepoints, 12},
  1817. {"kua", pinyin_kua_codepoints, 5},
  1818. {"kuai", pinyin_kuai_codepoints, 7},
  1819. {"kuan", pinyin_kuan_codepoints, 4},
  1820. {"kuang", pinyin_kuang_codepoints, 13},
  1821. {"kui", pinyin_kui_codepoints, 13},
  1822. {"kun", pinyin_kun_codepoints, 6},
  1823. {"kuo", pinyin_kuo_codepoints, 5},
  1824. {"la", pinyin_la_codepoints, 9},
  1825. {"lai", pinyin_lai_codepoints, 3},
  1826. {"lan", pinyin_lan_codepoints, 16},
  1827. {"lang", pinyin_lang_codepoints, 8},
  1828. {"lao", pinyin_lao_codepoints, 14},
  1829. {"le", pinyin_le_codepoints, 4},
  1830. {"lei", pinyin_lei_codepoints, 12},
  1831. {"leng", pinyin_leng_codepoints, 3},
  1832. {"li", pinyin_li_codepoints, 37},
  1833. {"lia", pinyin_lia_codepoints, 1},
  1834. {"lian", pinyin_lian_codepoints, 16},
  1835. {"liang", pinyin_liang_codepoints, 13},
  1836. {"liao", pinyin_liao_codepoints, 14},
  1837. {"lie", pinyin_lie_codepoints, 9},
  1838. {"lin", pinyin_lin_codepoints, 13},
  1839. {"ling", pinyin_ling_codepoints, 19},
  1840. {"liu", pinyin_liu_codepoints, 16},
  1841. {"lo", pinyin_lo_codepoints, 1},
  1842. {"long", pinyin_long_codepoints, 10},
  1843. {"lou", pinyin_lou_codepoints, 8},
  1844. {"lu", pinyin_lu_codepoints, 25},
  1845. {"luan", pinyin_luan_codepoints, 6},
  1846. {"lun", pinyin_lun_codepoints, 7},
  1847. {"luo", pinyin_luo_codepoints, 19},
  1848. {"lv", pinyin_lv_codepoints, 16},
  1849. {"lve", pinyin_lve_codepoints, 3},
  1850. {"ma", pinyin_ma_codepoints, 14},
  1851. {"mai", pinyin_mai_codepoints, 8},
  1852. {"man", pinyin_man_codepoints, 11},
  1853. {"mang", pinyin_mang_codepoints, 6},
  1854. {"mao", pinyin_mao_codepoints, 15},
  1855. {"me", pinyin_me_codepoints, 3},
  1856. {"mei", pinyin_mei_codepoints, 21},
  1857. {"men", pinyin_men_codepoints, 3},
  1858. {"meng", pinyin_meng_codepoints, 10},
  1859. {"mi", pinyin_mi_codepoints, 16},
  1860. {"mian", pinyin_mian_codepoints, 9},
  1861. {"miao", pinyin_miao_codepoints, 10},
  1862. {"mie", pinyin_mie_codepoints, 2},
  1863. {"min", pinyin_min_codepoints, 7},
  1864. {"ming", pinyin_ming_codepoints, 9},
  1865. {"miu", pinyin_miu_codepoints, 1},
  1866. {"mo", pinyin_mo_codepoints, 34},
  1867. {"mou", pinyin_mou_codepoints, 5},
  1868. {"mu", pinyin_mu_codepoints, 20},
  1869. {"na", pinyin_na_codepoints, 10},
  1870. {"nai", pinyin_nai_codepoints, 8},
  1871. {"nan", pinyin_nan_codepoints, 4},
  1872. {"nang", pinyin_nang_codepoints, 1},
  1873. {"nao", pinyin_nao_codepoints, 5},
  1874. {"ne", pinyin_ne_codepoints, 4},
  1875. {"nei", pinyin_nei_codepoints, 4},
  1876. {"nen", pinyin_nen_codepoints, 1},
  1877. {"neng", pinyin_neng_codepoints, 3},
  1878. {"ni", pinyin_ni_codepoints, 12},
  1879. {"nian", pinyin_nian_codepoints, 10},
  1880. {"niang", pinyin_niang_codepoints, 2},
  1881. {"niao", pinyin_niao_codepoints, 3},
  1882. {"nie", pinyin_nie_codepoints, 12},
  1883. {"nin", pinyin_nin_codepoints, 1},
  1884. {"ning", pinyin_ning_codepoints, 11},
  1885. {"niu", pinyin_niu_codepoints, 4},
  1886. {"nong", pinyin_nong_codepoints, 4},
  1887. {"nu", pinyin_nu_codepoints, 5},
  1888. {"nuan", pinyin_nuan_codepoints, 1},
  1889. {"nuo", pinyin_nuo_codepoints, 10},
  1890. {"nv", pinyin_nv_codepoints, 2},
  1891. {"nve", pinyin_nve_codepoints, 2},
  1892. {"o", pinyin_o_codepoints, 1},
  1893. {"ou", pinyin_ou_codepoints, 10},
  1894. {"pa", pinyin_pa_codepoints, 13},
  1895. {"pai", pinyin_pai_codepoints, 9},
  1896. {"pan", pinyin_pan_codepoints, 19},
  1897. {"pang", pinyin_pang_codepoints, 14},
  1898. {"pao", pinyin_pao_codepoints, 11},
  1899. {"pei", pinyin_pei_codepoints, 13},
  1900. {"pen", pinyin_pen_codepoints, 4},
  1901. {"peng", pinyin_peng_codepoints, 21},
  1902. {"pi", pinyin_pi_codepoints, 30},
  1903. {"pian", pinyin_pian_codepoints, 8},
  1904. {"piao", pinyin_piao_codepoints, 6},
  1905. {"pie", pinyin_pie_codepoints, 3},
  1906. {"pin", pinyin_pin_codepoints, 6},
  1907. {"ping", pinyin_ping_codepoints, 13},
  1908. {"po", pinyin_po_codepoints, 15},
  1909. {"pou", pinyin_pou_codepoints, 5},
  1910. {"pu", pinyin_pu_codepoints, 22},
  1911. {"qi", pinyin_qi_codepoints, 56},
  1912. {"qia", pinyin_qia_codepoints, 5},
  1913. {"qian", pinyin_qian_codepoints, 27},
  1914. {"qiang", pinyin_qiang_codepoints, 10},
  1915. {"qiao", pinyin_qiao_codepoints, 26},
  1916. {"qie", pinyin_qie_codepoints, 10},
  1917. {"qin", pinyin_qin_codepoints, 12},
  1918. {"qing", pinyin_qing_codepoints, 17},
  1919. {"qiong", pinyin_qiong_codepoints, 3},
  1920. {"qiu", pinyin_qiu_codepoints, 11},
  1921. {"qu", pinyin_qu_codepoints, 18},
  1922. {"quan", pinyin_quan_codepoints, 15},
  1923. {"que", pinyin_que_codepoints, 11},
  1924. {"qun", pinyin_qun_codepoints, 4},
  1925. {"ran", pinyin_ran_codepoints, 4},
  1926. {"rang", pinyin_rang_codepoints, 5},
  1927. {"rao", pinyin_rao_codepoints, 3},
  1928. {"re", pinyin_re_codepoints, 3},
  1929. {"ren", pinyin_ren_codepoints, 11},
  1930. {"reng", pinyin_reng_codepoints, 4},
  1931. {"ri", pinyin_ri_codepoints, 1},
  1932. {"rong", pinyin_rong_codepoints, 11},
  1933. {"rou", pinyin_rou_codepoints, 3},
  1934. {"ru", pinyin_ru_codepoints, 14},
  1935. {"ruan", pinyin_ruan_codepoints, 3},
  1936. {"rui", pinyin_rui_codepoints, 5},
  1937. {"run", pinyin_run_codepoints, 2},
  1938. {"ruo", pinyin_ruo_codepoints, 4},
  1939. {"sa", pinyin_sa_codepoints, 4},
  1940. {"sai", pinyin_sai_codepoints, 5},
  1941. {"san", pinyin_san_codepoints, 4},
  1942. {"sang", pinyin_sang_codepoints, 3},
  1943. {"sao", pinyin_sao_codepoints, 7},
  1944. {"se", pinyin_se_codepoints, 6},
  1945. {"sen", pinyin_sen_codepoints, 2},
  1946. {"seng", pinyin_seng_codepoints, 1},
  1947. {"sha", pinyin_sha_codepoints, 14},
  1948. {"shai", pinyin_shai_codepoints, 3},
  1949. {"shan", pinyin_shan_codepoints, 22},
  1950. {"shang", pinyin_shang_codepoints, 9},
  1951. {"shao", pinyin_shao_codepoints, 16},
  1952. {"she", pinyin_she_codepoints, 17},
  1953. {"shei", pinyin_shei_codepoints, 1},
  1954. {"shen", pinyin_shen_codepoints, 21},
  1955. {"sheng", pinyin_sheng_codepoints, 14},
  1956. {"shi", pinyin_shi_codepoints, 62},
  1957. {"shou", pinyin_shou_codepoints, 11},
  1958. {"shu", pinyin_shu_codepoints, 42},
  1959. {"shua", pinyin_shua_codepoints, 3},
  1960. {"shuai", pinyin_shuai_codepoints, 5},
  1961. {"shuan", pinyin_shuan_codepoints, 3},
  1962. {"shuang", pinyin_shuang_codepoints, 3},
  1963. {"shui", pinyin_shui_codepoints, 5},
  1964. {"shun", pinyin_shun_codepoints, 7},
  1965. {"shuo", pinyin_shuo_codepoints, 8},
  1966. {"si", pinyin_si_codepoints, 23},
  1967. {"song", pinyin_song_codepoints, 8},
  1968. {"sou", pinyin_sou_codepoints, 5},
  1969. {"su", pinyin_su_codepoints, 14},
  1970. {"suan", pinyin_suan_codepoints, 4},
  1971. {"sui", pinyin_sui_codepoints, 15},
  1972. {"sun", pinyin_sun_codepoints, 4},
  1973. {"suo", pinyin_suo_codepoints, 14},
  1974. {"ta", pinyin_ta_codepoints, 14},
  1975. {"tai", pinyin_tai_codepoints, 11},
  1976. {"tan", pinyin_tan_codepoints, 26},
  1977. {"tang", pinyin_tang_codepoints, 13},
  1978. {"tao", pinyin_tao_codepoints, 14},
  1979. {"te", pinyin_te_codepoints, 3},
  1980. {"teng", pinyin_teng_codepoints, 4},
  1981. {"ti", pinyin_ti_codepoints, 22},
  1982. {"tian", pinyin_tian_codepoints, 16},
  1983. {"tiao", pinyin_tiao_codepoints, 10},
  1984. {"tie", pinyin_tie_codepoints, 5},
  1985. {"ting", pinyin_ting_codepoints, 11},
  1986. {"tong", pinyin_tong_codepoints, 18},
  1987. {"tou", pinyin_tou_codepoints, 6},
  1988. {"tu", pinyin_tu_codepoints, 14},
  1989. {"tuan", pinyin_tuan_codepoints, 6},
  1990. {"tui", pinyin_tui_codepoints, 10},
  1991. {"tun", pinyin_tun_codepoints, 9},
  1992. {"tuo", pinyin_tuo_codepoints, 19},
  1993. {"wa", pinyin_wa_codepoints, 9},
  1994. {"wai", pinyin_wai_codepoints, 2},
  1995. {"wan", pinyin_wan_codepoints, 21},
  1996. {"wang", pinyin_wang_codepoints, 14},
  1997. {"wei", pinyin_wei_codepoints, 39},
  1998. {"wen", pinyin_wen_codepoints, 15},
  1999. {"weng", pinyin_weng_codepoints, 3},
  2000. {"wo", pinyin_wo_codepoints, 10},
  2001. {"wu", pinyin_wu_codepoints, 32},
  2002. {"xi", pinyin_xi_codepoints, 43},
  2003. {"xia", pinyin_xia_codepoints, 19},
  2004. {"xian", pinyin_xian_codepoints, 36},
  2005. {"xiang", pinyin_xiang_codepoints, 24},
  2006. {"xiao", pinyin_xiao_codepoints, 29},
  2007. {"xie", pinyin_xie_codepoints, 31},
  2008. {"xin", pinyin_xin_codepoints, 12},
  2009. {"xing", pinyin_xing_codepoints, 18},
  2010. {"xiong", pinyin_xiong_codepoints, 9},
  2011. {"xiu", pinyin_xiu_codepoints, 11},
  2012. {"xu", pinyin_xu_codepoints, 27},
  2013. {"xuan", pinyin_xuan_codepoints, 14},
  2014. {"xue", pinyin_xue_codepoints, 9},
  2015. {"xun", pinyin_xun_codepoints, 20},
  2016. {"ya", pinyin_ya_codepoints, 22},
  2017. {"yan", pinyin_yan_codepoints, 47},
  2018. {"yang", pinyin_yang_codepoints, 20},
  2019. {"yao", pinyin_yao_codepoints, 24},
  2020. {"ye", pinyin_ye_codepoints, 23},
  2021. {"yi", pinyin_yi_codepoints, 82},
  2022. {"yin", pinyin_yin_codepoints, 26},
  2023. {"ying", pinyin_ying_codepoints, 23},
  2024. {"yo", pinyin_yo_codepoints, 2},
  2025. {"yong", pinyin_yong_codepoints, 17},
  2026. {"you", pinyin_you_codepoints, 24},
  2027. {"yu", pinyin_yu_codepoints, 61},
  2028. {"yuan", pinyin_yuan_codepoints, 26},
  2029. {"yue", pinyin_yue_codepoints, 14},
  2030. {"yun", pinyin_yun_codepoints, 22},
  2031. {"za", pinyin_za_codepoints, 6},
  2032. {"zai", pinyin_zai_codepoints, 9},
  2033. {"zan", pinyin_zan_codepoints, 4},
  2034. {"zang", pinyin_zang_codepoints, 4},
  2035. {"zao", pinyin_zao_codepoints, 17},
  2036. {"ze", pinyin_ze_codepoints, 8},
  2037. {"zei", pinyin_zei_codepoints, 1},
  2038. {"zen", pinyin_zen_codepoints, 1},
  2039. {"zeng", pinyin_zeng_codepoints, 5},
  2040. {"zha", pinyin_zha_codepoints, 20},
  2041. {"zhai", pinyin_zhai_codepoints, 13},
  2042. {"zhan", pinyin_zhan_codepoints, 19},
  2043. {"zhang", pinyin_zhang_codepoints, 16},
  2044. {"zhao", pinyin_zhao_codepoints, 18},
  2045. {"zhe", pinyin_zhe_codepoints, 15},
  2046. {"zhei", pinyin_zhei_codepoints, 1},
  2047. {"zhen", pinyin_zhen_codepoints, 23},
  2048. {"zheng", pinyin_zheng_codepoints, 20},
  2049. {"zhi", pinyin_zhi_codepoints, 53},
  2050. {"zhong", pinyin_zhong_codepoints, 13},
  2051. {"zhou", pinyin_zhou_codepoints, 20},
  2052. {"zhu", pinyin_zhu_codepoints, 40},
  2053. {"zhua", pinyin_zhua_codepoints, 3},
  2054. {"zhuai", pinyin_zhuai_codepoints, 2},
  2055. {"zhuan", pinyin_zhuan_codepoints, 8},
  2056. {"zhuang", pinyin_zhuang_codepoints, 8},
  2057. {"zhui", pinyin_zhui_codepoints, 10},
  2058. {"zhun", pinyin_zhun_codepoints, 5},
  2059. {"zhuo", pinyin_zhuo_codepoints, 16},
  2060. {"zi", pinyin_zi_codepoints, 20},
  2061. {"zong", pinyin_zong_codepoints, 8},
  2062. {"zou", pinyin_zou_codepoints, 6},
  2063. {"zu", pinyin_zu_codepoints, 11},
  2064. {"zuan", pinyin_zuan_codepoints, 4},
  2065. {"zui", pinyin_zui_codepoints, 8},
  2066. {"zun", pinyin_zun_codepoints, 4},
  2067. {"zuo", pinyin_zuo_codepoints, 14}
  2068. };
  2069. #define PINYIN_DICT_SIZE (sizeof(pinyin_dict) / sizeof(pinyin_dict[0]))
  2070. #endif /* PINYIN_DICT_H */