valid_syllables.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  1. /* Generated by syllable_list_generator.py */
  2. /* Valid Chinese pinyin syllables (without tone marks) */
  3. /* Sorted by frequency (character count) */
  4. #ifndef VALID_SYLLABLES_H
  5. #define VALID_SYLLABLES_H
  6. #include <stddef.h>
  7. /* 9-key input mapping */
  8. static const char* KEY_TO_LETTERS[9] = {
  9. NULL, // 0: unused
  10. "abc", // 1: ABC
  11. "def", // 2: DEF
  12. "ghi", // 3: GHI
  13. "jkl", // 4: JKL
  14. "mno", // 5: MNO
  15. "pqrs", // 6: PQRS
  16. "tuv", // 7: TUV
  17. "wxyz" // 8: WXYZ
  18. };
  19. static const char* valid_syllables[] = {
  20. "yi", // 82 chars
  21. "ji", // 70 chars
  22. "shi", // 62 chars
  23. "yu", // 61 chars
  24. "qi", // 56 chars
  25. "fu", // 55 chars
  26. "zhi", // 53 chars
  27. "yan", // 47 chars
  28. "jian", // 45 chars
  29. "xi", // 43 chars
  30. "bo", // 42 chars
  31. "jie", // 42 chars
  32. "shu", // 42 chars
  33. "zhu", // 40 chars
  34. "ju", // 39 chars
  35. "wei", // 39 chars
  36. "bi", // 37 chars
  37. "li", // 37 chars
  38. "xian", // 36 chars
  39. "mo", // 34 chars
  40. "jiao", // 33 chars
  41. "wu", // 32 chars
  42. "xie", // 31 chars
  43. "he", // 30 chars
  44. "pi", // 30 chars
  45. "chi", // 29 chars
  46. "jing", // 29 chars
  47. "xiao", // 29 chars
  48. "di", // 27 chars
  49. "ge", // 27 chars
  50. "qian", // 27 chars
  51. "xu", // 27 chars
  52. "gu", // 26 chars
  53. "hu", // 26 chars
  54. "hui", // 26 chars
  55. "qiao", // 26 chars
  56. "tan", // 26 chars
  57. "yin", // 26 chars
  58. "yuan", // 26 chars
  59. "chu", // 25 chars
  60. "gui", // 25 chars
  61. "lu", // 25 chars
  62. "jia", // 24 chars
  63. "xiang", // 24 chars
  64. "yao", // 24 chars
  65. "you", // 24 chars
  66. "bao", // 23 chars
  67. "dan", // 23 chars
  68. "han", // 23 chars
  69. "jin", // 23 chars
  70. "si", // 23 chars
  71. "ye", // 23 chars
  72. "ying", // 23 chars
  73. "zhen", // 23 chars
  74. "cheng", // 22 chars
  75. "pu", // 22 chars
  76. "shan", // 22 chars
  77. "ti", // 22 chars
  78. "ya", // 22 chars
  79. "yun", // 22 chars
  80. "bei", // 21 chars
  81. "e", // 21 chars
  82. "mei", // 21 chars
  83. "peng", // 21 chars
  84. "shen", // 21 chars
  85. "wan", // 21 chars
  86. "ba", // 20 chars
  87. "duo", // 20 chars
  88. "mu", // 20 chars
  89. "xun", // 20 chars
  90. "yang", // 20 chars
  91. "zha", // 20 chars
  92. "zheng", // 20 chars
  93. "zhou", // 20 chars
  94. "zi", // 20 chars
  95. "chen", // 19 chars
  96. "ci", // 19 chars
  97. "dian", // 19 chars
  98. "fen", // 19 chars
  99. "feng", // 19 chars
  100. "gong", // 19 chars
  101. "ling", // 19 chars
  102. "luo", // 19 chars
  103. "pan", // 19 chars
  104. "tuo", // 19 chars
  105. "xia", // 19 chars
  106. "zhan", // 19 chars
  107. "ban", // 18 chars
  108. "du", // 18 chars
  109. "fan", // 18 chars
  110. "huan", // 18 chars
  111. "jiu", // 18 chars
  112. "jue", // 18 chars
  113. "qu", // 18 chars
  114. "tong", // 18 chars
  115. "xing", // 18 chars
  116. "zhao", // 18 chars
  117. "cha", // 17 chars
  118. "chang", // 17 chars
  119. "huang", // 17 chars
  120. "ke", // 17 chars
  121. "qing", // 17 chars
  122. "she", // 17 chars
  123. "yong", // 17 chars
  124. "zao", // 17 chars
  125. "ai", // 16 chars
  126. "gan", // 16 chars
  127. "lan", // 16 chars
  128. "lian", // 16 chars
  129. "liu", // 16 chars
  130. "lv", // 16 chars
  131. "mi", // 16 chars
  132. "shao", // 16 chars
  133. "tian", // 16 chars
  134. "zhang", // 16 chars
  135. "zhuo", // 16 chars
  136. "bu", // 15 chars
  137. "chan", // 15 chars
  138. "dai", // 15 chars
  139. "dao", // 15 chars
  140. "diao", // 15 chars
  141. "guan", // 15 chars
  142. "huo", // 15 chars
  143. "jiang", // 15 chars
  144. "jun", // 15 chars
  145. "mao", // 15 chars
  146. "po", // 15 chars
  147. "quan", // 15 chars
  148. "sui", // 15 chars
  149. "wen", // 15 chars
  150. "zhe", // 15 chars
  151. "bang", // 14 chars
  152. "fei", // 14 chars
  153. "lao", // 14 chars
  154. "liao", // 14 chars
  155. "ma", // 14 chars
  156. "pang", // 14 chars
  157. "ru", // 14 chars
  158. "sha", // 14 chars
  159. "sheng", // 14 chars
  160. "su", // 14 chars
  161. "suo", // 14 chars
  162. "ta", // 14 chars
  163. "tao", // 14 chars
  164. "tu", // 14 chars
  165. "wang", // 14 chars
  166. "xuan", // 14 chars
  167. "yue", // 14 chars
  168. "zuo", // 14 chars
  169. "an", // 13 chars
  170. "bai", // 13 chars
  171. "bian", // 13 chars
  172. "chou", // 13 chars
  173. "cui", // 13 chars
  174. "dong", // 13 chars
  175. "gang", // 13 chars
  176. "hao", // 13 chars
  177. "hua", // 13 chars
  178. "kuang", // 13 chars
  179. "kui", // 13 chars
  180. "liang", // 13 chars
  181. "lin", // 13 chars
  182. "pa", // 13 chars
  183. "pei", // 13 chars
  184. "ping", // 13 chars
  185. "tang", // 13 chars
  186. "zhai", // 13 chars
  187. "zhong", // 13 chars
  188. "beng", // 12 chars
  189. "bing", // 12 chars
  190. "chong", // 12 chars
  191. "die", // 12 chars
  192. "ding", // 12 chars
  193. "gao", // 12 chars
  194. "hong", // 12 chars
  195. "juan", // 12 chars
  196. "ku", // 12 chars
  197. "lei", // 12 chars
  198. "ni", // 12 chars
  199. "nie", // 12 chars
  200. "qin", // 12 chars
  201. "xin", // 12 chars
  202. "ao", // 11 chars
  203. "cai", // 11 chars
  204. "chao", // 11 chars
  205. "che", // 11 chars
  206. "dou", // 11 chars
  207. "fang", // 11 chars
  208. "gai", // 11 chars
  209. "geng", // 11 chars
  210. "gou", // 11 chars
  211. "kang", // 11 chars
  212. "man", // 11 chars
  213. "ning", // 11 chars
  214. "pao", // 11 chars
  215. "qiu", // 11 chars
  216. "que", // 11 chars
  217. "ren", // 11 chars
  218. "rong", // 11 chars
  219. "shou", // 11 chars
  220. "tai", // 11 chars
  221. "ting", // 11 chars
  222. "xiu", // 11 chars
  223. "zu", // 11 chars
  224. "bie", // 10 chars
  225. "cuo", // 10 chars
  226. "da", // 10 chars
  227. "dun", // 10 chars
  228. "fa", // 10 chars
  229. "guo", // 10 chars
  230. "hang", // 10 chars
  231. "long", // 10 chars
  232. "meng", // 10 chars
  233. "miao", // 10 chars
  234. "na", // 10 chars
  235. "nian", // 10 chars
  236. "nuo", // 10 chars
  237. "ou", // 10 chars
  238. "qiang", // 10 chars
  239. "qie", // 10 chars
  240. "tiao", // 10 chars
  241. "tui", // 10 chars
  242. "wo", // 10 chars
  243. "zhui", // 10 chars
  244. "deng", // 9 chars
  245. "hai", // 9 chars
  246. "hun", // 9 chars
  247. "kai", // 9 chars
  248. "kan", // 9 chars
  249. "la", // 9 chars
  250. "lie", // 9 chars
  251. "mian", // 9 chars
  252. "ming", // 9 chars
  253. "pai", // 9 chars
  254. "shang", // 9 chars
  255. "tun", // 9 chars
  256. "wa", // 9 chars
  257. "xiong", // 9 chars
  258. "xue", // 9 chars
  259. "zai", // 9 chars
  260. "can", // 8 chars
  261. "chuang", // 8 chars
  262. "cu", // 8 chars
  263. "er", // 8 chars
  264. "gua", // 8 chars
  265. "lang", // 8 chars
  266. "lou", // 8 chars
  267. "mai", // 8 chars
  268. "nai", // 8 chars
  269. "pian", // 8 chars
  270. "shuo", // 8 chars
  271. "song", // 8 chars
  272. "ze", // 8 chars
  273. "zhuan", // 8 chars
  274. "zhuang", // 8 chars
  275. "zong", // 8 chars
  276. "zui", // 8 chars
  277. "bin", // 7 chars
  278. "cao", // 7 chars
  279. "ce", // 7 chars
  280. "chuan", // 7 chars
  281. "chun", // 7 chars
  282. "chuo", // 7 chars
  283. "cong", // 7 chars
  284. "hou", // 7 chars
  285. "huai", // 7 chars
  286. "kuai", // 7 chars
  287. "lun", // 7 chars
  288. "min", // 7 chars
  289. "sao", // 7 chars
  290. "shun", // 7 chars
  291. "ben", // 6 chars
  292. "biao", // 6 chars
  293. "chai", // 6 chars
  294. "chui", // 6 chars
  295. "cou", // 6 chars
  296. "de", // 6 chars
  297. "duan", // 6 chars
  298. "dui", // 6 chars
  299. "ga", // 6 chars
  300. "heng", // 6 chars
  301. "kun", // 6 chars
  302. "luan", // 6 chars
  303. "mang", // 6 chars
  304. "piao", // 6 chars
  305. "pin", // 6 chars
  306. "se", // 6 chars
  307. "tou", // 6 chars
  308. "tuan", // 6 chars
  309. "za", // 6 chars
  310. "zou", // 6 chars
  311. "cang", // 5 chars
  312. "ceng", // 5 chars
  313. "cuan", // 5 chars
  314. "cun", // 5 chars
  315. "dang", // 5 chars
  316. "guang", // 5 chars
  317. "gun", // 5 chars
  318. "ha", // 5 chars
  319. "hen", // 5 chars
  320. "kao", // 5 chars
  321. "ken", // 5 chars
  322. "kong", // 5 chars
  323. "kou", // 5 chars
  324. "kua", // 5 chars
  325. "kuo", // 5 chars
  326. "mou", // 5 chars
  327. "nao", // 5 chars
  328. "nu", // 5 chars
  329. "pou", // 5 chars
  330. "qia", // 5 chars
  331. "rang", // 5 chars
  332. "rui", // 5 chars
  333. "sai", // 5 chars
  334. "shuai", // 5 chars
  335. "shui", // 5 chars
  336. "sou", // 5 chars
  337. "tie", // 5 chars
  338. "zeng", // 5 chars
  339. "zhun", // 5 chars
  340. "ang", // 4 chars
  341. "ka", // 4 chars
  342. "kuan", // 4 chars
  343. "le", // 4 chars
  344. "nan", // 4 chars
  345. "ne", // 4 chars
  346. "nei", // 4 chars
  347. "niu", // 4 chars
  348. "nong", // 4 chars
  349. "pen", // 4 chars
  350. "qun", // 4 chars
  351. "ran", // 4 chars
  352. "reng", // 4 chars
  353. "ruo", // 4 chars
  354. "sa", // 4 chars
  355. "san", // 4 chars
  356. "suan", // 4 chars
  357. "sun", // 4 chars
  358. "teng", // 4 chars
  359. "zan", // 4 chars
  360. "zang", // 4 chars
  361. "zuan", // 4 chars
  362. "zun", // 4 chars
  363. "a", // 3 chars
  364. "ca", // 3 chars
  365. "gen", // 3 chars
  366. "guai", // 3 chars
  367. "jiong", // 3 chars
  368. "lai", // 3 chars
  369. "leng", // 3 chars
  370. "lve", // 3 chars
  371. "me", // 3 chars
  372. "men", // 3 chars
  373. "neng", // 3 chars
  374. "niao", // 3 chars
  375. "pie", // 3 chars
  376. "qiong", // 3 chars
  377. "rao", // 3 chars
  378. "re", // 3 chars
  379. "rou", // 3 chars
  380. "ruan", // 3 chars
  381. "sang", // 3 chars
  382. "shai", // 3 chars
  383. "shua", // 3 chars
  384. "shuan", // 3 chars
  385. "shuang", // 3 chars
  386. "te", // 3 chars
  387. "weng", // 3 chars
  388. "zhua", // 3 chars
  389. "fou", // 2 chars
  390. "hei", // 2 chars
  391. "keng", // 2 chars
  392. "mie", // 2 chars
  393. "niang", // 2 chars
  394. "nv", // 2 chars
  395. "nve", // 2 chars
  396. "run", // 2 chars
  397. "sen", // 2 chars
  398. "wai", // 2 chars
  399. "yo", // 2 chars
  400. "zhuai", // 2 chars
  401. "cen", // 1 chars
  402. "chua", // 1 chars
  403. "chuai", // 1 chars
  404. "dei", // 1 chars
  405. "diu", // 1 chars
  406. "en", // 1 chars
  407. "fo", // 1 chars
  408. "gei", // 1 chars
  409. "hng", // 1 chars
  410. "kei", // 1 chars
  411. "lia", // 1 chars
  412. "lo", // 1 chars
  413. "miu", // 1 chars
  414. "nang", // 1 chars
  415. "nen", // 1 chars
  416. "nin", // 1 chars
  417. "nuan", // 1 chars
  418. "o", // 1 chars
  419. "ri", // 1 chars
  420. "seng", // 1 chars
  421. "shei", // 1 chars
  422. "zei", // 1 chars
  423. "zen", // 1 chars
  424. "zhei" // 1 chars
  425. };
  426. #define VALID_SYLLABLES_SIZE (sizeof(valid_syllables) / sizeof(valid_syllables[0]))
  427. #endif /* VALID_SYLLABLES_H */