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,574 @@
1
+ #-index-name: Vietnamese, partially contracted
2
+ #-display-name: Vietnamese partially contracted braille
3
+ #
4
+ #+language: vi
5
+ #+type: literary
6
+ #+contraction: partial
7
+ #+grade: 1
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 <https://www.saomaicenter.org/en/blog/accessible-formats/rules-and-guidelines-contracted-vietnamese-braille-grade-1>
41
+
42
+ include vi-charsdef.uti
43
+
44
+ # number indicator definitions
45
+ numsign 3456 number sign, just a dots operand
46
+ numericmodechars .,
47
+ nocontractsign 6
48
+ nonumsign 6
49
+ numericnocontchars abcdefghij
50
+ # Braille letter indicator definition
51
+ #letsign 6
52
+ # caps indicator
53
+ capsletter 46
54
+ begcapsword 456
55
+ endcapsword 156
56
+ lencapsphrase 2
57
+ begcapsphrase 46-46
58
+ begcaps 46-46
59
+ endcaps 156
60
+ # no letter sign before Vietnamese single-letter words
61
+ #noletsign áàảãạắằẳẵặấầẩẫậéèẻẽẹếềểễệíìỉĩịóòỏõọốồổỗộớờởỡợúùủũụứừửữựýỳỷỹỵ
62
+ #word a =
63
+ #word e =
64
+ #word ê =
65
+ #word i =
66
+ #word o =
67
+ #word ô =
68
+ #word ơ =
69
+ #word u =
70
+ #word ư =
71
+ #word y =
72
+
73
+ # contractions for special words
74
+ always gí 245-35-24
75
+ always gì 245-56-24
76
+ always gỉ 245-26-24
77
+ always gĩ 245-36-24
78
+ always gị 245-6-24
79
+ always quyên 12345-34-1345
80
+ always quyến 12345-35-34-1345
81
+ always quyền 12345-56-34-1345
82
+ always quyển 12345-26-34-1345
83
+ always quyễn 12345-36-12345
84
+ always quyện 12345-6-34-1345
85
+ always quyết 12345-34-2345
86
+ always quyệt 12345-6-34-2345
87
+
88
+ #vowel groups
89
+ match %a iê %a 34
90
+ match %a iế %a 35-34
91
+ match %a iề %a 56-34
92
+ match %a iể %a 26-34
93
+ match %a iễ %a 36-34
94
+ match %a iệ %a 6-34
95
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yê %a 34
96
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yế %a 35-34
97
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yề %a 56-34
98
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yể %a 26-34
99
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yễ %a 36-34
100
+ match %[_^]|[\x0022\x0028\x0027\x007B\x005B] yệ %a 6-34
101
+
102
+ word oá 35-135-1
103
+ word oà 56-135-1
104
+ word oả 26-135-1
105
+ word oã 36-135-1
106
+ word oạ 6-135-1
107
+
108
+ word oa =
109
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oa %[a_.^] 4
110
+ word óa =
111
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] óa %[a_.^] 35-4
112
+ word òa =
113
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] òa %[a_.^] 56-4
114
+ word ỏa =
115
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] ỏa %[a_.^] 26-4
116
+ word õa =
117
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] õa %[a_.^] 36-4
118
+ word ọa =
119
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] ọa %[a_.^] 6-4
120
+ # processing the case of tone marks on letter a
121
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oá %[a_.^] 35-4
122
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oà %[a_.^] 56-4
123
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oả %[a_.^] 26-4
124
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oã %[a_.^] 36-4
125
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oạ %[a_.^] 6-4
126
+
127
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oă %a 2
128
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oắ %a 35-2
129
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oằ %a 56-2
130
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oẳ %a 26-2
131
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oẵ %a 36-2
132
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B]|[\x0022\x0028\x0027\x007B\x005B] oặ %a 6-2
133
+
134
+ word oe =
135
+ word óe =
136
+ word òe =
137
+ word ỏe =
138
+ word õe =
139
+ word ọe =
140
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oe %[a_.^] 5
141
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] óe %[a_.^] 35-5
142
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] òe %[a_.^] 56-5
143
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ỏe %[a_.^] 26-5
144
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] õe %[a_.^] 36-5
145
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ọe %[a_.^] 6-5
146
+ # processing the tone marks placed on letter e
147
+ word oé 35-135-15
148
+ word oè 56-135-15
149
+ word oẻ 26-135-15
150
+ word oẽ 36-135-15
151
+ word oẹ 6-135-15
152
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oé %[a_.^] 35-5
153
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oè %[a_.^] 56-5
154
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oẻ %[a_.^] 26-5
155
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oẽ %[a_.^] 36-5
156
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] oẹ %[a_.^] 6-5
157
+
158
+ word uê =
159
+ word uế 35-136-126
160
+ word uề 56-136-126
161
+ word uể 26-136-126
162
+ word uễ 36-136-126
163
+ word uệ 6-136-126
164
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uê %[a_.^] 3
165
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uế %[a_.^] 35-3
166
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uề %[a_.^] 56-3
167
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uể %[a_.^] 26-3
168
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uễ %[a_.^] 36-3
169
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uệ %[a_.^] 6-3
170
+
171
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ươ %a 156
172
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ướ %a 35-156
173
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ườ %a 56-156
174
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ưở %a 26-156
175
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ưỡ %a 36-156
176
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ượ %a 6-156
177
+
178
+ match %a uở %[_.^] 26-136-246
179
+ match %a uờ %[_.^] 56-136-246
180
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uô %a 12346
181
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uố %a 35-12346
182
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uồ %a 56-12346
183
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uổ %a 26-12346
184
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uỗ %a 36-12346
185
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uộ %a 6-12346
186
+
187
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uâ %a 25
188
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uấ %a 35-25
189
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uầ %a 56-25
190
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uẩ %a 26-25
191
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uẫ %a 36-25
192
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uậ %a 6-25
193
+
194
+ match %a uy %[a_.^] 45
195
+ match %a úy %[a_.^] 35-45
196
+ match %a ùy %[a_.^] 56-45
197
+ match %a ủy %[a_.^] 26-45
198
+ match %a ũy %[a_.^] 36-45
199
+ match %a ụy %[a_.^] 6-45
200
+ # processing tone marks placed on letter y
201
+ word uý 35-136-13456
202
+ word uỳ 56-136-13456
203
+ word uỷ 26-136-13456
204
+ word uỹ 36-136-13456
205
+ word uỵ 6-136-13456
206
+ match %a uý %[a_.^] 35-45
207
+ match %a uỳ %[a_.^] 56-45
208
+ match %a uỷ %[a_.^] 26-45
209
+ match %a uỹ %[a_.^] 36-45
210
+ match %a uỵ %[a_.^] 6-45
211
+
212
+ # uyê vowel groups just combined with letter n and t but already have contraction
213
+ # so just simply define for words uyên and uyển
214
+ word uyên 235-1345
215
+ word uyển 26-235-1345
216
+ match %a uyê %a 235
217
+ match %a uyế %a 35-235
218
+ match %a uyề %a 56-235
219
+ match %a uyể %a 26-235
220
+ match %a uyễ %a 36-235
221
+ match %a uyệ %a 6-235
222
+
223
+ # self-accent parts without contractions
224
+ match %a áp %[_.^] 1-1234
225
+ match %a ắc %[_.^] 345-14
226
+ match %a ắp %[_.^] 345-1234
227
+ match %a ấc %[_.^] 16-14
228
+ match %a éc %[_.^] 15-14
229
+ match %a ép %[_.^] 15-1234
230
+ match %a ét %[_.^] 15-2345
231
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ếch %[_.^] 126-13
232
+ match %a ếp %[_.^] 126-1234
233
+ match %a ết %[_.^] 126-2345
234
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] ích %[_.^] 24-13
235
+ match %a íp %[_.^] 24-1234
236
+ match %a ít %[_.^] 24-2345
237
+ match %a óc %[_.^] 135-14
238
+ match %a óp %[_.^] 135-1234
239
+ match %a ót %[_.^] 135-2345
240
+ match %a ốc %[_.^] 1456-14
241
+ match %a ốp %[_.^] 1456-1234
242
+ match %a ớp %[_.^] 246-1234
243
+ match %a ớt %[_.^] 246-2345
244
+ match %a úc %[_.^] 136-14
245
+ match %a úp %[_.^] 136-1234
246
+ match %a út %[_.^] 136-2345
247
+ match %a ứt %[_.^] 1256-2345
248
+
249
+
250
+ # rhyme contractions
251
+ match %a ac %[_.^] 14
252
+ match %a ác %[_.^] 14
253
+ match %a ạc %[_.^] 6-14
254
+
255
+ match %a ach %[_.^] 146
256
+ match %a ách %[_.^] 146
257
+ match %a ạch %[_.^] 6-146
258
+
259
+ match %a ai %[_^] 35
260
+ match %a ái %[_.^] 35-35
261
+ match %a ài %[_.^] 56-35
262
+ match %a ải %[_.^] 26-35
263
+ match %a ãi %[_.^] 36-35
264
+ match %a ại %[_.^] 6-35
265
+
266
+ always am! 1-134-235
267
+ always ám! 35-1-134-235
268
+ always àm! 56-1-134-235
269
+ always ảm! 26-1-134-235
270
+ always ãm! 36-1-134-235
271
+ always ạm! 6-1-134-235
272
+ match %a am %[_.^] 235
273
+ match %a ám %[_.^] 35-235
274
+ match %a àm %[_.^] 56-235
275
+ match %a ảm %[_.^] 26-235
276
+ match %a ãm %[_.^] 36-235
277
+ match %a ạm %[^_.] 6-235
278
+
279
+ # no contracted if followed a punctuation
280
+ match %a an %[_^] 6
281
+ match %a án %[_.^] 35-6
282
+ match %a àn %[_.^] 56-6
283
+ match %a ản %[_.^] 26-6
284
+ match %a ãn %[_.^] 36-6
285
+ match %a ạn %[_.^] 6-6
286
+
287
+ match %a ang %[_.^] 123
288
+ match %a áng %[_.^] 35-123
289
+ match %a àng %[_.^] 56-123
290
+ match %a ảng %[_.^] 26-123
291
+ match %a ãng %[_.^] 36-123
292
+ match %a ạng %[_.^] 6-123
293
+
294
+ match %a|![o\s] anh %[_.^] 125
295
+ match %a|![o\s] ánh %[_.^] 35-125
296
+ match %a|![o\s] ành %[_.^] 56-125
297
+ match %a|![o\s] ảnh %[_.^] 26-125
298
+ match %a|![o\s] ãnh %[_.^] 36-125
299
+ match %a|![o\s] ạnh %[_.^] 6-125
300
+
301
+ match %a ao %[_^] 26
302
+ match %a áo %[_.^] 35-26
303
+ match %a ào %[_.^] 56-26
304
+ match %a ảo %[_.^] 26-26
305
+ match %a ão %[_.^] 36-26
306
+ match %a ạo %[_.^] 6-26
307
+
308
+ match %a at %[_.^] 12356
309
+ match %a át %[_.^] 12356
310
+ match %a ạt %[_.^] 6-12356
311
+
312
+ match %a ay %[_.^] 23
313
+ match %a áy %[_.^] 35-23
314
+ match %a ày %[_.^] 56-23
315
+ match %a ảy %[_.^] 26-23
316
+ match %a ãy %[_.^] 36-23
317
+ match %a ạy %[_.^] 6-23
318
+
319
+ match %a ăm %[_.^] 124
320
+ match %a ắm %[_.^] 35-124
321
+ match %a ằm %[_.^] 56-124
322
+ match %a ẳm %[_.^] 26-124
323
+ match %a ẵm %[_.^] 36-124
324
+ match %a ặm %[_.^] 6-124
325
+
326
+ match %a ăn %[_.^] 345
327
+ match %a ắn %[_.^] 35-345
328
+ match %a ằn %[_.^] 56-345
329
+ match %a ẳn %[_.^] 26-345
330
+ match %a ẵn %[_.^] 36-345
331
+ match %a ặn %[_.^] 6-345
332
+
333
+ match %a ăng %[_.^] 456
334
+ match %a ắng %[_.^] 35-456
335
+ match %a ằng %[_.^] 56-456
336
+ match %a ẳng %[_.^] 26-456
337
+ match %a ẵng %[_.^] 36-456
338
+ match %a ặng %[_.^] 6-456
339
+
340
+ match %a ăt %[_.^] 23456
341
+ match %a ắt %[_.^] 23456
342
+ match %a ặt %[_.^] 6-23456
343
+
344
+ match %a âm %[_.^] 1346
345
+ match %a ấm %[_.^] 35-1346
346
+ match %a ầm %[_.^] 56-1346
347
+ match %a ẩm %[_.^] 26-1346
348
+ match %a ẫm %[_.^] 36-1346
349
+ match %a ậm %[_.^] 6-1346
350
+
351
+ match %a|![u\s] ân %[_.^] 16
352
+ match %a|![u\s] ấn %[_.^] 35-16
353
+ match %a|![u\s] ần %[_.^] 56-16
354
+ match %a|![u\s] ẩn %[_.^] 26-16
355
+ match %a|![u\s] ẫn %[_.^] 36-16
356
+ match %a|![u\s] ận %[_.^] 6-16
357
+
358
+ match %a|![i\s] ên %[_.^] 1345
359
+ match %a|![i\s] ến %[_.^] 35-1345
360
+ match %a|![i\s] ền %[_.^] 56-1345
361
+ match %a|![i\s] ển %[_.^] 26-1345
362
+ match %a|![i\s] ễn %[_.^] 36-1345
363
+ match %a|![i\s] ện %[_.^] 6-1345
364
+
365
+
366
+ word ấp 16-1234
367
+ match %[a_^] ấp %. 16-1234
368
+ match %a ấp %[_^] 56
369
+ match %a ập %[_.^] 6-56
370
+
371
+ match %a ât %[_.^] 2345
372
+ match %a ất %[_.^] 2345
373
+ match %a ật %[_.^] 6-2345
374
+
375
+ match %a ây %[_.^] 12
376
+ match %a ấy %[_.^] 35-12
377
+ match %a ầy %[_.^] 56-12
378
+ match %a ẩy %[_.^] 26-12
379
+ match %a ẫy %[_.^] 36-12
380
+ match %a ậy %[_.^] 6-12
381
+
382
+ match %a âu %[_.^] 346
383
+ match %a ấu %[_.^] 35-346
384
+ match %a ầu %[_.^] 56-346
385
+ match %a ẩu %[_.^] 26-346
386
+ match %a ẫu %[_.^] 36-346
387
+ match %a ậu %[_.^] 6-346
388
+
389
+ match %a ia %[_.^] 34
390
+ match %a ía %[_.^] 35-34
391
+ match %a ìa %[_.^] 56-34
392
+ match %a ỉa %[_.^] 26-34
393
+ match %a ĩa %[_.^] 36-34
394
+ match %a ịa %[_.^] 6-34
395
+ match %a ya %[_.^] 34
396
+
397
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iêc %[_.^] 36
398
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iếc %[_.^] 36
399
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iệc %[_.^] 6-36
400
+
401
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iêm %[_.^] 134
402
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iếm %[_.^] 35-134
403
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iềm %[_.^] 56-134
404
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iểm %[_.^] 26-134
405
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iễm %[_.^] 36-134
406
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iệm %[_.^] 6-134
407
+
408
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iên %[_.^] 1356
409
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iến %[_.^] 35-1356
410
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iền %[_.^] 56-1356
411
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iển %[_.^] 26-1356
412
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iễn %[_.^] 36-1356
413
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] iện %[_.^] 6-1356
414
+
415
+ match %a iêp %[_.^] 1234
416
+ match %a iếp %[_.^] 1234
417
+ match %a iệp %[_.^] 6-1234
418
+
419
+ match %a iêt %[_.^] 12456
420
+ match %a iết %[_.^] 12456
421
+ match %a iệt %[_.^] 6-12456
422
+
423
+ match %a inh %[_.^] 236
424
+ match %a ính %[_.^] 35-236
425
+ match %a ình %[_.^] 56-236
426
+ match %a ỉnh %[_.^] 26-236
427
+ match %a ĩnh %[_.^] 36-236
428
+ match %a ịnh %[_.^] 6-236
429
+
430
+ match %a oi %[_.^] 356
431
+ match %a ói %[_.^] 35-356
432
+ match %a òi %[_.^] 56-356
433
+ match %a ỏi %[_.^] 26-356
434
+ match %a õi %[_.^] 36-356
435
+ match %a ọi %[_.^] 6-356
436
+
437
+ match %a on %[_.^] 1236
438
+ match %a ón %[_.^] 35-1236
439
+ match %a òn %[_.^] 56-1236
440
+ match %a ỏn %[_.^] 26-1236
441
+ match %a õn %[_.^] 36-1236
442
+ match %a ọn %[_.^] 6-1236
443
+
444
+ match %a ong %[_.^] 2356
445
+ match %a óng %[_.^] 35-2356
446
+ match %a òng %[_.^] 56-2356
447
+ match %a ỏng %[_.^] 26-2356
448
+ match %a õng %[_.^] 36-2356
449
+ match %a ọng %[_.^] 6-2356
450
+
451
+ match %a ôi %[_.^] 245
452
+ match %a ối %[_.^] 35-245
453
+ match %a ồi %[_.^] 56-245
454
+ match %a ổi %[_.^] 26-245
455
+ match %a ỗi %[_.^] 36-245
456
+ match %a ội %[_.^] 6-245
457
+
458
+ match %a ông %[_.^] 1245
459
+ match %a ống %[_.^] 35-1245
460
+ match %a ồng %[_.^] 56-1245
461
+ match %a ổng %[_.^] 26-1245
462
+ match %a ỗng %[_.^] 36-1245
463
+ match %a ộng %[_.^] 6-1245
464
+
465
+ match %a ôt %[_.^] 1246
466
+ match %a ốt %[_.^] 1246
467
+ match %a ột %[_.^] 6-1246
468
+
469
+ match %a ơi %[_.^] 2456
470
+ match %a ới %[_.^] 35-2456
471
+ match %a ời %[_.^] 56-2456
472
+ match %a ởi %[_.^] 26-2456
473
+ match %a ỡi %[_.^] 36-2456
474
+ match %a ợi %[_.^] 6-2456
475
+
476
+ match %a ơn %[_.^] 3456
477
+ match %a ớn %[_.^] 35-3456
478
+ match %a ờn %[_.^] 56-3456
479
+ match %a ởn %[_.^] 26-3456
480
+ match %a ỡn %[_.^] 36-3456
481
+ match %a ợn %[_.^] 6-3456
482
+
483
+ match %a ua %[_.^] 12346
484
+ match %a úa %[_.^] 35-12346
485
+ match %a ùa %[_.^] 56-12346
486
+ match %a ủa %[_.^] 26-12346
487
+ match %a ũa %[_.^] 36-12346
488
+ match %a ụa %[_.^] 6-12346
489
+
490
+ match %a ung %[_.^] 13
491
+ match %a úng %[_.^] 35-13
492
+ match %a ùng %[_.^] 56-13
493
+ match %a ủng %[_.^] 26-13
494
+ match %a ũng %[_.^] 36-13
495
+ match %a ụng %[_.^] 6-13
496
+
497
+ match %a uôc %[_.^] 1235
498
+ match %a uốc %[_.^] 1235
499
+ match %a uộc %[_.^] 6-1235
500
+
501
+ match %a uyêt %[_.^] 123456
502
+ match %a uyết %[_.^] 123456
503
+ match %a uyệt %[_.^] 6-123456
504
+
505
+ match %a ưa %[_.^] 156
506
+ match %a ứa %[_.^] 35-156
507
+ match %a ừa %[_.^] 56-156
508
+ match %a ửa %[_.^] 26-156
509
+ match %a ữa %[_.^] 36-156
510
+ match %a ựa %[_.^] 6-156
511
+
512
+ match %a ưc %[_.^] 234
513
+ match %a ức %[_.^] 234
514
+ match %a ực %[_.^] 6-234
515
+
516
+ match %a ươc %[_.^] 25
517
+ match %a ước %[_.^] 25
518
+ match %a ược %[_.^] 6-25
519
+
520
+ match %a ươi %[_.^] 145
521
+ match %a ưới %[_.^] 35-145
522
+ match %a ười %[_.^] 56-145
523
+ match %a ưởi %[_.^] 26-145
524
+ match %a ưỡi %[_.^] 36-145
525
+ match %a ượi %[_.^] 6-145
526
+
527
+ match %a ương %[_.^] 256
528
+ match %a ướng %[_.^] 35-256
529
+ match %a ường %[_.^] 56-256
530
+ match %a ưởng %[_.^] 26-256
531
+ match %a ưỡng %[_.^] 36-256
532
+ match %a ượng %[_.^] 6-256
533
+
534
+ word uyên 45-1345
535
+ word uyển 26-45-1345
536
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uyên %[_.^] 12345
537
+ match %a uyến %[_.^] 35-12345
538
+ match %a uyền %[_.^] 56-12345
539
+ match %[a_^]|[\x0022\x0028\x0027\x007B\x005B] uyển %[_.^] 26-12345
540
+ match %a uyễn %[_.^] 36-12345
541
+ match %a uyện %[_.^] 6-12345
542
+
543
+ match %a ưng %[_.^] 46
544
+ match %a ứng %[_.^] 35-46
545
+ match %a ừng %[_.^] 56-46
546
+ match %a ửng %[_.^] 26-46
547
+ match %a ững %[_.^] 36-46
548
+ match %a ựng %[_.^] 6-46
549
+
550
+ #match %a yên %[_.^] 1356
551
+
552
+ # double consonants
553
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ch %a 146
554
+ match %a ch %[_.^] 13
555
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] gi %a 245
556
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] gh %a 1245
557
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] kh %a 12356
558
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ng %a 346
559
+ match %a ng %[_.^] 1245
560
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ngh %a 12456
561
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] nh %a 1246
562
+ match %a nh %[_.^] 125
563
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] ph %a 124
564
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] th %a 2456
565
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] tr %a 23456
566
+ match %[^_]|[\x0022\x0028\x0027\x007B\x005B] qu %a 12345
567
+
568
+ match %a iêu %[_.^] 2346
569
+ match %a iếu %[_.^] 35-2346
570
+ match %a iều %[_.^] 56-2346
571
+ match %a iểu %[_.^] 26-2346
572
+ match %a iễu %[_.^] 36-2346
573
+ match %a iệu %[_.^] 6-2346
574
+