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