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,404 @@
1
+ # liblouis: Italiano
2
+ #
3
+ # Copyright (C) 2004-2008 ViewPlus Technologies, Inc. www.viewplus.com
4
+ # Copyright (C) 2004-2006 JJB Software, Inc. www.jjb-software.com
5
+ # Copyright (C) 2012 Mesar Hameed <mesar.hameed@gmail.com>
6
+ # Copyright (C) 2026 Vision Dept SRL. <info@visiondept.it>
7
+ # Copyright (C) 2026 Christian Comaschi <christiancomaschi81@gmail.com>
8
+ #
9
+ # This file is part of liblouis.
10
+ #
11
+ # liblouis is free software: you can redistribute it and/or modify it
12
+ # under the terms of the GNU Lesser General Public License as
13
+ # published by the Free Software Foundation, either version 2.1 of the
14
+ # License, or (at your option) any later version.
15
+ #
16
+ # liblouis is distributed in the hope that it will be useful, but
17
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
+ # Lesser General Public License for more details.
20
+ #
21
+ # You should have received a copy of the GNU Lesser General Public
22
+ # License along with liblouis. If not, see
23
+ # <http://www.gnu.org/licenses/>.
24
+
25
+ #-index-name: Italian
26
+ #-display-name: Italian braille
27
+
28
+ #+language: it
29
+ #+type: literary
30
+ #+contraction: no
31
+ #+dots: 6
32
+ #+direction: both
33
+
34
+ # The standard that this table follows is the one published by the Monza library
35
+ # (Biblioteca di Monza):
36
+ # https://www.bibliotecaciechi.it/wp-content/uploads/2022/03/Codice_Braille.pdf
37
+ #+system: monza
38
+
39
+ include latinLetterDef6Dots.uti
40
+ include braille-patterns.cti
41
+ space \t 9 tab
42
+ space \x001B 1b # escape
43
+ space \x00A0 a # no-break space
44
+ space \x007f 0
45
+ undefined 0
46
+ display \s 0
47
+ include spaces.uti
48
+ display @ 345
49
+ display ó 346
50
+
51
+ # --- Wovels and accents ---
52
+ lowercase \x00e7 12346 # c cediglia
53
+ noback lowercase \x00E6 345 # dittongo æ
54
+ lowercase \x00E3 5-26-1 # a con tilde
55
+ noback lowercase \x00f1 12456 # n con tilde
56
+ lowercase \x00e0 12356 # à
57
+ lowercase \x00e8 2346 # è
58
+ lowercase \x00f9 23456 # ù
59
+ lowercase \x00ec 34 # ì
60
+ lowercase \x00f2 346 # ò
61
+
62
+ # Circumflex
63
+ noback lowercase \x00e2 16 # â
64
+ lowercase \x00ea 126 # ê
65
+ lowercase \x00ee 146 # î
66
+ lowercase \x00f4 1456 # ô
67
+ lowercase \x00fb 156 # û
68
+
69
+ # Acutes and diaereses
70
+ noback lowercase \x00e1 12356
71
+ lowercase \x00e9 123456 # é
72
+ noback lowercase \x00f3 346
73
+ noback lowercase \x00fa 23456
74
+ noback lowercase \x00ed 34
75
+ noback lowercase \x00e4 345 # ä
76
+ lowercase \x00eb 1246 # ë
77
+ lowercase \x00ef 12456 # ï
78
+ lowercase \x00f6 246 # ö
79
+ lowercase \x00fc 1256 # ü
80
+ lowercase \x00e5 5-1 # a con cerchio
81
+ lowercase \x00f8 36-135 # o barrata
82
+
83
+ # Uppercase letters
84
+ base uppercase \x00c8 \x00e8 # e accent grave (Èè)
85
+
86
+ # --- Numbers ---
87
+ numsign 3456
88
+ nonumsign 456
89
+ numericnocontchars abcdefghij
90
+ include digits6Dots.uti
91
+ include litdigits6Dots.uti
92
+
93
+ # --- Punctuation and parentheses ---
94
+ punctuation , 2
95
+ punctuation ; 23
96
+ punctuation : 25
97
+ punctuation . 256
98
+ punctuation ? 26
99
+ punctuation ! 235
100
+ punctuation " 236
101
+ prepunc " 236
102
+ # virtual dots are used on parentheses and asterisk to ehlp pass2 change the
103
+ # representation according to context
104
+ noback punctuation ( 26a
105
+ noback punctuation ) 35a
106
+ noback prepunc ( 26a
107
+ postpunc " 356
108
+ noback postpunc ) 35a
109
+ noback punctuation ' 3
110
+
111
+ noback punctuation [ 12356
112
+ noback prepunc [ 12356
113
+ noback punctuation ] 23456
114
+ noback postpunc ] 23456
115
+ noback punctuation { 12346
116
+ noback punctuation } 13456
117
+
118
+ # --- Context back-translation rules for parenthesis and math operators ---
119
+ # at the beginning of the text or after a space, @2356 means left parenthesiss
120
+ nofor pass2 $s[@2356] @2356b
121
+ nofor pass2 `[@2356] @2356b
122
+ nofor context @2356b "("
123
+ # ------------------------------------
124
+ # A math context can begin with {, [, (, # or _ (nonumsign) at the beginning
125
+ # of the text or after a space
126
+ # variable 1 is used to open math context
127
+ # In math context these symbols change meaning:
128
+ # Symbol Meaning
129
+ # @235 +
130
+ # @236 *
131
+ # @256 /
132
+ # @3 .
133
+ # @26 (
134
+ # @35 )
135
+ # @12356 [
136
+ # @23456 ]
137
+ # @12346 {
138
+ # @13456 }
139
+ # @2356 =
140
+ # @126 <
141
+ # @345 >
142
+ # @356 °
143
+ # Moreover, @456 can be used anytime and with any letter, not only literal
144
+ # digits (from a to j), for example:
145
+ # @456-1346-2356-3456-1 is translated as x=1 because @456 starts math
146
+ # context, otherwise @2356 would be translated as )
147
+ # ------------------------------------
148
+ # At the beginning of the text or after a space, @12346 means { and it starts
149
+ # math context
150
+ # variable 2 is also set to 1, so that 13456 can mean "}"
151
+ nofor pass2 $s[@12346] #1=1#2=1#3=0#4=0#5=0@12346a
152
+ nofor pass2 `[@12346] #1=1#2=1#3=0#4=0#5=0@12346a
153
+ nofor pass2 #1=1[@12346] #2=1#3=0#4=0@12346a
154
+ nofor context @12346a "{"
155
+ # At the beginning of the text or after a space, @12356 means [ and it starts
156
+ # math context
157
+ # variable 3 is also set to 1, so that 13456 cannot mean "}" until the square
158
+ # bracket is closed
159
+ nofor pass2 $s[@12356] #1=1#2=0#3=1#4=0#5=0@12356a
160
+ nofor pass2 `[@12356] #1=1#2=0#3=1#4=0#5=0@12356a
161
+ nofor pass2 #1=1[@12356] #3=1@12356a
162
+ nofor context @12356a "["
163
+ # At the beginning of the text or after a space, @26 means left parenthesiss
164
+ # and it starts math context
165
+ # variable 4 is also set to 1, so that 13456 cannot mean "}" until the
166
+ # parenthesis is closed
167
+ nofor pass2 $s[@26] #1=1#2=0#3=0#4=1#5=0@26a
168
+ nofor pass2 `[@26] #1=1#2=0#3=0#4=1#5=0@26a
169
+ nofor pass2 #1=1[@26] #4=1@26a
170
+ nofor context @26a "("
171
+ # a space character ends math context
172
+ nofor pass2 $s #1=0#2=0#3=0#4=0#5=0*
173
+ # @3456 followed by a literal digit starts math context and re-enables @456 as
174
+ # nonumsign for pass1 (variable 5=0)
175
+ nofor pass2 @3456$D #1=1#5=0*
176
+ # twice @3456 is translated as "#"
177
+ nofor pass2 @3456@3456 #1=0#2=0#3=0#4=0#5=0@3456a
178
+ nofor context @3456a "#"
179
+ # @456 (followed by a letter) starts math context if not already started
180
+ # and if not in a word and disables @456 as nonumsign for pass1 (variable 5=1)
181
+ # until next @3456
182
+ nofor pass2 $s@456[$u] #1=1#2=0#3=0#4=0#5=1*
183
+ nofor pass2 `@456[$u] #1=1#2=0#3=0#4=0#5=1*
184
+ nofor pass2 #1=1#5=0[@456$u] #5=1*
185
+ nofor pass2 #1=1#5=1@456[$u] #5=1*
186
+ # outside of math context, when @456 is in the middle of a word, treat it as normal underscore
187
+ nofor pass2 #1=0#5=0$u[@456] @456a
188
+ nofor context @456a "_"
189
+ # in math context, @2356 means equals sign
190
+ nofor pass2 #1=1[@2356] @2356a
191
+ nofor context @2356a "="
192
+ # in math context, @35 means right parenthesis
193
+ nofor pass2 #1=1[@35] #4=0@35a
194
+ nofor context @35a ")"
195
+ # in math context, @23456 means right brackets
196
+ nofor pass2 #1=1[@23456] #3=0@23456a
197
+ nofor context @23456a "]"
198
+ # in math context, after left braces, @13456 means "}" unless other brackets
199
+ # are also open
200
+ attribute brlnonumsign ⠸
201
+ nofor pass2 #1=1#2=1#3=0#4=0!%brlnonumsign[@13456] @13456a
202
+ nofor pass2 #1=1#2=1#3=1!%brlnonumsign[@13456] *
203
+ nofor pass2 #1=1#2=1#4=1!%brlnonumsign[@13456] *
204
+ nofor context @13456a "}"
205
+ # in math context, @235 means plus sign
206
+ nofor pass2 #1=1[@235] @235a
207
+ nofor context @235a "+"
208
+ # in math context, @236 means star (multiplication) sign
209
+ nofor pass2 #1=1[@236] @236a
210
+ nofor context @236a "*"
211
+ # in math context, @256 means slash (division) sign
212
+ nofor pass2 #1=1[@256] @256a
213
+ nofor context @256a "/"
214
+ # in math context, @126 means < sign
215
+ nofor pass2 #1=1[@126] @126a
216
+ nofor context @126a "<"
217
+ # in math context, @345 means > sign
218
+ nofor pass2 #1=1[@345] @345a
219
+ nofor context @345a ">"
220
+ # in math context, @356 means ° sign
221
+ nofor pass2 #1=1[@356] @356a
222
+ nofor context @356a "°"
223
+ # in math context, @3 means . and not '
224
+ nofor pass2 #1=1[@3] @3a
225
+ nofor context @3a "."
226
+ # outside of math context, @2356 if not after a space or at the beginning of
227
+ # the text means ")"
228
+ nofor context @2356 ")"
229
+ # outside of math context, @35 means "*"
230
+ nofor context @35 "*"
231
+
232
+ # --- other back-translation rules ---
233
+ # Outside of math context, / and ì come from the same symbol (@34)
234
+ # we can translate it as "ì" if in a word, i.e. if between spaces there
235
+ # are all letters, capsign and quotation marks
236
+ attribute brlitalianword abcdefghilmnopqrstuvz⠨"
237
+ nofor pass2 $s%brlitalianword.[@34] @34a
238
+ nofor pass2 `%brlitalianword.[@34] @34a
239
+ nofor context @34a "ì"
240
+ nofor context @34 "/"
241
+ # \ has the same symbol as â (@34)
242
+ # we can translate it as "â" if in a word, i.e. if between spaces there
243
+ # are all letters, capsign and quotation marks
244
+ attribute brlforeignword abcdefghijklmnopqrstuvwxyzêîôûëïüöçàèéìòù⠨"
245
+ nofor pass2 $s%brlforeignword.[@16] @16a
246
+ nofor pass2 `%brlforeignword.[@16] @16a
247
+ nofor context @16a "\x00e2"
248
+ nofor context @16 "\\"
249
+
250
+ # --- Math and operators ---
251
+ noback math + 235
252
+ math - 36
253
+ noback math = 2356
254
+ noback math ( 26a
255
+ noback math ) 35a
256
+ noback math \x00F7 25
257
+ noback math \x003c 126
258
+ noback math \x003e 345
259
+ decpoint , 2
260
+ decpoint . 3
261
+ numericmodechars .,
262
+
263
+ # --- Other signs ---
264
+ #Some of these were ported from the old Italian table
265
+ sign ~ 2346
266
+ sign ¢ 4-14
267
+ noback sign § 234-234
268
+ sign ² 4-6-126
269
+ sign ³ 4-6-146
270
+ sign ¹ 4-6-16
271
+ punctuation » 356
272
+ noback sign \x201E 56
273
+ noback sign \x200e 0
274
+ noback sign \x200f 0
275
+ noback sign ¸ 456
276
+ sign \x2010 36
277
+ sign \x2015 36-36
278
+ sign \xFE58 36
279
+ word — 456-36
280
+ word – 36-36
281
+ sign \x2022 246-135
282
+ sign \x2026 3-3-3
283
+ noback sign \x25cf 35
284
+ sign / 34a
285
+ noback sign \\ 16
286
+ sign @ 345
287
+ noback sign \x0023 3456a
288
+ sign % 3456-356
289
+ noback sign ‰ 3456-356-356
290
+ sign * 35b
291
+ noback sign _ 456
292
+ sign \x0060 6
293
+ sign \x007C 4-456
294
+ sign \x0083 124
295
+ sign \x2122 5-2345
296
+ sign © 5-14
297
+ noback sign ° 356
298
+ sign & 5-12346
299
+ sign € 45-15
300
+ sign $ 45-234
301
+ sign ^ 4
302
+ sign \x007E 5-26
303
+
304
+ # --- Greek letters ---
305
+ noback lowercase \x03b1 45-1
306
+ noback lowercase \x03b2 45-12
307
+ noback lowercase \x03b3 45-1245
308
+ noback lowercase \x03b4 45-145
309
+ noback lowercase \x03B5 45-15
310
+ noback lowercase \x03B6 45-1356
311
+ noback lowercase \x03B7 45-125
312
+ noback lowercase \x03B8 45-245
313
+ noback lowercase \x03B9 45-24
314
+ noback lowercase \x03BA 45-13
315
+ noback lowercase \x03BB 45-123
316
+ noback lowercase \x03BC 45-134
317
+ noback lowercase \x03BD 45-1345
318
+ noback lowercase \x03BE 45-1346
319
+ noback lowercase \x03BF 45-135
320
+ noback lowercase \x03C0 45-1234
321
+ noback lowercase \x03C1 45-1235
322
+ noback lowercase \x03C3 45-234
323
+ noback lowercase \x03C4 45-2345
324
+ noback lowercase \x03C5 45-136
325
+ noback lowercase \x03C6 45-124
326
+ noback lowercase \x03C7 45-12345
327
+ noback lowercase \x03C8 45-13456
328
+ noback lowercase \x03C9 45-2456
329
+
330
+ # ---Caps and base ---
331
+ capsletter 46
332
+ begcapsword 46-46
333
+ endcapsword 6-3
334
+
335
+ # --- Emphasis ---
336
+ emphclass italic
337
+ emphclass underline
338
+ emphclass bold
339
+ begemph bold 2356-456
340
+ endemph bold 456-2356
341
+ begemph italic 25-456
342
+ endemph italic 456-25
343
+ begemph underline 36-456
344
+ endemph underline 456-36
345
+
346
+ #Currency
347
+ noback sign ¢ 4-14 cent sign x00A2
348
+ sign £ 45-123 pound sign x00A3
349
+ sign ¤ 45-15 currency sign x00A4
350
+ sign ¥ 45-13456 yen sign x00A5
351
+
352
+ # --- Math context in forward translation ---
353
+ # These symbols change according to meaning:
354
+ # Symbol literary math
355
+ # ( @2356 @26
356
+ # ) @2356 @35
357
+ # * @35 @236
358
+ # / @34 @256
359
+ # A math context is identified when:
360
+ # at the beginning of the text or after a space, braces or brackets are found
361
+ # - a numsign is found
362
+ # - brackets or braces are found
363
+ # - a parenthesis with a number and a math operator
364
+ # the context stays open when all math symbols are found
365
+ attribute startmath ⠼{[
366
+ # define all math symbols except those that require special treatment
367
+ attribute mathsymbolpassthrough ⠼abcdefghijklmnopqrstuvwxyz,⠄+-[]{}=<>_
368
+ # define all math symbols
369
+ attribute mathsymbolall ⠼abcdefghijklmnopqrstuvwxyz,⠄+-*/()[]{}=<>_
370
+ # define symbols for a number (litdigits and numericmodechars)
371
+ attribute mathnumber abcdefghij,⠄
372
+ # define symbols to be considered math operators
373
+ attribute mathop +-*/=<>
374
+ noback pass2 $s%startmath #1=1*
375
+ noback pass2 `%startmath #1=1*
376
+ noback pass2 $s[@26a]@3456%mathnumber.%mathop #1=1@26
377
+ noback pass2 `[@26a]@3456%mathnumber.%mathop #1=1@26
378
+ noback pass2 $s[@26a]@3456%mathnumber_$u.%mathop #1=1@26
379
+ noback pass2 `[@26a]@3456%mathnumber_$u.%mathop #1=1@26
380
+ # rules when math context is open
381
+ noback pass2 #1=1@26a #1=1@26
382
+ noback pass2 #1=1@35a #1=1@35
383
+ noback pass2 #1=1@35b #1=1@236
384
+ noback pass2 #1=1@34a #1=1@256
385
+ noback pass2 #1=1$s #1=0*
386
+ noback pass2 #1=1!%mathsymbolall #1=0*
387
+ # rules ouotside of math context
388
+ noback pass2 #1=0@26a @2356
389
+ noback pass2 #1=0@35a @2356
390
+ noback pass2 #1=0@35b @35
391
+ noback pass2 #1=0@34a @34
392
+ # hashtag
393
+ noback pass2 @3456a @3456
394
+
395
+ # --- dots ---
396
+ attribute brldot ⠄
397
+ noback context "..." @3-3-3
398
+ nofor pass2 #6=0%brldot #6=1
399
+ nofor pass2 #6=1%brldot #6=2
400
+ nofor pass2 #6=1!%brldot #6=0@3e*
401
+ nofor pass2 #6=2%brldot #6=0@3f-3f-3f
402
+ nofor pass2 #6=2!%brldot #6=0@3e-3e*
403
+ nofor context @3f "."
404
+ nofor context @3e "'"