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,386 @@
1
+ # liblouis: isiXhosa/isiZulu braille code (grade 2)
2
+
3
+ #-display-name: isiXhosa contracted braille
4
+ #-index-name: isiXhosa, contracted
5
+
6
+ #-copyright: 2021, South African Braille Authority
7
+ #-license: LGPLv2.1
8
+
9
+ # Copyright (C) 2021 South African Braille Authority <http://www.sabrailleauthority.org.za>
10
+ #
11
+ # This file is part of liblouis.
12
+ #
13
+ # liblouis is free software: you can redistribute it and/or modify it
14
+ # under the terms of the GNU Lesser General Public License as
15
+ # published by the Free Software Foundation, either version 2.1 of
16
+ # the License, or (at your option) any later version.
17
+ #
18
+ # liblouis is distributed in the hope that it will be useful, but
19
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21
+ # Lesser General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Lesser General Public
24
+ # License along with liblouis. If not, see
25
+ # <http://www.gnu.org/licenses/>.
26
+
27
+ #+language: xh
28
+ #+type: literary
29
+ #+contraction: full
30
+ #+grade: 2
31
+ #+direction: both
32
+
33
+ #+system: ubc-nguni
34
+ # "UBC" stands for "Unified Braille Code" and is a generalization of UEB.
35
+ # See https://sabrailleauthority.org.za/unified-braille-code-ubc.
36
+
37
+ # The same table is used for isiXhosa and isiZulu. IsiXhosa and
38
+ # isiZulu are two of the most widely spoken languages in South
39
+ # Africa. They belong to the Nguni language family and are mutually
40
+ # intelligible. IsiXhosa is predominent in the Eastern and Western
41
+ # Cape provinces, but is spoken across South Africa. IsiZulu is
42
+ # predominent in the KwaZulu-Natal province, but is also widely spoken
43
+ # in South Africa.
44
+ #
45
+ # The Nguni braille code is based on UEB, therefore the grade 1 system
46
+ # is identical to UEB. The grade 2 system is simple, with less than 40
47
+ # contractions and no complex rules, yet it achieves approximately 21%
48
+ # contraction.
49
+ #
50
+ # No additional codes such as Nemeth or computer braille codes are
51
+ # used; the unified Nguni code is used also for technical material.
52
+
53
+ # The table has been created by Christo de Klerk <cjdk@mweb.co.za> and
54
+ # Laurent Cadet de Fontenay <laurentd@gmail.com>, according to the
55
+ # official code for these languages under the auspices of and approved
56
+ # by the South African Braille Authority (SABA).
57
+
58
+ # The table is maintained by Christo de Klerk <cjdk@mweb.co.za>.
59
+
60
+ #-author: Laurent Cadet de Fontenay <laurentd@gmail.com>
61
+ #-author: Christo de Klerk <cjdk@mweb.co.za>
62
+ #-maintainer: Christo de Klerk <cjdk@mweb.co.za>
63
+
64
+ include xh-za-g1.utb
65
+
66
+ multind 56-6 nocontractsign capsletter
67
+
68
+ seqdelimiter -—
69
+ seqdelimiter ‐ \x2010
70
+ seqdelimiter ‑ \x2011
71
+ seqdelimiter – \x2013
72
+ seqdelimiter — \x2014
73
+ seqbeforechars ([{"“'‘
74
+ seqafterchars )]}"”'’.,;:.!?…
75
+ seqafterpattern 'd
76
+ seqafterpattern 'll
77
+ seqafterpattern 're
78
+ seqafterpattern 's
79
+ seqafterpattern 't
80
+ seqafterpattern 've
81
+ seqafterpattern ’d
82
+ seqafterpattern ’ll
83
+ seqafterpattern ’re
84
+ seqafterpattern ’s
85
+ seqafterpattern ’t
86
+ seqafterpattern ’ve
87
+ #TODO: all caps words (see lou_translateString.c:inSequence()
88
+ seqafterpattern 'D
89
+ seqafterpattern 'LL
90
+ seqafterpattern 'RE
91
+ seqafterpattern 'S
92
+ seqafterpattern 'T
93
+ seqafterpattern 'VE
94
+ seqafterexpression '([DSTdst]|ll|[rv]e|LL|[RV]E)
95
+ seqafterpattern ’D
96
+ seqafterpattern ’LL
97
+ seqafterpattern ’RE
98
+ seqafterpattern ’S
99
+ seqafterpattern ’T
100
+ seqafterpattern ’VE
101
+ seqafterexpression ’([DSTdst]|ll|[rv]e|LL|[RV]E)
102
+
103
+ # Alphabetic Wordsigns
104
+ # - standing alone
105
+ # - followed by 'd, 'll, 're, 's, 't, 've and standing alone
106
+ # - These rules need to be adapted for isiXhosa, but may cause no harm left in place.
107
+
108
+ # must be before contractions?
109
+ match %[^_~]%<* kodwa (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?%>*%[^_~] 13
110
+ match %[^_~]%<* ukuthi (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?%>*%[^_~] 136
111
+
112
+ nofor word kodwa 13
113
+ nofor word ukuthi 136
114
+
115
+
116
+ contraction k
117
+ contraction u
118
+
119
+ contraction K
120
+ contraction U
121
+
122
+
123
+ # 10.2 Strong Wordsigns
124
+ # - 10.2.1 standing alone
125
+ # - 10.2.2 followed by 'd, 'll, 're, 's, 't, 've and standing alone
126
+ # - Unsure if the following appear standing alone in isiXhosa, but rules can be adapted as appropriate and have been left in place for now to cater for English words.
127
+
128
+ match %[^_~]%<* ya (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?%>*%[^_~] 16
129
+ match %[^_~]%<* sh (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?%>*%[^_~] 146
130
+ match %[^_~]%<* th (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?%>*%[^_~] 1456
131
+
132
+ nofor word ya 16
133
+ nofor word sh 146
134
+ nofor word th 1456
135
+
136
+
137
+
138
+ # 10.3 Strong Groupsigns
139
+ # - It may be that some of these appear as strong contractions in isiXhosa, but they are lumped together here.
140
+ # - Rules are also to be adapted as appropriate.
141
+
142
+ # ba
143
+ always ba 126
144
+ # match (%[^_~]%<*) ba ('([DSTdst]|ll|[rv]e|LL|[RV]E))?(%>*%[^_~]) =
145
+
146
+ # ka
147
+ always ka 2346
148
+
149
+ # kh
150
+ always kh 23456
151
+
152
+ # ku
153
+ always ku 346
154
+
155
+ # la
156
+ always la 156
157
+
158
+ # le
159
+ always le 1246
160
+
161
+ # na
162
+ always na 12356
163
+
164
+ # nd
165
+ always nd 12346
166
+
167
+ # ne
168
+ always ne 34
169
+
170
+ # ng
171
+ always ng 123456
172
+
173
+ # ni
174
+ always ni 345
175
+
176
+ # sh
177
+ always sh 146
178
+ # match (%[^_~]%<*) sh (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?(%>*%[^_~]) =
179
+
180
+ # th
181
+ always th 1456
182
+ # match (%[^_~]%<*) th (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?(%>*%[^_~]) =
183
+
184
+ # wa
185
+ always wa 12456
186
+
187
+ # we
188
+ always we 1256
189
+
190
+ # ya
191
+ always ya 16
192
+ # match (%[^_~]%<*) ya (['’]([DSTdst]|ll|[rv]e|LL|[RV]E))?(%>*%[^_~]) =
193
+
194
+ # zi
195
+ always zi 246
196
+
197
+
198
+
199
+
200
+ # 10.5 Lower Wordsigns
201
+
202
+ attribute 1 +=*,.?!"'“”‘’ punctuation with only lower dots (except hyphens)
203
+ #class lowerdotspunc +=*,.?!"'“”‘’
204
+
205
+ # ye
206
+ match %[^_]|%[^_~]%<*[([{] ye %[^_]|[)}\]]%>*%[^_~] 26
207
+ partword ye 26
208
+ nofor always ye 26
209
+
210
+ # si
211
+ match %[^_]|%[^_~]%<*[([{] si %[^_]|[)}\]]%>*%[^_~] 35
212
+ nofor always si 35
213
+
214
+
215
+
216
+ # 10.6 Lower Groupsigns
217
+
218
+ # bh
219
+ match %a bh %a 23
220
+ nofor sufword bh 23
221
+
222
+ empmatchbefore empmatchafter match %a bh %a 23
223
+ nofor midword bh 23
224
+
225
+ # bh 10.6.5 10.6.6
226
+ empmatchbefore empmatchafter match %a bh %a 23
227
+
228
+ nofor midword bh 23
229
+
230
+ empmatchafter match %[^_~]%<* bh [Cc]![Hh] 23
231
+ empmatchafter match %[^_~]%<* bh [Ee][Ss][Tt] 23
232
+ empmatchafter match %[^_~]%<* bh [ABDFGHIJLMNOPQRTUVWXYZabdfghijlmnopqrtuvwxyz] 23
233
+
234
+ nofor begword bh 23
235
+
236
+ # nt 10.6.5 10.6.6
237
+ empmatchbefore empmatchafter match %a nt %a 25
238
+
239
+ nofor midword nt 25
240
+
241
+
242
+ empmatchafter match %[^_~]%<* nt [Cc]![Hh] 25
243
+ empmatchafter match %[^_~]%<* nt [Ee][Ss][Tt] 25
244
+ empmatchafter match %[^_~]%<* nt [ABDFGHIJLMNOPQRTUVWXYZabdfghijlmnopqrtuvwxyz] 25
245
+
246
+ nofor begword nt 25
247
+
248
+
249
+ # hl 10.6.5 10.6.6
250
+ empmatchbefore empmatchafter match %a hl %a 235
251
+
252
+ nofor midword hl 235
253
+
254
+ # ph
255
+ begmidword ph 356
256
+
257
+ empmatchbefore empmatchafter match %a ph %a 356
258
+
259
+ nofor midword ph 356
260
+
261
+ empmatchafter match %[^_~]%<* ph [Cc]![Hh] 356
262
+ empmatchafter match %[^_~]%<* ph [Ee][Ss][Tt] 356
263
+ empmatchafter match %[^_~]%<* ph [ABDFGHIJLMNOPQRTUVWXYZabdfghijlmnopqrtuvwxyz] 356
264
+
265
+ nofor begword ph 356
266
+
267
+ # si
268
+ partword si 35
269
+ word sisi 35-234-24
270
+
271
+ # 10.7 Initial-Letter Contractions
272
+
273
+ # emva
274
+ always emva 5-15
275
+
276
+ # emuva
277
+ always emuva 45-15
278
+
279
+ # fana
280
+ always fana 5-124
281
+
282
+ # futhi
283
+ always futhi 456-124
284
+
285
+ # jalo
286
+ always jalo 5-245
287
+
288
+ # kakhulu
289
+ always kakhulu 5-2346
290
+
291
+ # khona
292
+ always khona 5-23456
293
+
294
+ # kanti
295
+ always kanti 45-2346
296
+
297
+ # lokho
298
+ always lokho 5-123
299
+
300
+ # lapha
301
+ always lapha 5-156
302
+
303
+ # lapho
304
+ always lapho 45-156
305
+
306
+ # uma
307
+ always uma 5-134
308
+
309
+ # ama
310
+ always ama 456-134
311
+
312
+ # noma
313
+ always noma 5-1345
314
+
315
+ # ngoba
316
+ always ngoba 5-123456
317
+
318
+ # ngoku
319
+ always ngoku 45-123456
320
+
321
+ # onke
322
+ always onke 5-135
323
+
324
+ # pansi
325
+ always pansi 5-1234
326
+
327
+ # uthi
328
+ match %[^_~]%<*|![ao] uthi - 5-136
329
+ nofor always uthi 5-136
330
+
331
+ # ukuba
332
+ always ukuba 45-136
333
+
334
+ # ulu
335
+ always ulu 456-136
336
+
337
+ # nxa
338
+ always nxa 5-1346
339
+
340
+
341
+
342
+ # 10.8 Final-Letter Groupsigns
343
+
344
+ # None applicable
345
+
346
+
347
+ # 10.9 Shortforms not including 10.9.3
348
+ #TODO: 2.6.4
349
+
350
+ attribute 2 BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz'’ no vowels (except w) and 2.6.4
351
+
352
+ match %[_~^]%<* phambi ([Ss]|['’][Ss])?%>*%[_~^] 356-12
353
+ match %[_~^]%<* phambili ([Ss]|['’][Ss])?%>*%[_~^] 356-12-123
354
+ match %[_~^]%<* phandle ([Ss]|['’][Ss])?%>*%[_~^] 356-145
355
+ match %[_~^]%<* phakathi ([Ss]|['’][Ss])?%>*%[_~^] 356-13
356
+ match %[_~^]%<*%a* phantsi (%2%a*)?%>*%[_~^] 356-234
357
+ match %[_~^]%<* phezu ([Ss]|['’][Ss])?%>*%[_~^] 356-1356
358
+ match %[_~^]%<* phezulu ([Ss]|['’][Ss])?%>*%[_~^] 356-1356-123
359
+
360
+ nofor word phambi 356-12
361
+ nofor word phambili 356-12-123
362
+ nofor word phandle 356-145
363
+ nofor word phakathi 356-13
364
+ nofor word phantsi 356-234
365
+ nofor word phezu 356-1356
366
+ nofor word phezulu 356-1356-123
367
+
368
+ contraction 0b phambi
369
+ contraction 0bl phambili
370
+ contraction 0d phandle
371
+ contraction 0k phakathi
372
+ contraction 0s phantsi
373
+ contraction 0z phezu
374
+ contraction 0zl phezulu
375
+
376
+
377
+ # Shape symbols require a grade 1 indicator (Section 3.22.1)
378
+ contraction \x25a0 ■ filled (solid) square
379
+ contraction \x25a1 □ square
380
+ contraction \x25a7 ▧ shaded square (upper left to lower right)
381
+ contraction \x25b2 ▲ filled (solid) (equilateral) triangle
382
+ contraction \x25b3 △ regular (equilateral) triangle
383
+ contraction \x25cb ○ circle
384
+ contraction \x25cd ◍ shaded circle
385
+
386
+
@@ -0,0 +1,236 @@
1
+ # liblouis: Uncontracted braille table for Yiddish.
2
+ #
3
+ #
4
+ # This file is part of liblouis.
5
+ #
6
+ # liblouis is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU Lesser General Public License as
8
+ # published by the Free Software Foundation, either version 2.1 of the
9
+ # License, or (at your option) any later version.
10
+ #
11
+ # liblouis is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ # Lesser General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU Lesser General Public
17
+ # License along with liblouis. If not, see
18
+ # <http://www.gnu.org/licenses/>.
19
+
20
+ #-license: LGPLv2.1
21
+
22
+ # Copyright (C) 2024 by Abby Howell <abby.g.howell@gmail.com>
23
+
24
+ #-copyright: 2024, Abby Howell <abby.g.howell@gmail.com>
25
+
26
+ #-index-name: Yiddish
27
+ #-display-name: Yiddish braille
28
+
29
+ #+language: yi
30
+ #+type: literary
31
+ #+dots: 6
32
+ #+contraction: no
33
+ #+grade: 1
34
+ #+direction:forward
35
+
36
+ # This table was created by Abby Howell, Matthew Shifrin, and Harris Mowbray
37
+
38
+ #-author: Abby Howell <abby.g.howell@gmail.com>
39
+ #-author: Matthew Shifrin <matshifrin@aol.com>
40
+
41
+ # Yiddish is a Jewish language written in the Hebrew alphabet, which has
42
+ # been spoken by Ashkenazic Jewish communities in Eastern Europe and their
43
+ # descendants for over 1000 years. Although Yiddish is written using the
44
+ # same alphabet as Hebrew, not all of Unicode characters used in Yiddish
45
+ # are represented in the Hebrew Braille tables. Additionally, in Hebrew,
46
+ # the letters are only used to represent consonants, and the vowels are
47
+ # written with diacritic accent characters and often omitted entirely. In
48
+ # Yiddish, by contrast, all vowel sounds are represented by letters or
49
+ # combinations of letters. Because of this, even though the two languages
50
+ # share an alphabet, they need to use separate Braille tables.
51
+
52
+ # Background:
53
+ #
54
+ # This braille table is being proposed by a sighted teacher and a blind student
55
+ # of Yiddish at the Boston Worker's Circle, who have been working together, along
56
+ # with a consortium of advisors, to make the language accessible through braille.
57
+ #
58
+ # Yiddish was incorporated into unicode two decades ago with a few special characters
59
+ # and combinations of letters which have unique unicode characters, which are not
60
+ # represented by the Hebrew Braille table. The result is that, when a blind reader
61
+ # tries to read a Yiddish text file, many of the characters are not represented, filling
62
+ # the output with "mystery characters".
63
+ # This table is needed so that braille reader software will be able to recognize
64
+ # the unicode characters that represent Yiddish and display them in readable Braille.
65
+
66
+ # This table is informed by and inspired by the Hebrew Braille table, but with Braille
67
+ # characters assigned to the letters based on the way they are pronounced in Yiddish.
68
+
69
+ # Notable differences with the Hebrew Braille table are as follows:
70
+ # The letter ayin is used in Yiddish as a vowel "e". We have assigned it dots 15,
71
+ # overriding the Hebrew's 1246.
72
+ # The letter vov is used in Yiddish as the vowel "u", and two vovs are the consonant "v".
73
+ # We assigned the single vov dots 346, overriding Hebrew's 2456, and we assigned
74
+ # the double-vov dots 1236.
75
+ # The second letter of the Hebrew alphabet, beys, can be pronounced like a "b" or like a "v".
76
+ # In Hebrew Braille, the letter is assigned dots 1236, and when it has a dagesh (a dot
77
+ # in the middle of the letter representing that it's pronounced as a stop), it gets dots 12.
78
+ # In Yiddish, this letter is used to represent the sound "b" in most cases, and when it
79
+ # is used to represent the sound "v" it is written with a "rafe" which is a line
80
+ # above the letter (the rafe is not generally used in Hebrew). So we have assigned the
81
+ # unmarked beys the dots 12, and the beys with rafe (called "veys" in Yiddish) the dots 2456.
82
+ # There are a handful of special letter combinations that are used in Yiddish to represent
83
+ # dipthongs (combination vowels). The letters vov-yud are used to represent the sound "oy" and
84
+ # we've assigned that combo dots 246. The letters yud-yud are used to represent the sound "ey"
85
+ # and we've assigned them dots 26. The letters yud-yud-pasekh represent the sound "ay" and
86
+ # we've assigned them dots 356.
87
+ # For the letter alef with pasekh, used in Yiddish to represent the vowel "a", we've assigned
88
+ # dots 12346. For the letter alef with komets, used in Yiddish to represent the sound "o", we've
89
+ # selected dots 12356.
90
+
91
+ # In the process, we've relied on a consortium of experts for advice, including:
92
+ # - Mark David, a board member of the League for Yiddish, who was involved in the
93
+ # effort to incorporate Yiddish into Unicode over 20 years ago. He is the force behind
94
+ # UYIP.org, a website and listserve for Understanding Yiddish Information Processing.
95
+ # - Harry Bochner, a linguist and software engineer who co-authored the
96
+ # Comprehensive Yiddish-English Dictionary
97
+ # - Caryn Navy, a braille expert who works at Duxbury Systems
98
+ # - Harris Mowbray, a software engineer with experience creating Braille tables
99
+ # for other languages
100
+ # - Daniel Carkner, a (sighted) Yiddish speaker who also reads UEB Braille
101
+
102
+ # The final mapping of Yiddish letters to Braille characters was decided by
103
+ # Matthew Shifrin after a semester of learning to read Yiddish with various
104
+ # draft Braille tables. The final map is as follows:
105
+ #
106
+ # shtumer alef א 1 ⠁
107
+ # pasekh alef אַ 12346 ⠯
108
+ # komets alef אָ 12356 ⠷
109
+ # beys ב 12 ⠃
110
+ # veys בֿ 2456 ⠺
111
+ # giml ג 1245 ⠛
112
+ # daled ד 145 ⠙
113
+ # hey ה 125 ⠓
114
+ # vov ו 346 ⠬
115
+ # tsvey vovn װ 1236 ⠧
116
+ # vov yud ױ 246 ⠪
117
+ # zayin ז 1356⠵
118
+ # khes ח 1346 ⠭
119
+ # tes ט 2345 ⠞
120
+ # yud י 245 ⠚
121
+ # tsvey yudn ײ 26 ⠢
122
+ # pasekh tsvey yudn ײַ 356 ⠴
123
+ # kof כּ 13 ⠅
124
+ # khof כ 16 ⠡
125
+ # lamed ל 123 ⠇
126
+ # mem מ 134 ⠍
127
+ # nun נ 1345 ⠝
128
+ # samekh ס 234 ⠎
129
+ # ayin ע 15 ⠑
130
+ # pey פּ 1234 ⠏
131
+ # fey פֿ 124 ⠋
132
+ # tsadik צ 2346 ⠮
133
+ # kuf ק 12345 ⠟
134
+ # reysh ר 1235 ⠗
135
+ # shin ש 146 ⠩
136
+ # sin שׂ 156 ⠱
137
+ # tof תּ 1256 ⠳
138
+ # sof ת 1456 ⠹
139
+
140
+ # Braille indicators
141
+ numsign 3456 number sign, just a dots operand
142
+
143
+ capsletter 6
144
+ begcapsword 6-6
145
+ endcapsword 6-3
146
+
147
+ # literary forms of the decimal digits
148
+ include litdigits6Dots.uti
149
+
150
+ # display/passthrough for unicode braille
151
+ include braille-patterns.cti
152
+
153
+ # include the hebrew braille table
154
+ include he-IL.utb
155
+
156
+ include en-chardefs.cti All character definition opcodes
157
+
158
+
159
+ # YIDDISH
160
+
161
+ punctuation \x05BF 36 # HEBREW POINT RAFE
162
+ letter \x05D0 1 # YIDDISH LETTER SHTUMER ALEF (silent letter)
163
+ letter \xFB2E 12346 # YIDDISH LETTER PASEKH ALEF (a)
164
+ letter \xFB2F 12356 # YIDDISH LETTER KOMETS ALEF (o)
165
+ letter \xfb31 12 # YIDDISH LETTER BEYS WITH DAGESH (b)
166
+ letter \xFB4C 2456 # YIDDISH LETTER VEYS WITH RAFE (v)
167
+ letter \x05d1 12 # YIDDISH LETTER BEYS (b)
168
+ letter \x05D2 1245 # YIDDISH LETTER GIML (g)
169
+ letter \x05D3 145 # YIDDISH LETTER DALED (d)
170
+ letter \x05D4 125 # YIDDISH LETTER HEY (h)
171
+ letter \x05D5 346 # YIDDISH LETTER VOV (u)
172
+ letter \xfb35 346 # YIDDISH LETTER MELUPM VOV (u)
173
+ letter \x05F0 1236 # YIDDISH LIGATURE TSVEY VOVN (v)
174
+ letter \x05F1 246 # YIDDISH LIGATURE VOV YUD (oy)
175
+ letter \x05D6 1356 # YIDDISH LETTER ZAYIN (z)
176
+ letter \x05D7 1346 # YIDDISH LETTER KHES (kh)
177
+ letter \x05D8 2345 # YIDDISH LETTER TES (t)
178
+ letter \x05D9 245 # YIDDISH LETTER YUD (i)
179
+ letter \xfb1d 245 # YIDDISH LETTER KHIRIK YUD (i)
180
+ letter \x05F2 26 # YIDDISH LIGATURE TSVEY YUDN (ey)
181
+ letter \xFB1F 356 # YIDDISH LIGATURE PASEKH TSVEY YUDN (ay)
182
+ letter \xFB3B 13 # YIDDISH LETTER KOF (k)
183
+ letter \x05DB 16 # YIDDISH LETTER KHOF (kh)
184
+ letter \x05DA 16 # YIDDISH LETTER LANGER KHOF (kh)
185
+ letter \x05DC 123 # YIDDISH LETTER LAMED (l)
186
+ letter \x05DE 134 # YIDDISH LETTER MEM (m)
187
+ letter \x05DD 134 # YIDDISH LETTER SHLOS MEM (m)
188
+ letter \x05E0 1345 # YIDDISH LETTER NUN (n)
189
+ letter \x05DF 1345 # YIDDISH LETTER LANGER NUN (n)
190
+ letter \x05E2 15 # YIDDISH LETTER AYIN (e)
191
+ letter \xFB44 1234 # YIDDISH LETTER PEY WITH DAGESH (p)
192
+ letter \xFB4E 124 # YIDDISH LETTER FEY WITH RAFE (f)
193
+ letter \x05E4 124 # YIDDISH LETTER FEY (f)
194
+ letter \x05E3 124 # YIDDISH LETTER LANGER FEY (f)
195
+ letter \x05E6 2346 # YIDDISH LETTER TSADIK (ts)
196
+ letter \x05E5 2346 # YIDDISH LETTER LANGER TSADIK (ts)
197
+ letter \x05E7 12345 # YIDDISH LETTER KUF (k)
198
+ letter \x05E8 1235 # YIDDISH LETTER REYSH (r)
199
+ letter \x05E9 146 # YIDDISH LETTER SHIN (sh)
200
+ letter \xFB2B 156 # YIDDISH LETTER SIN (s)
201
+ letter \xFB4A 1256 # YIDDISH LETTER TOF (t)
202
+ letter \x05EA 1456 # YIDDISH LETTER SOF (s)
203
+
204
+ always \x05D5\x05D9 246 # YIDDISH LETTER VOV YUD (oy)
205
+ always \x05D5\x05D5 1236 # YIDDISH LETTER VOV VOV (v)
206
+ always \x05D9\x05D9 26 # YIDDISH LETTER YUD YUD
207
+ always \x05F2\x05B7 356 # YIDDISH LETTER PASEKH TSVEY YUDN WITH SEPARATE PASEKH
208
+ always \xFB1F 356 # YIDDISH LETTER PASEKH TSVEY YUDN
209
+ always \x05D1\x05BF 2456 # YIDDISH LETTER VEYS WITH SEPARATE RAFE
210
+ always \xFB4C 2456 # YIDDISH LETTER VEYS WITH SEPARATE RAFE
211
+ always \x05DB\x05BC 13 # YIDDISH LETTER KAF WITH SEPARATE DAGESH
212
+ always \xFB3B 13 # YIDDISH LETTER KAF WITH DAGESH כּ
213
+ always כּ 13 # YIDDISH LETTER KAF WITH SEPARATE DAGESH כּ
214
+ always פּ 1234 # YIDDISH LETTER PEY WITH SEPARATE DAGESH פּ
215
+ always פּ 1234 # YIDDISH LETTER PEY WITH DAGESH פּ
216
+ always \x05E4\x05BC 1234 # YIDDISH LETTER PEY WITH SEPARATE DAGESH פּ
217
+ always פֿ 124 # YIDDISH LETTER FEY WITH RAFE פֿ
218
+ always \x05E4\x05BF 124 # YIDDISH LETTER FEY WITH SEPARATE RAFE פֿ
219
+ always \x05E9\x05C2 156 # YIDDISH LETTER SIN WITH SEPARATE DOT
220
+ always שׂ 156 # YIDDISH LETTER SIN WITH DOT שׂ
221
+ always שׂ 156 # YIDDISH LETTER SIN WITH SEPARATE DOT שׂ
222
+ always \x05EA\x05BC 1256 # YIDDISH LETTER TOF WITH SEPARATE DAGESH תּ
223
+ always תּ 1256 # YIDDISH LETTER TOF WITH SEPARATE DAGESH תּ
224
+ always \x05D0\x05B7 12346 # YIDDISH LETTER PASEKH ALEF WITH SEPARATE PASEKH
225
+ always אַ 12346 # YIDDISH LETTER PASEKH ALEF WITH SEPARATE PASEKH
226
+ always \x05D0\x05B8 12356 # YIDDISH LETTER KOMETS ALEF WITH SEPARATE KOMETS
227
+ always אָ 12356 # YIDDISH LETTER KOMETS ALEF WITH SEPARATE KOMETS
228
+ always \x05D5\x05BC 346 # YIDDISH LETTER MELUPM VOV WITH SEPARATE DAGESH
229
+ always וּ 346 # YIDDISH LETTER MELUPM VOV WITH SEPARATE DAGESH
230
+ always \x05D9\x05B4 245 # YIDDISH LETTER KHIREK YUD WITH SEPARATE KHIREK
231
+ always יִ 245 # YIDDISH LETTER KHIREK YUD WITH SEPARATE KHIREK
232
+ always ב 12 # YIDDISH LETTER BEYS ב
233
+ always בּ 12 # YIDDISH LETTER BEYS WITH DAGESH בּ
234
+ always \x05E2 15 # YIDDISH LETTER AYIN (e)
235
+ always \x05D5 346 # YIDDISH LETTER VOV (u)
236
+