liblouis-rb 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +520 -0
  3. data/README.md +100 -0
  4. data/Rakefile +80 -0
  5. data/ext/liblouis/braille_character.c +200 -0
  6. data/ext/liblouis/braille_table.c +198 -0
  7. data/ext/liblouis/braille_text.c +223 -0
  8. data/ext/liblouis/extconf.rb +73 -0
  9. data/ext/liblouis/liblouis.c +168 -0
  10. data/ext/liblouis/liblouis_ext.h +49 -0
  11. data/ext/liblouis/table_source.c +161 -0
  12. data/ext/liblouis/translation.c +443 -0
  13. data/liblouis-rb.gemspec +49 -0
  14. data/spec/liblouis_spec.rb +62 -0
  15. data/test/integration/packaging_test.rb +82 -0
  16. data/test/table_source_cases.rb +9 -0
  17. data/test/test_braille_character.rb +62 -0
  18. data/test/test_braille_table.rb +379 -0
  19. data/test/test_braille_text.rb +30 -0
  20. data/test/test_helper.rb +7 -0
  21. data/test/translation_cases.rb +33 -0
  22. data/vendor/liblouis/COPYING +674 -0
  23. data/vendor/liblouis/COPYING.LESSER +502 -0
  24. data/vendor/liblouis/configure.ac +290 -0
  25. data/vendor/liblouis/liblouis/commonTranslationFunctions.c +95 -0
  26. data/vendor/liblouis/liblouis/compileTranslationTable.c +5515 -0
  27. data/vendor/liblouis/liblouis/internal.h +781 -0
  28. data/vendor/liblouis/liblouis/liblouis.h.in +514 -0
  29. data/vendor/liblouis/liblouis/logging.c +233 -0
  30. data/vendor/liblouis/liblouis/lou_backTranslateString.c +1855 -0
  31. data/vendor/liblouis/liblouis/lou_translateString.c +4177 -0
  32. data/vendor/liblouis/liblouis/maketable.c +463 -0
  33. data/vendor/liblouis/liblouis/metadata.c +1258 -0
  34. data/vendor/liblouis/liblouis/pattern.c +1632 -0
  35. data/vendor/liblouis/liblouis/utils.c +448 -0
  36. data/vendor/liblouis/tables/Es-Es-G0.utb +248 -0
  37. data/vendor/liblouis/tables/IPA-unicode-range.uti +200 -0
  38. data/vendor/liblouis/tables/IPA.utb +164 -0
  39. data/vendor/liblouis/tables/Lv-Lv-g1.utb +509 -0
  40. data/vendor/liblouis/tables/Makefile.am +503 -0
  41. data/vendor/liblouis/tables/Pl-Pl-g1.utb +312 -0
  42. data/vendor/liblouis/tables/README +6 -0
  43. data/vendor/liblouis/tables/afr-za-g1.ctb +63 -0
  44. data/vendor/liblouis/tables/afr-za-g2.ctb +1050 -0
  45. data/vendor/liblouis/tables/akk-borger.utb +997 -0
  46. data/vendor/liblouis/tables/akk.utb +1002 -0
  47. data/vendor/liblouis/tables/ancient-languages-borger.utb +114 -0
  48. data/vendor/liblouis/tables/ancient-languages-us.utb +114 -0
  49. data/vendor/liblouis/tables/ar-ar-comp8.utb +293 -0
  50. data/vendor/liblouis/tables/ar-ar-g1-core.uti +291 -0
  51. data/vendor/liblouis/tables/ar-ar-g1.utb +26 -0
  52. data/vendor/liblouis/tables/ar-ar-g2.ctb +447 -0
  53. data/vendor/liblouis/tables/ar-ar-math.uti +501 -0
  54. data/vendor/liblouis/tables/ar.tbl +17 -0
  55. data/vendor/liblouis/tables/as-in-g1.utb +27 -0
  56. data/vendor/liblouis/tables/as.tbl +18 -0
  57. data/vendor/liblouis/tables/aw-in-g1.utb +27 -0
  58. data/vendor/liblouis/tables/awa.tbl +18 -0
  59. data/vendor/liblouis/tables/ba.utb +64 -0
  60. data/vendor/liblouis/tables/be-in-g1.utb +27 -0
  61. data/vendor/liblouis/tables/bel-comp.utb +42 -0
  62. data/vendor/liblouis/tables/bel-detailed.utb +32 -0
  63. data/vendor/liblouis/tables/bel.utb +61 -0
  64. data/vendor/liblouis/tables/bengali.cti +238 -0
  65. data/vendor/liblouis/tables/bg.ctb +215 -0
  66. data/vendor/liblouis/tables/bg.dis +84 -0
  67. data/vendor/liblouis/tables/bg.tbl +21 -0
  68. data/vendor/liblouis/tables/bg.utb +454 -0
  69. data/vendor/liblouis/tables/bh.ctb +24 -0
  70. data/vendor/liblouis/tables/bh.tbl +17 -0
  71. data/vendor/liblouis/tables/bn.tbl +18 -0
  72. data/vendor/liblouis/tables/bo.ctb +184 -0
  73. data/vendor/liblouis/tables/bo.tbl +21 -0
  74. data/vendor/liblouis/tables/boxes.ctb +162 -0
  75. data/vendor/liblouis/tables/br-in-g1.utb +27 -0
  76. data/vendor/liblouis/tables/bra.tbl +18 -0
  77. data/vendor/liblouis/tables/braille-patterns.cti +287 -0
  78. data/vendor/liblouis/tables/ca-chardefs.cti +225 -0
  79. data/vendor/liblouis/tables/ca-g1.ctb +46 -0
  80. data/vendor/liblouis/tables/ca.tbl +18 -0
  81. data/vendor/liblouis/tables/chr-us-g1.ctb +180 -0
  82. data/vendor/liblouis/tables/ckb-chardefs.cti +219 -0
  83. data/vendor/liblouis/tables/ckb-g1.ctb +31 -0
  84. data/vendor/liblouis/tables/ckb-translation.cti +131 -0
  85. data/vendor/liblouis/tables/ckb.tbl +18 -0
  86. data/vendor/liblouis/tables/compress.cti +44 -0
  87. data/vendor/liblouis/tables/controlchars.cti +27 -0
  88. data/vendor/liblouis/tables/cop-eg-comp8.utb +255 -0
  89. data/vendor/liblouis/tables/cop.utb +231 -0
  90. data/vendor/liblouis/tables/corrections.cti +47 -0
  91. data/vendor/liblouis/tables/countries.cti +263 -0
  92. data/vendor/liblouis/tables/critical-apparatus.uti +54 -0
  93. data/vendor/liblouis/tables/cs-chardefs.cti +385 -0
  94. data/vendor/liblouis/tables/cs-comp8.utb +405 -0
  95. data/vendor/liblouis/tables/cs-g1.ctb +37 -0
  96. data/vendor/liblouis/tables/cs-translation.cti +63 -0
  97. data/vendor/liblouis/tables/cs.tbl +20 -0
  98. data/vendor/liblouis/tables/cuneiform-transliterated-compact.utb +432 -0
  99. data/vendor/liblouis/tables/cuneiform-transliterated.utb +160 -0
  100. data/vendor/liblouis/tables/cy-cy-g1.utb +487 -0
  101. data/vendor/liblouis/tables/cy-cy-g2.ctb +199 -0
  102. data/vendor/liblouis/tables/cy.tbl +19 -0
  103. data/vendor/liblouis/tables/da-dk-6miscChars.cti +385 -0
  104. data/vendor/liblouis/tables/da-dk-6miscChars_1993.cti +412 -0
  105. data/vendor/liblouis/tables/da-dk-8miscChars.cti +90 -0
  106. data/vendor/liblouis/tables/da-dk-8miscChars_1993.cti +102 -0
  107. data/vendor/liblouis/tables/da-dk-g08.ctb +290 -0
  108. data/vendor/liblouis/tables/da-dk-g08_1993.ctb +331 -0
  109. data/vendor/liblouis/tables/da-dk-g16-lit_1993.ctb +294 -0
  110. data/vendor/liblouis/tables/da-dk-g16.ctb +289 -0
  111. data/vendor/liblouis/tables/da-dk-g16_1993.ctb +305 -0
  112. data/vendor/liblouis/tables/da-dk-g18.ctb +545 -0
  113. data/vendor/liblouis/tables/da-dk-g18_1993.ctb +563 -0
  114. data/vendor/liblouis/tables/da-dk-g2.dic +7439 -0
  115. data/vendor/liblouis/tables/da-dk-g26-lit_1993.ctb +898 -0
  116. data/vendor/liblouis/tables/da-dk-g26.ctb +1345 -0
  117. data/vendor/liblouis/tables/da-dk-g26_1993.ctb +1127 -0
  118. data/vendor/liblouis/tables/da-dk-g26l-lit_1993.ctb +588 -0
  119. data/vendor/liblouis/tables/da-dk-g26l_1993.ctb +604 -0
  120. data/vendor/liblouis/tables/da-dk-g28.ctb +2426 -0
  121. data/vendor/liblouis/tables/da-dk-g28_1993.ctb +2063 -0
  122. data/vendor/liblouis/tables/da-dk-g28l_1993.ctb +1594 -0
  123. data/vendor/liblouis/tables/da-dk-octobraille.dis +316 -0
  124. data/vendor/liblouis/tables/da-dk-octobraille_1993.dis +313 -0
  125. data/vendor/liblouis/tables/de-accents-detailed.cti +214 -0
  126. data/vendor/liblouis/tables/de-accents.cti +214 -0
  127. data/vendor/liblouis/tables/de-chardefs6.cti +289 -0
  128. data/vendor/liblouis/tables/de-chardefs8.cti +278 -0
  129. data/vendor/liblouis/tables/de-chess.ctb +37 -0
  130. data/vendor/liblouis/tables/de-comp6.utb +226 -0
  131. data/vendor/liblouis/tables/de-de-comp8.ctb +492 -0
  132. data/vendor/liblouis/tables/de-de.dis +331 -0
  133. data/vendor/liblouis/tables/de-eurobrl6.dis +101 -0
  134. data/vendor/liblouis/tables/de-eurobrl6u.dis +96 -0
  135. data/vendor/liblouis/tables/de-g0-core.uti +732 -0
  136. data/vendor/liblouis/tables/de-g0-detailed.utb +84 -0
  137. data/vendor/liblouis/tables/de-g0.utb +57 -0
  138. data/vendor/liblouis/tables/de-g1-core-patterns.dic +4863 -0
  139. data/vendor/liblouis/tables/de-g1-core.cti +67 -0
  140. data/vendor/liblouis/tables/de-g1-detailed.ctb +79 -0
  141. data/vendor/liblouis/tables/de-g1.ctb +54 -0
  142. data/vendor/liblouis/tables/de-g2-core-patterns.dic +26711 -0
  143. data/vendor/liblouis/tables/de-g2-core.cti +607 -0
  144. data/vendor/liblouis/tables/de-g2-detailed.ctb +60 -0
  145. data/vendor/liblouis/tables/de-g2.ctb +57 -0
  146. data/vendor/liblouis/tables/devanagari.cti +325 -0
  147. data/vendor/liblouis/tables/digits6Dots.uti +30 -0
  148. data/vendor/liblouis/tables/digits6DotsPlusDot6.uti +30 -0
  149. data/vendor/liblouis/tables/digits8Dots.uti +30 -0
  150. data/vendor/liblouis/tables/dra.ctb +23 -0
  151. data/vendor/liblouis/tables/dra.tbl +21 -0
  152. data/vendor/liblouis/tables/el.ctb +775 -0
  153. data/vendor/liblouis/tables/en-GB-g2.ctb +829 -0
  154. data/vendor/liblouis/tables/en-chardefs.cti +193 -0
  155. data/vendor/liblouis/tables/en-chess.ctb +37 -0
  156. data/vendor/liblouis/tables/en-g3-patterns.dic +11194 -0
  157. data/vendor/liblouis/tables/en-g3.ctb +2261 -0
  158. data/vendor/liblouis/tables/en-gb-comp8.ctb +282 -0
  159. data/vendor/liblouis/tables/en-gb-g1.utb +527 -0
  160. data/vendor/liblouis/tables/en-in-g1.ctb +162 -0
  161. data/vendor/liblouis/tables/en-nabcc.utb +166 -0
  162. data/vendor/liblouis/tables/en-nz-g1.utb +65 -0
  163. data/vendor/liblouis/tables/en-nz-g2.ctb +46 -0
  164. data/vendor/liblouis/tables/en-ueb-chardefs.uti +938 -0
  165. data/vendor/liblouis/tables/en-ueb-g1.ctb +167 -0
  166. data/vendor/liblouis/tables/en-ueb-g2.ctb +3925 -0
  167. data/vendor/liblouis/tables/en-ueb-math.ctb +71 -0
  168. data/vendor/liblouis/tables/en-us-brf.dis +102 -0
  169. data/vendor/liblouis/tables/en-us-comp6.ctb +149 -0
  170. data/vendor/liblouis/tables/en-us-comp8-ext.utb +626 -0
  171. data/vendor/liblouis/tables/en-us-comp8.ctb +62 -0
  172. data/vendor/liblouis/tables/en-us-compbrl.uti +69 -0
  173. data/vendor/liblouis/tables/en-us-emphasis.uti +45 -0
  174. data/vendor/liblouis/tables/en-us-g1.ctb +199 -0
  175. data/vendor/liblouis/tables/en-us-g2.ctb +1081 -0
  176. data/vendor/liblouis/tables/en-us-interline.ctb +1126 -0
  177. data/vendor/liblouis/tables/en-us-mathtext.ctb +880 -0
  178. data/vendor/liblouis/tables/en_CA.ctb +195 -0
  179. data/vendor/liblouis/tables/en_CA.tbl +21 -0
  180. data/vendor/liblouis/tables/en_GB.tbl +26 -0
  181. data/vendor/liblouis/tables/en_US-comp8-ext.tbl +15 -0
  182. data/vendor/liblouis/tables/en_US.tbl +26 -0
  183. data/vendor/liblouis/tables/eo-g1-x-system.ctb +85 -0
  184. data/vendor/liblouis/tables/eo-g1.ctb +165 -0
  185. data/vendor/liblouis/tables/eo.tbl +14 -0
  186. data/vendor/liblouis/tables/es-chardefs.cti +206 -0
  187. data/vendor/liblouis/tables/es-g1.ctb +36 -0
  188. data/vendor/liblouis/tables/es-g2.ctb +955 -0
  189. data/vendor/liblouis/tables/es-new.dis +284 -0
  190. data/vendor/liblouis/tables/es-no.utb +79 -0
  191. data/vendor/liblouis/tables/es-old.dis +284 -0
  192. data/vendor/liblouis/tables/es.tbl +19 -0
  193. data/vendor/liblouis/tables/et-6dot.utb +269 -0
  194. data/vendor/liblouis/tables/et-g0.utb +139 -0
  195. data/vendor/liblouis/tables/ethio-g1.ctb +335 -0
  196. data/vendor/liblouis/tables/eurodefs.cti +107 -0
  197. data/vendor/liblouis/tables/fa-ir-comp8.ctb +250 -0
  198. data/vendor/liblouis/tables/fa-ir-g1.utb +311 -0
  199. data/vendor/liblouis/tables/fi-fi-8dot.ctb +278 -0
  200. data/vendor/liblouis/tables/fi.utb +354 -0
  201. data/vendor/liblouis/tables/fil-g2.ctb +491 -0
  202. data/vendor/liblouis/tables/fr-bfu-comp6-puncs-math.uti +351 -0
  203. data/vendor/liblouis/tables/fr-bfu-comp6.utb +238 -0
  204. data/vendor/liblouis/tables/fr-bfu-comp68.cti +251 -0
  205. data/vendor/liblouis/tables/fr-bfu-comp8.utb +323 -0
  206. data/vendor/liblouis/tables/fr-bfu-g2.ctb +4644 -0
  207. data/vendor/liblouis/tables/ga-g1.utb +95 -0
  208. data/vendor/liblouis/tables/ga-g2.ctb +231 -0
  209. data/vendor/liblouis/tables/gd.ctb +123 -0
  210. data/vendor/liblouis/tables/gd.tbl +21 -0
  211. data/vendor/liblouis/tables/gez.tbl +21 -0
  212. data/vendor/liblouis/tables/gon.ctb +25 -0
  213. data/vendor/liblouis/tables/gon.tbl +17 -0
  214. data/vendor/liblouis/tables/gr-pl-comp8.uti +256 -0
  215. data/vendor/liblouis/tables/grc-international-common.uti +104 -0
  216. data/vendor/liblouis/tables/grc-international-composed.uti +268 -0
  217. data/vendor/liblouis/tables/grc-international-decomposed.uti +268 -0
  218. data/vendor/liblouis/tables/grc-international-en-composed.utb +54 -0
  219. data/vendor/liblouis/tables/grc-international-en.utb +206 -0
  220. data/vendor/liblouis/tables/grc-international-es.utb +228 -0
  221. data/vendor/liblouis/tables/gu-in-g1.utb +27 -0
  222. data/vendor/liblouis/tables/gu.tbl +18 -0
  223. data/vendor/liblouis/tables/gujarati.cti +221 -0
  224. data/vendor/liblouis/tables/gurumuki.cti +393 -0
  225. data/vendor/liblouis/tables/haw-us-g1.ctb +54 -0
  226. data/vendor/liblouis/tables/hbo-cantillated-rules.uti +71 -0
  227. data/vendor/liblouis/tables/hbo-cantillated.utb +109 -0
  228. data/vendor/liblouis/tables/hbo-common-rules.uti +152 -0
  229. data/vendor/liblouis/tables/hbo-ihbc-rules.uti +58 -0
  230. data/vendor/liblouis/tables/hbo-slim-rules.uti +68 -0
  231. data/vendor/liblouis/tables/hbo-slim.utb +100 -0
  232. data/vendor/liblouis/tables/hbo.utb +107 -0
  233. data/vendor/liblouis/tables/he-IL-comp8.utb +464 -0
  234. data/vendor/liblouis/tables/he-IL.utb +406 -0
  235. data/vendor/liblouis/tables/he-common-consonants.uti +102 -0
  236. data/vendor/liblouis/tables/he-common-vowels-ihbc.uti +161 -0
  237. data/vendor/liblouis/tables/hi-in-g1.utb +27 -0
  238. data/vendor/liblouis/tables/hi.tbl +18 -0
  239. data/vendor/liblouis/tables/hr-chardefs.cti +278 -0
  240. data/vendor/liblouis/tables/hr-comp8.tbl +21 -0
  241. data/vendor/liblouis/tables/hr-comp8.utb +239 -0
  242. data/vendor/liblouis/tables/hr-digits.uti +40 -0
  243. data/vendor/liblouis/tables/hr-g1.ctb +36 -0
  244. data/vendor/liblouis/tables/hr-g1.tbl +9 -0
  245. data/vendor/liblouis/tables/hr-translation.cti +364 -0
  246. data/vendor/liblouis/tables/ht-frenchcompatibility.uti +61 -0
  247. data/vendor/liblouis/tables/ht-g1.utb +114 -0
  248. data/vendor/liblouis/tables/hu-backtranslate-correction.dis +38 -0
  249. data/vendor/liblouis/tables/hu-backtranslate-word-corrections.cti +4293 -0
  250. data/vendor/liblouis/tables/hu-chardefs.cti +298 -0
  251. data/vendor/liblouis/tables/hu-exceptionwords.cti +3204 -0
  252. data/vendor/liblouis/tables/hu-hu-comp8.ctb +183 -0
  253. data/vendor/liblouis/tables/hu-hu-g1.ctb +129 -0
  254. data/vendor/liblouis/tables/hu-hu-g1_braille_input.cti +486 -0
  255. data/vendor/liblouis/tables/hu-hu-g2.ctb +270 -0
  256. data/vendor/liblouis/tables/hu-hu-g2_exceptions.cti +1164 -0
  257. data/vendor/liblouis/tables/hy.ctb +121 -0
  258. data/vendor/liblouis/tables/hy.tbl +21 -0
  259. data/vendor/liblouis/tables/hyph_cs_CZ.dic +3637 -0
  260. data/vendor/liblouis/tables/hyph_da_DK.dic +8896 -0
  261. data/vendor/liblouis/tables/hyph_de_DE.dic +5799 -0
  262. data/vendor/liblouis/tables/hyph_en_US.dic +5537 -0
  263. data/vendor/liblouis/tables/hyph_eo.dic +1024 -0
  264. data/vendor/liblouis/tables/hyph_es_ES.dic +877 -0
  265. data/vendor/liblouis/tables/hyph_fr_FR.dic +1067 -0
  266. data/vendor/liblouis/tables/hyph_hu_HU.dic +98519 -0
  267. data/vendor/liblouis/tables/hyph_it_IT.dic +410 -0
  268. data/vendor/liblouis/tables/hyph_nb_NO.dic +27142 -0
  269. data/vendor/liblouis/tables/hyph_nl_NL.dic +12725 -0
  270. data/vendor/liblouis/tables/hyph_nn_NO.dic +27142 -0
  271. data/vendor/liblouis/tables/hyph_pl_PL.dic +4074 -0
  272. data/vendor/liblouis/tables/hyph_pt_PT.dic +308 -0
  273. data/vendor/liblouis/tables/hyph_ru.dic +6480 -0
  274. data/vendor/liblouis/tables/hyph_sv_SE.dic +4697 -0
  275. data/vendor/liblouis/tables/is-chardefs6.cti +170 -0
  276. data/vendor/liblouis/tables/is-chardefs8.cti +293 -0
  277. data/vendor/liblouis/tables/is.ctb +157 -0
  278. data/vendor/liblouis/tables/is.tbl +18 -0
  279. data/vendor/liblouis/tables/it-it-comp6.utb +404 -0
  280. data/vendor/liblouis/tables/it-it-comp8.utb +663 -0
  281. data/vendor/liblouis/tables/iu-ca-g1.ctb +236 -0
  282. data/vendor/liblouis/tables/ja-kantenji-ucs2.utb +11448 -0
  283. data/vendor/liblouis/tables/ja-kantenji.utb +53 -0
  284. data/vendor/liblouis/tables/ja-rokutenkanji.utb +8710 -0
  285. data/vendor/liblouis/tables/ka-in-g1.utb +27 -0
  286. data/vendor/liblouis/tables/ka.utb +128 -0
  287. data/vendor/liblouis/tables/kannada.cti +282 -0
  288. data/vendor/liblouis/tables/kh-in-g1.utb +26 -0
  289. data/vendor/liblouis/tables/kha.tbl +18 -0
  290. data/vendor/liblouis/tables/kk.utb +77 -0
  291. data/vendor/liblouis/tables/km-g1.utb +412 -0
  292. data/vendor/liblouis/tables/kmr.tbl +108 -0
  293. data/vendor/liblouis/tables/kn.tbl +18 -0
  294. data/vendor/liblouis/tables/ko-2006-g1.ctb +49 -0
  295. data/vendor/liblouis/tables/ko-2006-g2.ctb +53 -0
  296. data/vendor/liblouis/tables/ko-2006.cti +190 -0
  297. data/vendor/liblouis/tables/ko-chars.cti +15140 -0
  298. data/vendor/liblouis/tables/ko-g1-rules.cti +634 -0
  299. data/vendor/liblouis/tables/ko-g1.ctb +48 -0
  300. data/vendor/liblouis/tables/ko-g2-rules.cti +9263 -0
  301. data/vendor/liblouis/tables/ko-g2.ctb +52 -0
  302. data/vendor/liblouis/tables/ko.cti +223 -0
  303. data/vendor/liblouis/tables/kok.ctb +24 -0
  304. data/vendor/liblouis/tables/kok.tbl +17 -0
  305. data/vendor/liblouis/tables/kru.ctb +24 -0
  306. data/vendor/liblouis/tables/kru.tbl +17 -0
  307. data/vendor/liblouis/tables/ks-in-g1.utb +27 -0
  308. data/vendor/liblouis/tables/latinLetterDef6Dots.uti +78 -0
  309. data/vendor/liblouis/tables/latinLetterDef8Dots.uti +75 -0
  310. data/vendor/liblouis/tables/latinLowercase.uti +389 -0
  311. data/vendor/liblouis/tables/latinUppercaseComp6.uti +78 -0
  312. data/vendor/liblouis/tables/lg-ug-g1.utb +60 -0
  313. data/vendor/liblouis/tables/litdigits6Dots.uti +30 -0
  314. data/vendor/liblouis/tables/litdigits6DotsPlusDot6.uti +30 -0
  315. data/vendor/liblouis/tables/lo-g1.utb +3127 -0
  316. data/vendor/liblouis/tables/loweredDigits6Dots.uti +30 -0
  317. data/vendor/liblouis/tables/loweredDigits8Dots.uti +30 -0
  318. data/vendor/liblouis/tables/lt-6dot.utb +308 -0
  319. data/vendor/liblouis/tables/lt-8dot.utb +281 -0
  320. data/vendor/liblouis/tables/lt.ctb +313 -0
  321. data/vendor/liblouis/tables/lv.tbl +22 -0
  322. data/vendor/liblouis/tables/maketablelist.sh +52 -0
  323. data/vendor/liblouis/tables/malayalam.cti +674 -0
  324. data/vendor/liblouis/tables/mao-nz-g1.ctb +65 -0
  325. data/vendor/liblouis/tables/marburg_single_cell_defs.cti +66 -0
  326. data/vendor/liblouis/tables/marburg_unicode_defs.cti +297 -0
  327. data/vendor/liblouis/tables/mk-g1.utb +240 -0
  328. data/vendor/liblouis/tables/ml-in-g1.utb +27 -0
  329. data/vendor/liblouis/tables/ml.tbl +21 -0
  330. data/vendor/liblouis/tables/mn-MN-common.cti +110 -0
  331. data/vendor/liblouis/tables/mn-MN-g1.utb +52 -0
  332. data/vendor/liblouis/tables/mn-MN-g2.ctb +50 -0
  333. data/vendor/liblouis/tables/mn-in-g1.utb +27 -0
  334. data/vendor/liblouis/tables/mni.tbl +18 -0
  335. data/vendor/liblouis/tables/mr-in-g1.utb +27 -0
  336. data/vendor/liblouis/tables/mr.tbl +18 -0
  337. data/vendor/liblouis/tables/ms-my-g2.ctb +4897 -0
  338. data/vendor/liblouis/tables/mt.ctb +114 -0
  339. data/vendor/liblouis/tables/mt.tbl +21 -0
  340. data/vendor/liblouis/tables/mun.ctb +24 -0
  341. data/vendor/liblouis/tables/mun.tbl +17 -0
  342. data/vendor/liblouis/tables/mwr.ctb +24 -0
  343. data/vendor/liblouis/tables/mwr.tbl +17 -0
  344. data/vendor/liblouis/tables/my-g1.utb +771 -0
  345. data/vendor/liblouis/tables/my-g2.ctb +3805 -0
  346. data/vendor/liblouis/tables/ne.ctb +22 -0
  347. data/vendor/liblouis/tables/ne.tbl +18 -0
  348. data/vendor/liblouis/tables/nemethdefs.cti +382 -0
  349. data/vendor/liblouis/tables/nl-BE.dis +532 -0
  350. data/vendor/liblouis/tables/nl-NL-g0.utb.in +646 -0
  351. data/vendor/liblouis/tables/nl-chardefs.uti.in +455 -0
  352. data/vendor/liblouis/tables/nl-comp8.utb +411 -0
  353. data/vendor/liblouis/tables/nl-print.dis +551 -0
  354. data/vendor/liblouis/tables/nl-unicode.dis +540 -0
  355. data/vendor/liblouis/tables/no-no-8dot-fallback-6dot-g0.utb +59 -0
  356. data/vendor/liblouis/tables/no-no-8dot.utb +629 -0
  357. data/vendor/liblouis/tables/no-no-braillo-047-01.dis +247 -0
  358. data/vendor/liblouis/tables/no-no-chardefs6.uti +305 -0
  359. data/vendor/liblouis/tables/no-no-comp8.ctb +323 -0
  360. data/vendor/liblouis/tables/no-no-cyrillic6dot.uti +95 -0
  361. data/vendor/liblouis/tables/no-no-g0.utb +320 -0
  362. data/vendor/liblouis/tables/no-no-g1.ctb +272 -0
  363. data/vendor/liblouis/tables/no-no-g2.ctb +737 -0
  364. data/vendor/liblouis/tables/no-no-g3.ctb +3597 -0
  365. data/vendor/liblouis/tables/no-no-generic.ctb +295 -0
  366. data/vendor/liblouis/tables/no-no-generic.dis +295 -0
  367. data/vendor/liblouis/tables/no-no-latinLetterDef6Dots_diacritics.uti +852 -0
  368. data/vendor/liblouis/tables/no-no.dis +291 -0
  369. data/vendor/liblouis/tables/np-in-g1.utb +27 -0
  370. data/vendor/liblouis/tables/nso-za-g1.utb +38 -0
  371. data/vendor/liblouis/tables/nso-za-g2.ctb +38 -0
  372. data/vendor/liblouis/tables/ny-mw.utb +70 -0
  373. data/vendor/liblouis/tables/or-in-g1.utb +27 -0
  374. data/vendor/liblouis/tables/or.tbl +18 -0
  375. data/vendor/liblouis/tables/oriya.cti +238 -0
  376. data/vendor/liblouis/tables/ovd-6g0.utb +64 -0
  377. data/vendor/liblouis/tables/ovd-8g0.utb +81 -0
  378. data/vendor/liblouis/tables/pa.tbl +18 -0
  379. data/vendor/liblouis/tables/pi.ctb +24 -0
  380. data/vendor/liblouis/tables/pi.tbl +17 -0
  381. data/vendor/liblouis/tables/pl-pl-comp8.ctb +658 -0
  382. data/vendor/liblouis/tables/pl.tbl +12 -0
  383. data/vendor/liblouis/tables/printables.cti +70 -0
  384. data/vendor/liblouis/tables/pt-comp6.utb +299 -0
  385. data/vendor/liblouis/tables/pt-pt-comp8.ctb +395 -0
  386. data/vendor/liblouis/tables/pt-pt-g1.utb +1312 -0
  387. data/vendor/liblouis/tables/pt-pt-g2.ctb +874 -0
  388. data/vendor/liblouis/tables/pt.tbl +20 -0
  389. data/vendor/liblouis/tables/pu-in-g1.utb +42 -0
  390. data/vendor/liblouis/tables/quotation-marks.uti +30 -0
  391. data/vendor/liblouis/tables/ro-g0.utb +85 -0
  392. data/vendor/liblouis/tables/ro.ctb +126 -0
  393. data/vendor/liblouis/tables/ro.tbl +21 -0
  394. data/vendor/liblouis/tables/ru-brf.dis +116 -0
  395. data/vendor/liblouis/tables/ru-comp6.utb +258 -0
  396. data/vendor/liblouis/tables/ru-comp8.utb +740 -0
  397. data/vendor/liblouis/tables/ru-letters.dis +145 -0
  398. data/vendor/liblouis/tables/ru-litbrl-detailed.utb +77 -0
  399. data/vendor/liblouis/tables/ru-litbrl.ctb +857 -0
  400. data/vendor/liblouis/tables/ru-math.uti +395 -0
  401. data/vendor/liblouis/tables/ru-ru-g1.ctb +804 -0
  402. data/vendor/liblouis/tables/ru-unicode.dis +121 -0
  403. data/vendor/liblouis/tables/rw-rw-g1.utb +133 -0
  404. data/vendor/liblouis/tables/sa-in-g1.utb +27 -0
  405. data/vendor/liblouis/tables/sa.tbl +18 -0
  406. data/vendor/liblouis/tables/sah.utb +72 -0
  407. data/vendor/liblouis/tables/sd.tbl +18 -0
  408. data/vendor/liblouis/tables/se-se.ctb +246 -0
  409. data/vendor/liblouis/tables/se-se.dis +334 -0
  410. data/vendor/liblouis/tables/si-in-g1.utb +27 -0
  411. data/vendor/liblouis/tables/sin.cti +213 -0
  412. data/vendor/liblouis/tables/sin.utb +35 -0
  413. data/vendor/liblouis/tables/sk-g1.ctb +1019 -0
  414. data/vendor/liblouis/tables/sk-sk-g1.utb +206 -0
  415. data/vendor/liblouis/tables/sk-sk.utb +112 -0
  416. data/vendor/liblouis/tables/sl-si-comp8.ctb +204 -0
  417. data/vendor/liblouis/tables/sl-si-g1.utb +471 -0
  418. data/vendor/liblouis/tables/sl.tbl +20 -0
  419. data/vendor/liblouis/tables/smi-6g0.utb +64 -0
  420. data/vendor/liblouis/tables/smi-8g0.utb +61 -0
  421. data/vendor/liblouis/tables/sot-za-g1.ctb +72 -0
  422. data/vendor/liblouis/tables/sot-za-g2.ctb +244 -0
  423. data/vendor/liblouis/tables/spaces.uti +62 -0
  424. data/vendor/liblouis/tables/sr-Cyrl.ctb +59 -0
  425. data/vendor/liblouis/tables/sr-common.cti +161 -0
  426. data/vendor/liblouis/tables/sr-cyrletters.cti +92 -0
  427. data/vendor/liblouis/tables/sr-g1.ctb +57 -0
  428. data/vendor/liblouis/tables/sr-latletters.cti +45 -0
  429. data/vendor/liblouis/tables/sv-1989.ctb +241 -0
  430. data/vendor/liblouis/tables/sv-1996.ctb +180 -0
  431. data/vendor/liblouis/tables/sv-6common.uti +1199 -0
  432. data/vendor/liblouis/tables/sv-6g0d.utb +508 -0
  433. data/vendor/liblouis/tables/sv-6g0p.utb +61 -0
  434. data/vendor/liblouis/tables/sv-6g1.uti +106 -0
  435. data/vendor/liblouis/tables/sv-6g1d.ctb +57 -0
  436. data/vendor/liblouis/tables/sv-6g2.uti +254 -0
  437. data/vendor/liblouis/tables/sv-6g2d.ctb +57 -0
  438. data/vendor/liblouis/tables/sv-8g0d.utb +495 -0
  439. data/vendor/liblouis/tables/sv-8g0n.utb +1236 -0
  440. data/vendor/liblouis/tables/sv-8g1.uti +199 -0
  441. data/vendor/liblouis/tables/sv-8g1d.ctb +73 -0
  442. data/vendor/liblouis/tables/sv-8g1n.ctb +73 -0
  443. data/vendor/liblouis/tables/sv-8g2.uti +486 -0
  444. data/vendor/liblouis/tables/sv-8g2d.ctb +73 -0
  445. data/vendor/liblouis/tables/sv-8g2n.ctb +73 -0
  446. data/vendor/liblouis/tables/sv-g0.utb +65 -0
  447. data/vendor/liblouis/tables/sv-g1.ctb +57 -0
  448. data/vendor/liblouis/tables/sv-g2.ctb +57 -0
  449. data/vendor/liblouis/tables/sv-phon.uti +241 -0
  450. data/vendor/liblouis/tables/sw-ke-g1-2.ctb +90 -0
  451. data/vendor/liblouis/tables/sw-ke-g1-3.ctb +109 -0
  452. data/vendor/liblouis/tables/sw-ke-g1-4.ctb +107 -0
  453. data/vendor/liblouis/tables/sw-ke-g1-5.ctb +73 -0
  454. data/vendor/liblouis/tables/sw-ke-g1.utb +278 -0
  455. data/vendor/liblouis/tables/sw-ke-g2.ctb +276 -0
  456. data/vendor/liblouis/tables/syc.utb +195 -0
  457. data/vendor/liblouis/tables/ta-ta-g1.ctb +167 -0
  458. data/vendor/liblouis/tables/ta.ctb +24 -0
  459. data/vendor/liblouis/tables/ta.tbl +21 -0
  460. data/vendor/liblouis/tables/tamil.cti +86 -0
  461. data/vendor/liblouis/tables/te-in-g1.utb +27 -0
  462. data/vendor/liblouis/tables/te.tbl +18 -0
  463. data/vendor/liblouis/tables/telugu.cti +239 -0
  464. data/vendor/liblouis/tables/text_nabcc.dis +426 -0
  465. data/vendor/liblouis/tables/th-comp8-backward.utb +226 -0
  466. data/vendor/liblouis/tables/th-g0.utb +177 -0
  467. data/vendor/liblouis/tables/th-g1.utb +89 -0
  468. data/vendor/liblouis/tables/th-g1.uti +315 -0
  469. data/vendor/liblouis/tables/th-g2.ctb +616 -0
  470. data/vendor/liblouis/tables/tr-g1.ctb +254 -0
  471. data/vendor/liblouis/tables/tr-g2.ctb +863 -0
  472. data/vendor/liblouis/tables/tr-g2.tbl +20 -0
  473. data/vendor/liblouis/tables/tr.ctb +324 -0
  474. data/vendor/liblouis/tables/tr.tbl +21 -0
  475. data/vendor/liblouis/tables/tsn-za-g1.ctb +33 -0
  476. data/vendor/liblouis/tables/tsn-za-g2.ctb +33 -0
  477. data/vendor/liblouis/tables/tt.utb +74 -0
  478. data/vendor/liblouis/tables/uga.utb +86 -0
  479. data/vendor/liblouis/tables/uk-comp.utb +53 -0
  480. data/vendor/liblouis/tables/uk-detailed.utb +32 -0
  481. data/vendor/liblouis/tables/uk.utb +101 -0
  482. data/vendor/liblouis/tables/ukchardefs.cti +106 -0
  483. data/vendor/liblouis/tables/ukmaths_single_cell_defs.cti +65 -0
  484. data/vendor/liblouis/tables/ukmaths_unicode_defs.cti +298 -0
  485. data/vendor/liblouis/tables/uni-text.dis +330 -0
  486. data/vendor/liblouis/tables/unicode-braille.utb +291 -0
  487. data/vendor/liblouis/tables/unicode-without-blank.dis +24 -0
  488. data/vendor/liblouis/tables/unicode.dis +278 -0
  489. data/vendor/liblouis/tables/ur-pk-g1.utb +248 -0
  490. data/vendor/liblouis/tables/ur-pk-g2.ctb +641 -0
  491. data/vendor/liblouis/tables/us-table.dis +67 -0
  492. data/vendor/liblouis/tables/uz-g1.utb +117 -0
  493. data/vendor/liblouis/tables/ve-za-g1.utb +69 -0
  494. data/vendor/liblouis/tables/ve-za-g2.ctb +208 -0
  495. data/vendor/liblouis/tables/vi-cb8.utb +49 -0
  496. data/vendor/liblouis/tables/vi-charsdef.uti +36 -0
  497. data/vendor/liblouis/tables/vi-lettersdef.uti +401 -0
  498. data/vendor/liblouis/tables/vi-puncsdef.uti +446 -0
  499. data/vendor/liblouis/tables/vi-saigon-g1.ctb +530 -0
  500. data/vendor/liblouis/tables/vi-vn-g0.utb +135 -0
  501. data/vendor/liblouis/tables/vi-vn-g1.ctb +574 -0
  502. data/vendor/liblouis/tables/vi-vn-g2.ctb +743 -0
  503. data/vendor/liblouis/tables/wiskunde-chardefs.cti +261 -0
  504. data/vendor/liblouis/tables/wordcx.dis +91 -0
  505. data/vendor/liblouis/tables/xh-za-g1.utb +61 -0
  506. data/vendor/liblouis/tables/xh-za-g2.ctb +386 -0
  507. data/vendor/liblouis/tables/yi.utb +236 -0
  508. data/vendor/liblouis/tables/zh-chn.ctb +45011 -0
  509. data/vendor/liblouis/tables/zh-hk.ctb +10461 -0
  510. data/vendor/liblouis/tables/zh-tw.ctb +53810 -0
  511. data/vendor/liblouis/tables/zh_CHN.tbl +23 -0
  512. data/vendor/liblouis/tables/zhcn-cbs.ctb +31523 -0
  513. data/vendor/liblouis/tables/zhcn-g1.ctb +26523 -0
  514. data/vendor/liblouis/tables/zhcn-g2.ctb +26519 -0
  515. data/vendor/liblouis/tables/zu-za-g1.utb +33 -0
  516. data/vendor/liblouis/tables/zu-za-g2.ctb +33 -0
  517. metadata +558 -0
@@ -0,0 +1,743 @@
1
+ #-index-name: Vietnamese, contracted
2
+ #-display-name: Vietnamese contracted braille
3
+ #
4
+ #+language: vi
5
+ #+type: literary
6
+ #+contraction: full
7
+ #+grade: 2
8
+ #+dots: 6
9
+ #+direction: forward
10
+ #+system: vietnam
11
+ #
12
+ #-copyright: Sao Mai Center for the Blind <www.saomaicenter.org/en>
13
+ #-license: LGPLv2.1
14
+ #
15
+ # Copyright (C) 2018, 2023 by Sao Mai Center for the Blind <www.saomaicenter.org/en>
16
+ #
17
+ # This file is part of liblouis.
18
+ #
19
+ # liblouis is free software: you can redistribute it and/or modify it
20
+ # under the terms of the GNU Lesser General Public License as
21
+ # published by the Free Software Foundation, either version 2.1 of the
22
+ # License, or (at your option) any later version.
23
+ #
24
+ # liblouis is distributed in the hope that it will be useful, but
25
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
26
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27
+ # Lesser General Public License for more details.
28
+ #
29
+ # You should have received a copy of the GNU Lesser General Public
30
+ # License along with liblouis. If not, see
31
+ # <http://www.gnu.org/licenses/>.
32
+ #
33
+ # Created and maintained by: Dang Hoai Phuc <danghoaiphuc@gmail.com>
34
+ #
35
+ #-author: Dang Hoai Phúc <danghoaiphuc@gmail.com>
36
+ #-maintainer: Dang Hoai Phuc <danghoaiphuc@gmail.com>
37
+ #
38
+ #-updated: 2023-1-16
39
+ #
40
+ # Based on
41
+ # <https://www.saomaicenter.org/en/blog/accessible-formats/rules-and-guidelines-contracted-vietnamese-braille-grade-2>
42
+
43
+ include vi-charsdef.uti
44
+
45
+ # number indicator definitions
46
+ numsign 3456 number sign, just a dots operand
47
+ numericmodechars .,
48
+ nocontractsign 6
49
+ nonumsign 6
50
+ numericnocontchars abcdefghij
51
+ # Braille letter indicators definition
52
+ #letsign 6
53
+ # caps indicator
54
+ capsletter 46
55
+ begcapsword 456
56
+ endcapsword 156
57
+ lencapsphrase 2
58
+ begcapsphrase 46-46
59
+ begcaps 46-46
60
+ endcaps 156
61
+ # no letter sign before Vietnamese single-letter words
62
+ #noletsign áàảãạắằẳẵặấầẩẫậéèẻẽẹếềểễệíìỉĩịóòỏõọốồổỗộớờởỡợúùủũụứừửữựýỳỷỹỵ
63
+ #word a =
64
+ #word e =
65
+ #word ê =
66
+ #word i =
67
+ #word o =
68
+ #word ô =
69
+ #word ơ =
70
+ #word u =
71
+ #word ư =
72
+ #word y =
73
+ #noletsignbefore ',
74
+
75
+
76
+ # words contraction
77
+ match %[_^] biết %[_^] 12
78
+ match %[_^] bên %[_^] 23
79
+ match %[_^] bằng %[_^] 2356
80
+ match %[_^] bài %[_^] 56-12
81
+ match %[_^] bảo %[_^] 26-12
82
+ match %[_^] bỗng %[_^] 36-12
83
+ match %[_^] bỏ %[_^] 26-56
84
+ match %[_^] bắt %[_^] 35-12
85
+ match %[_^] báo %[_^] 35-23
86
+ match %[_^] bị %[_^] 6-12
87
+ match %[_^] bọn %[_^] 6-23
88
+ match %[_^] của %[_^] 14
89
+ match %[_^] các %[_^] 25
90
+ match %[_^] cái %[_^] 35-25
91
+ match %[_^] con %[_^] 36
92
+ match %[_^] cùng %[_^] 56-14
93
+ match %[_^] cả %[_^] 26-14
94
+ match %[_^] cửa %[_^] 26-25
95
+ match %[_^] cuộc %[_^] 6-14
96
+ match %[_^] còn %[_^] 56-25
97
+ match %[_^] càng %[_^] 56-36
98
+ match %[_^] cũng %[_^] 36-14
99
+ match %[_^] cũ %[_^] 36-25
100
+ match %[_^] có %[_^] 35-14
101
+ match %[_^] cứ %[_^] 35-36
102
+ match %[_^] cộng %[_^] 6-25
103
+ match %[_^] cho %[_^] 146
104
+ match %[_^] chỗ %[_^] 36-146
105
+ match %[_^] chờ %[_^] 56-146
106
+ match %[_^] chỉ %[_^] 26-146
107
+ match %[_^] chị %[_^] 6-146
108
+ match %[_^] chúng %[_^] 35-146
109
+ match %[_^] do %[_^] 145
110
+ match %[_^] d1 %[_^] 256
111
+ match %[_^] dài %[_^] 56-145
112
+ match %[_^] dầu %[_^] 56-256
113
+ match %[_^] dép %[_^] 35-145
114
+ match %[_^] dốc %[_^] 35-256
115
+ match %[_^] dẻo %[_^] 26-145
116
+ match %[_^] dở %[_^] 26-256
117
+ match %[_^] dọn %[_^] 6-145
118
+ match %[_^] dạng %[_^] 6-256
119
+ match %[_^] dẫn %[_^] 36-145
120
+ match %[_^] diễn %[_^] 36-256
121
+ match %[_^] đi %[_^] 2346
122
+ match %[_^] đầu %[_^] 56-2346
123
+ match %[_^] đến %[_^] 35-2346
124
+ match %[_^] được %[_^] 6-2346
125
+ match %[_^] đã %[_^] 36-2346
126
+ match %[_^] gần %[_^] 1245
127
+ match %[_^] gặp %[_^] 2356
128
+ match %[_^] gọi %[_^] 6-1245
129
+ match %[_^] gọn %[_^] 6-2356
130
+ match %[_^] góp %[_^] 35-1245
131
+ match %[_^] gói %[_^] 35-2356
132
+ match %[_^] gã %[_^] 36-1245
133
+ match %[_^] gõ %[_^] 36-2356
134
+ match %[_^] hơn %[_^] 125
135
+ match %[_^] hay %[_^] 236
136
+ match %[_^] hàng %[_^] 56-125
137
+ match %[_^] hồi %[_^] 56-236
138
+ match %[_^] hỏi %[_^] 26-125
139
+ match %[_^] hiểu %[_^] 26-236
140
+ match %[_^] hãy %[_^] 36-125
141
+ match %[_^] hãng %[_^] 36-236
142
+ match %[_^] hết %[_^] 35-125
143
+ match %[_^] hướng %[_^] 35-236
144
+ match %[_^] họ %[_^] 6-125
145
+ match %[_^] học %[_^] 6-236
146
+ match %[_^] gì %[_^] 245
147
+ match %[_^] giữa %[_^] 356
148
+ match %[_^] giúp %[_^] 35-245
149
+ match %[_^] gió %[_^] 35-356
150
+ match %[_^] già %[_^] 56-356
151
+ match %[_^] giờ %[_^] 56-245
152
+ match %[_^] giữ %[_^] 36-245
153
+ match %[_^] giã %[_^] 36-356
154
+ match %[_^] giọng %[_^] 6-245
155
+ match %[_^] kia %[_^] 13
156
+ match %[_^] kể %[_^] 26-13
157
+ match %[_^] kiểm %[_^] 26-46
158
+ match %[_^] kéo %[_^] 35-13
159
+ match %[_^] kết %[_^] 35-46
160
+ match %[_^] kiện %[_^] 6-13
161
+ match %[_^] khi %[_^] 12356
162
+ match %[_^] không %[_^] 26-135
163
+ match %[_^] khắp %[_^] 35-12356
164
+ match %[_^] khỏi %[_^] 26-12356
165
+ match %[_^] là %[_^] 123
166
+ match %[_^] làm %[_^] 56-123
167
+ match %[_^] lần %[_^] 56-456
168
+ match %[_^] lửa %[_^] 26-123
169
+ match %[_^] lẻ %[_^] 26-456
170
+ match %[_^] lẫn %[_^] 36-123
171
+ match %[_^] lẫm %[_^] 36-456
172
+ match %[_^] lúc %[_^] 35-123
173
+ match %[_^] lớn %[_^] 35-456
174
+ match %[_^] lại %[_^] 6-123
175
+ match %[_^] loại %[_^] 6-456
176
+ match %[_^] mà %[_^] 134
177
+ match %[_^] mình %[_^] 56-134
178
+ match %[_^] mở %[_^] 26-134
179
+ match %[_^] mỗi %[_^] 36-134
180
+ match %[_^] muốn %[_^] 35-134
181
+ match %[_^] mặt %[_^] 6-134
182
+ match %[_^] một %[_^] 24
183
+ match %[_^] nên %[_^] 1345
184
+ match %[_^] này %[_^] 56-1345
185
+ match %[_^] nổi %[_^] 26-1345
186
+ match %[_^] nữa %[_^] 36-1345
187
+ match %[_^] nếu %[_^] 35-1345
188
+ match %[_^] nội %[_^] 6-1345
189
+ match %[_^] người %[_^] 346
190
+ match %[_^] ngày %[_^] 56-346
191
+ match %[_^] ngủ %[_^] 26-346
192
+ match %[_^] nghĩ %[_^] 36-346
193
+ match %[_^] ngọn %[_^] 6-346
194
+ match %[_^] nhưng %[_^] 1246
195
+ match %[_^] như %[_^] 12346
196
+ match %[_^] nhiều %[_^] 56-1246
197
+ match %[_^] nhỏ %[_^] 26-1246
198
+ match %[_^] những %[_^] 36-1246
199
+ match %[_^] nhớ %[_^] 35-1246
200
+ match %[_^] nhận %[_^] 6-1246
201
+ match %[_^] phải %[_^] 124
202
+ match %[_^] phía %[_^] 235
203
+ match %[_^] phần %[_^] 56-124
204
+ match %[_^] phòng %[_^] 56-235
205
+ match %[_^] phấn %[_^] 35-124
206
+ match %[_^] phán %[_^] 35-235
207
+ match %[_^] phạm %[_^] 6-124
208
+ match %[_^] phận %[_^] 6-235
209
+ match %[_^] quyết %[_^] 12345
210
+ match %[_^] quyền %[_^] 56-12345
211
+ match %[_^] quả %[_^] 26-12345
212
+ match %[_^] quĩ %[_^] 36-12345
213
+ match %[_^] quá %[_^] 35-12345
214
+ match %[_^] rất %[_^] 1235
215
+ match %[_^] rồi %[_^] 56-1235
216
+ match %[_^] rõ %[_^] 36-1235
217
+ match %[_^] rút %[_^] 35-1235
218
+ match %[_^] rộng %[_^] 6-1235
219
+ match %[_^] sau %[_^] 234
220
+ match %[_^] sở %[_^] 26-234
221
+ match %[_^] sẽ %[_^] 36-234
222
+ match %[_^] sáng %[_^] 35-234
223
+ match %[_^] sự %[_^] 6-234
224
+ match %[_^] tôi %[_^] 2345
225
+ match %[_^] từ %[_^] 56-2345
226
+ match %[_^] tỉnh %[_^] 26-2345
227
+ match %[_^] tiếng %[_^] 35-2345
228
+ match %[_^] tại %[_^] 6-2345
229
+ match %[_^] thì %[_^] 2456
230
+ match %[_^] thẳng %[_^] 26-2456
231
+ match %[_^] thành %[_^] 56-2456
232
+ match %[_^] thấy %[_^] 35-2456
233
+ match %[_^] thật %[_^] 6-2456
234
+ match %[_^] trong %[_^] 23456
235
+ match %[_^] trên %[_^] 12456
236
+ match %[_^] trời %[_^] 56-23456
237
+ match %[_^] trẻ %[_^] 26-23456
238
+ match %[_^] trắng %[_^] 35-23456
239
+ match %[_^] trận %[_^] 6-23456
240
+ match %[_^] anh %[_^] 156
241
+ match %[_^] ấy %[_^] 16
242
+ match %[_^] ở %[_^] 345
243
+ match %[_^] và %[_^] 1236
244
+ match %[_^] về %[_^] 56-1236
245
+ match %[_^] vào %[_^] 3456
246
+ match %[_^] vẻ %[_^] 26-1236
247
+ match %[_^] vẫn %[_^] 36-1236
248
+ match %[_^] với %[_^] 35-1236
249
+ match %[_^] việc %[_^] 6-1236
250
+ match %[_^] xin %[_^] 1346
251
+ match %[_^] xuống %[_^] 35-1346
252
+ match %[_^] xã %[_^] 36-1346
253
+ match %[_^] xà %[_^] 56-1346
254
+ match %[_^] xuống %[_^] 35-1346
255
+
256
+ # include vi-vn-g1.ctb
257
+ #vowel groups
258
+ match %a iê %a 34
259
+ match %a iế %a 35-34
260
+ match %a iề %a 56-34
261
+ match %a iể %a 26-34
262
+ match %a iễ %a 36-34
263
+ match %a iệ %a 6-34
264
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yê %a 34
265
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yế %a 35-34
266
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yề %a 56-34
267
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yể %a 26-34
268
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yễ %a 36-34
269
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yệ %a 6-34
270
+
271
+ word oá 35-135-1
272
+ word oà 56-135-1
273
+ word oả 26-135-1
274
+ word oã 36-135-1
275
+ word oạ 6-135-1
276
+
277
+ word oa =
278
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oa %[a_.^] 4
279
+ word óa =
280
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] óa %[a_.^] 35-4
281
+ word òa =
282
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] òa %[a_.^] 56-4
283
+ word ỏa =
284
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] ỏa %[a_.^] 26-4
285
+ word õa =
286
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] õa %[a_.^] 36-4
287
+ word ọa =
288
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] ọa %[a_.^] 6-4
289
+ # processing the case of tone marks on letter a
290
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oá %[a_.^] 35-4
291
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oà %[a_.^] 56-4
292
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oả %[a_.^] 26-4
293
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oã %[a_.^] 36-4
294
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oạ %[a_.^] 6-4
295
+
296
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oă %a 5
297
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oắ %a 35-5
298
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oằ %a 56-5
299
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oẳ %a 26-5
300
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oẵ %a 36-5
301
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oặ %a 6-5
302
+
303
+ word oe =
304
+ word óe =
305
+ word òe =
306
+ word ỏe =
307
+ word õe =
308
+ word ọe =
309
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oe %[a_.^] 2
310
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] óe %[_.^] 35-2
311
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] òe %[_.^] 56-2
312
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ỏe %[_.^] 26-2
313
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] õe %[_.^] 36-2
314
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ọe %[_.^] 6-2
315
+ # processing the tone marks placed on letter e
316
+ word oé 35-135-15
317
+ word oè 56-135-15
318
+ word oẻ 26-135-15
319
+ word oẽ 36-135-15
320
+ word oẹ 6-135-15
321
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oé %[a_.^] 35-2
322
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oè %[a_.^] 56-2
323
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oẻ %[a_.^] 26-2
324
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oẽ %[a_.^] 36-2
325
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oẹ %[a_.^] 6-2
326
+
327
+ word uê =
328
+ word uế 35-136-126
329
+ word uề 56-136-126
330
+ word uể 26-136-126
331
+ word uễ 36-136-126
332
+ word uệ 6-136-126
333
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uê %[a_.^] 3
334
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uế %[a_.^] 35-3
335
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uề %[a_.^] 56-3
336
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uể %[a_.^] 26-3
337
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uễ %[a_.^] 36-3
338
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uệ %[a_.^] 6-3
339
+
340
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ươ %a 156
341
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ướ %a 35-156
342
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ườ %a 56-156
343
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ưở %a 26-156
344
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ưỡ %a 36-156
345
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ượ %a 6-156
346
+
347
+ match %a uở %[_.^] 26-136-246
348
+ match %a uờ %[_.^] 56-136-246
349
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uô %a 12346
350
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uố %a 35-12346
351
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uồ %a 56-12346
352
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uổ %a 26-12346
353
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uỗ %a 36-12346
354
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uộ %a 6-12346
355
+
356
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uâ %a 25
357
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uấ %a 35-25
358
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uầ %a 56-25
359
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uẩ %a 26-25
360
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uẫ %a 36-25
361
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uậ %a 6-25
362
+
363
+ match %a uy %[a_.^] 45
364
+ match %a úy %[a_.^] 35-45
365
+ match %a ùy %[a_.^] 56-45
366
+ match %a ủy %[a_.^] 26-45
367
+ match %a ũy %[a_.^] 36-45
368
+ match %a ụy %[a_.^] 6-45
369
+ # processing tone marks placed on letter y
370
+ word uý 35-136-13456
371
+ word uỳ 56-136-13456
372
+ word uỷ 26-136-13456
373
+ word uỹ 36-136-13456
374
+ word uỵ 6-136-13456
375
+ match %a uý %[a_.^] 35-45
376
+ match %a uỳ %[a_.^] 56-45
377
+ match %a uỷ %[a_.^] 26-45
378
+ match %a uỹ %[a_.^] 36-45
379
+ match %a uỵ %[a_.^] 6-45
380
+
381
+ # uyê vowel groups just combined with letter n and t but already have contraction
382
+ # so just simply define for words uyên and uyển
383
+ word uyên 235-1345
384
+ word uyển 26-235-1345
385
+ match %a uyê %a 235
386
+ match %a uyế %a 35-235
387
+ match %a uyề %a 56-235
388
+ match %a uyể %a 26-235
389
+ match %a uyễ %a 36-235
390
+ match %a uyệ %a 6-235
391
+
392
+ # self-accent parts without contractions
393
+ match %a áp %[_.^] 1-1234
394
+ match %a ắc %[_.^] 345-14
395
+ match %a ắp %[_.^] 345-1234
396
+ match %a ấc %[_.^] 16-14
397
+ match %a éc %[_.^] 15-14
398
+ match %a ép %[_.^] 15-1234
399
+ match %a ét %[_.^] 15-2345
400
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ếch %[_.^] 126-13
401
+ match %a ếp %[_.^] 126-1234
402
+ match %a ết %[_.^] 126-2345
403
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ích %[_.^] 24-13
404
+ match %a íp %[_.^] 24-1234
405
+ match %a ít %[_.^] 24-2345
406
+ match %a óc %[_.^] 135-14
407
+ match %a óp %[_.^] 135-1234
408
+ match %a ót %[_.^] 135-2345
409
+ match %a ốc %[_.^] 1456-14
410
+ match %a ốp %[_.^] 1456-1234
411
+ match %a ớp %[_.^] 246-1234
412
+ match %a ớt %[_.^] 246-2345
413
+ match %a úc %[_.^] 136-14
414
+ match %a úp %[_.^] 136-1234
415
+ match %a út %[_.^] 136-2345
416
+ match %a ứt %[_.^] 1256-2345
417
+
418
+
419
+ # rhyme contractions
420
+ match %a ac %[_.^] 14
421
+ match %a ác %[_.^] 14
422
+ match %a ạc %[_.^] 6-14
423
+
424
+ match %a ach %[_.^] 146
425
+ match %a ách %[_.^] 146
426
+ match %a ạch %[_.^] 6-146
427
+
428
+ match %a ai %[_^] 35
429
+ match %a ái %[_.^] 35-35
430
+ match %a ài %[_.^] 56-35
431
+ match %a ải %[_.^] 26-35
432
+ match %a ãi %[_.^] 36-35
433
+ match %a ại %[_.^] 6-35
434
+
435
+ always am! 1-134-235
436
+ always ám! 35-1-134-235
437
+ always àm! 56-1-134-235
438
+ always ảm! 26-1-134-235
439
+ always ãm! 36-1-134-235
440
+ always ạm! 6-1-134-235
441
+ match %a am %[_.^] 235
442
+ match %a ám %[_.^] 35-235
443
+ match %a àm %[_.^] 56-235
444
+ match %a ảm %[_.^] 26-235
445
+ match %a ãm %[_.^] 36-235
446
+ match %a ạm %[^_.] 6-235
447
+
448
+ # no contracted if followed a punctuation
449
+ match %a an %[_^] 6
450
+ match %a án %[_.^] 35-6
451
+ match %a àn %[_.^] 56-6
452
+ match %a ản %[_.^] 26-6
453
+ match %a ãn %[_.^] 36-6
454
+ match %a ạn %[_.^] 6-6
455
+
456
+ match %a ang %[_.^] 123
457
+ match %a áng %[_.^] 35-123
458
+ match %a àng %[_.^] 56-123
459
+ match %a ảng %[_.^] 26-123
460
+ match %a ãng %[_.^] 36-123
461
+ match %a ạng %[_.^] 6-123
462
+
463
+ match %a|![o\s] anh %[_.^] 125
464
+ match %a|![o\s] ánh %[_.^] 35-125
465
+ match %a|![o\s] ành %[_.^] 56-125
466
+ match %a|![o\s] ảnh %[_.^] 26-125
467
+ match %a|![o\s] ãnh %[_.^] 36-125
468
+ match %a|![o\s] ạnh %[_.^] 6-125
469
+
470
+ match %a ao %[_^] 26
471
+ match %a áo %[_.^] 35-26
472
+ match %a ào %[_.^] 56-26
473
+ match %a ảo %[_.^] 26-26
474
+ match %a ão %[_.^] 36-26
475
+ match %a ạo %[_.^] 6-26
476
+
477
+ match %a at %[_.^] 12356
478
+ match %a át %[_.^] 12356
479
+ match %a ạt %[_.^] 6-12356
480
+
481
+ match %a ay %[_.^] 23
482
+ match %a áy %[_.^] 35-23
483
+ match %a ày %[_.^] 56-23
484
+ match %a ảy %[_.^] 26-23
485
+ match %a ãy %[_.^] 36-23
486
+ match %a ạy %[_.^] 6-23
487
+
488
+ match %a ăm %[_.^] 124
489
+ match %a ắm %[_.^] 35-124
490
+ match %a ằm %[_.^] 56-124
491
+ match %a ẳm %[_.^] 26-124
492
+ match %a ẵm %[_.^] 36-124
493
+ match %a ặm %[_.^] 6-124
494
+
495
+ match %a ăn %[_.^] 345
496
+ match %a ắn %[_.^] 35-345
497
+ match %a ằn %[_.^] 56-345
498
+ match %a ẳn %[_.^] 26-345
499
+ match %a ẵn %[_.^] 36-345
500
+ match %a ặn %[_.^] 6-345
501
+
502
+ match %a ăng %[_.^] 456
503
+ match %a ắng %[_.^] 35-456
504
+ match %a ằng %[_.^] 56-456
505
+ match %a ẳng %[_.^] 26-456
506
+ match %a ẵng %[_.^] 36-456
507
+ match %a ặng %[_.^] 6-456
508
+
509
+ match %a ăt %[_.^] 23456
510
+ match %a ắt %[_.^] 23456
511
+ match %a ặt %[_.^] 6-23456
512
+
513
+ match %a âm %[_.^] 1346
514
+ match %a ấm %[_.^] 35-1346
515
+ match %a ầm %[_.^] 56-1346
516
+ match %a ẩm %[_.^] 26-1346
517
+ match %a ẫm %[_.^] 36-1346
518
+ match %a ậm %[_.^] 6-1346
519
+
520
+ match %a|![u\s] ân %[_.^] 16
521
+ match %a|![u\s] ấn %[_.^] 35-16
522
+ match %a|![u\s] ần %[_.^] 56-16
523
+ match %a|![u\s] ẩn %[_.^] 26-16
524
+ match %a|![u\s] ẫn %[_.^] 36-16
525
+ match %a|![u\s] ận %[_.^] 6-16
526
+
527
+ match %a|![i\s] ên %[_.^] 1345
528
+ match %a|![i\s] ến %[_.^] 35-1345
529
+ match %a|![i\s] ền %[_.^] 56-1345
530
+ match %a|![i\s] ển %[_.^] 26-1345
531
+ match %a|![i\s] ễn %[_.^] 36-1345
532
+ match %a|![i\s] ện %[_.^] 6-1345
533
+
534
+
535
+ word ấp 16-1234
536
+ match %[a_^] ấp %. 16-1234
537
+ match %a ấp %[_^] 56
538
+ match %a ập %[_.^] 6-56
539
+
540
+ match %a ât %[_.^] 2345
541
+ match %a ất %[_.^] 2345
542
+ match %a ật %[_.^] 6-2345
543
+
544
+ match %a ây %[_.^] 12
545
+ match %a ấy %[_.^] 35-12
546
+ match %a ầy %[_.^] 56-12
547
+ match %a ẩy %[_.^] 26-12
548
+ match %a ẫy %[_.^] 36-12
549
+ match %a ậy %[_.^] 6-12
550
+
551
+ match %a âu %[_.^] 346
552
+ match %a ấu %[_.^] 35-346
553
+ match %a ầu %[_.^] 56-346
554
+ match %a ẩu %[_.^] 26-346
555
+ match %a ẫu %[_.^] 36-346
556
+ match %a ậu %[_.^] 6-346
557
+
558
+ match %a ia %[_.^] 34
559
+ match %a ía %[_.^] 35-34
560
+ match %a ìa %[_.^] 56-34
561
+ match %a ỉa %[_.^] 26-34
562
+ match %a ĩa %[_.^] 36-34
563
+ match %a ịa %[_.^] 6-34
564
+ match %a ya %[_.^] 34
565
+
566
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iêc %[_.^] 36
567
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iếc %[_.^] 36
568
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iệc %[_.^] 6-36
569
+
570
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iêm %[_.^] 134
571
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iếm %[_.^] 35-134
572
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iềm %[_.^] 56-134
573
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iểm %[_.^] 26-134
574
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iễm %[_.^] 36-134
575
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iệm %[_.^] 6-134
576
+
577
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iên %[_.^] 1356
578
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iến %[_.^] 35-1356
579
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iền %[_.^] 56-1356
580
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iển %[_.^] 26-1356
581
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iễn %[_.^] 36-1356
582
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iện %[_.^] 6-1356
583
+
584
+ match %a iêp %[_.^] 1234
585
+ match %a iếp %[_.^] 1234
586
+ match %a iệp %[_.^] 6-1234
587
+
588
+ match %a iêt %[_.^] 12456
589
+ match %a iết %[_.^] 12456
590
+ match %a iệt %[_.^] 6-12456
591
+
592
+ match %a inh %[_.^] 236
593
+ match %a ính %[_.^] 35-236
594
+ match %a ình %[_.^] 56-236
595
+ match %a ỉnh %[_.^] 26-236
596
+ match %a ĩnh %[_.^] 36-236
597
+ match %a ịnh %[_.^] 6-236
598
+
599
+ match %a oi %[_.^] 356
600
+ match %a ói %[_.^] 35-356
601
+ match %a òi %[_.^] 56-356
602
+ match %a ỏi %[_.^] 26-356
603
+ match %a õi %[_.^] 36-356
604
+ match %a ọi %[_.^] 6-356
605
+
606
+ match %a on %[_.^] 1236
607
+ match %a ón %[_.^] 35-1236
608
+ match %a òn %[_.^] 56-1236
609
+ match %a ỏn %[_.^] 26-1236
610
+ match %a õn %[_.^] 36-1236
611
+ match %a ọn %[_.^] 6-1236
612
+
613
+ match %a ong %[_.^] 2356
614
+ match %a óng %[_.^] 35-2356
615
+ match %a òng %[_.^] 56-2356
616
+ match %a ỏng %[_.^] 26-2356
617
+ match %a õng %[_.^] 36-2356
618
+ match %a ọng %[_.^] 6-2356
619
+
620
+ match %a ôi %[_.^] 245
621
+ match %a ối %[_.^] 35-245
622
+ match %a ồi %[_.^] 56-245
623
+ match %a ổi %[_.^] 26-245
624
+ match %a ỗi %[_.^] 36-245
625
+ match %a ội %[_.^] 6-245
626
+
627
+ match %a ông %[_.^] 1245
628
+ match %a ống %[_.^] 35-1245
629
+ match %a ồng %[_.^] 56-1245
630
+ match %a ổng %[_.^] 26-1245
631
+ match %a ỗng %[_.^] 36-1245
632
+ match %a ộng %[_.^] 6-1245
633
+
634
+ match %a ôt %[_.^] 1246
635
+ match %a ốt %[_.^] 1246
636
+ match %a ột %[_.^] 6-1246
637
+
638
+ match %a ơi %[_.^] 2456
639
+ match %a ới %[_.^] 35-2456
640
+ match %a ời %[_.^] 56-2456
641
+ match %a ởi %[_.^] 26-2456
642
+ match %a ỡi %[_.^] 36-2456
643
+ match %a ợi %[_.^] 6-2456
644
+
645
+ match %a ơn %[_.^] 3456
646
+ match %a ớn %[_.^] 35-3456
647
+ match %a ờn %[_.^] 56-3456
648
+ match %a ởn %[_.^] 26-3456
649
+ match %a ỡn %[_.^] 36-3456
650
+ match %a ợn %[_.^] 6-3456
651
+
652
+ match %a ua %[_.^] 12346
653
+ match %a úa %[_.^] 35-12346
654
+ match %a ùa %[_.^] 56-12346
655
+ match %a ủa %[_.^] 26-12346
656
+ match %a ũa %[_.^] 36-12346
657
+ match %a ụa %[_.^] 6-12346
658
+
659
+ match %a ung %[_.^] 13
660
+ match %a úng %[_.^] 35-13
661
+ match %a ùng %[_.^] 56-13
662
+ match %a ủng %[_.^] 26-13
663
+ match %a ũng %[_.^] 36-13
664
+ match %a ụng %[_.^] 6-13
665
+
666
+ match %a uôc %[_.^] 1235
667
+ match %a uốc %[_.^] 1235
668
+ match %a uộc %[_.^] 6-1235
669
+
670
+ match %a uyêt %[_.^] 123456
671
+ match %a uyết %[_.^] 123456
672
+ match %a uyệt %[_.^] 6-123456
673
+
674
+ match %a ưa %[_.^] 156
675
+ match %a ứa %[_.^] 35-156
676
+ match %a ừa %[_.^] 56-156
677
+ match %a ửa %[_.^] 26-156
678
+ match %a ữa %[_.^] 36-156
679
+ match %a ựa %[_.^] 6-156
680
+
681
+ match %a ưc %[_.^] 234
682
+ match %a ức %[_.^] 234
683
+ match %a ực %[_.^] 6-234
684
+
685
+ match %a ươc %[_.^] 25
686
+ match %a ước %[_.^] 25
687
+ match %a ược %[_.^] 6-25
688
+
689
+ match %a ươi %[_.^] 145
690
+ match %a ưới %[_.^] 35-145
691
+ match %a ười %[_.^] 56-145
692
+ match %a ưởi %[_.^] 26-145
693
+ match %a ưỡi %[_.^] 36-145
694
+ match %a ượi %[_.^] 6-145
695
+
696
+ match %a ương %[_.^] 256
697
+ match %a ướng %[_.^] 35-256
698
+ match %a ường %[_.^] 56-256
699
+ match %a ưởng %[_.^] 26-256
700
+ match %a ưỡng %[_.^] 36-256
701
+ match %a ượng %[_.^] 6-256
702
+
703
+ word uyên 45-1345
704
+ word uyển 26-45-1345
705
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uyên %[_.^] 12345
706
+ match %a uyến %[_.^] 35-12345
707
+ match %a uyền %[_.^] 56-12345
708
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uyển %[_.^] 26-12345
709
+ match %a uyễn %[_.^] 36-12345
710
+ match %a uyện %[_.^] 6-12345
711
+
712
+ match %a ưng %[_.^] 46
713
+ match %a ứng %[_.^] 35-46
714
+ match %a ừng %[_.^] 56-46
715
+ match %a ửng %[_.^] 26-46
716
+ match %a ững %[_.^] 36-46
717
+ match %a ựng %[_.^] 6-46
718
+
719
+ #match %a yên %[_.^] 1356
720
+
721
+ # double consonants
722
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ch %a 146
723
+ match %a ch %[_.^] 13
724
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] gi %a 245
725
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] gh %a 1245
726
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] kh %a 12356
727
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ng %a 346
728
+ match %a ng %[_.^] 1245
729
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ngh %a 12456
730
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] nh %a 1246
731
+ match %a nh %[_.^] 125
732
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ph %a 124
733
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] th %a 2456
734
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] tr %a 23456
735
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] qu %a 12345
736
+
737
+ match %a iêu %[_.^] 2346
738
+ match %a iếu %[_.^] 35-2346
739
+ match %a iều %[_.^] 56-2346
740
+ match %a iểu %[_.^] 26-2346
741
+ match %a iễu %[_.^] 36-2346
742
+ match %a iệu %[_.^] 6-2346
743
+