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,646 @@
1
+ dnl Insert a comment in the file generated from this file:
2
+ # ---------------------------------------------------------------------------
3
+ # Beware! This file is automatically generated from nl-NL-g0.utb.in. Don't
4
+ # make changes to this file directly.
5
+ # ---------------------------------------------------------------------------
6
+ dnl
7
+ # This file is part of liblouis.
8
+ #
9
+ # liblouis is free software: you can redistribute it and/or modify it
10
+ # under the terms of the GNU Lesser General Public License as
11
+ # published by the Free Software Foundation, either version 2.1 of the
12
+ # License, or (at your option) any later version.
13
+ #
14
+ # liblouis is distributed in the hope that it will be useful, but
15
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ # Lesser General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU Lesser General Public
20
+ # License along with liblouis. If not, see
21
+ # <http://www.gnu.org/licenses/>.
22
+ #
23
+ dnl Define some m4 macros to simpify writing the table:
24
+ dnl
25
+ dnl Macro for defining a "foreign" lowercase letter and corresponding uppercase
26
+ dnl letter. Words with "foreign" letters are marked with the
27
+ dnl "alfabetwisselingsteken" indicator.
28
+ dnl
29
+ dnl _foreignuplow(<upper>,<lower>,<dots>,<vdots>)
30
+ dnl
31
+ dnl <upper>: uppercase letter
32
+ dnl <lower>: lowercase letter
33
+ dnl <dots>: dot pattern
34
+ dnl <vdots>: virtual dots to attach (in forward direction only)
35
+ dnl
36
+ define(`_foreignuplow',`
37
+ noback lowercase $2 $3$4
38
+ noback uppercase $1 $3$4f
39
+ nofor lowercase $2 $3
40
+ base uppercase $1 $2
41
+ attribute foreign $1$2')dnl
42
+ dnl
43
+ dnl Macro for defining a "foreign" lowercase letter without a
44
+ dnl corresponding uppercase letter.
45
+ dnl
46
+ dnl _foreignlower(<char>,<dots>,<vdots>)
47
+ dnl
48
+ dnl <char>: letter
49
+ dnl <dots>: dot pattern
50
+ dnl <vdots>: virtual dots to attach (in forward direction only)
51
+ dnl
52
+ define(`_foreignlower',`
53
+ noback lowercase $1 $2$3
54
+ nofor lowercase $1 $2
55
+ attribute foreign $1')dnl
56
+ dnl
57
+ dnl Macro for defining a Unicode braille character.
58
+ dnl
59
+ dnl _unibrl(<char>,<dots>)
60
+ dnl
61
+ dnl <char>: character
62
+ dnl <dots>: dot pattern
63
+ dnl
64
+ define(`_unibrl',`
65
+ noback sign $1 $2e
66
+ nofor sign $1 $2')dnl
67
+ dnl
68
+ dnl The following line changes the quotes used by m4. It should prevent
69
+ dnl any accidental changes to the normal text in the table
70
+ changequote(`{{{', `}}}')dnl
71
+ dnl ============================================================================================
72
+ dnl
73
+ #
74
+ #-index-name: Dutch
75
+ #-display-name: Dutch braille
76
+ #
77
+ #+language: nl
78
+ #+type: literary
79
+ #+contraction: no
80
+ #+grade: 0
81
+ #+version: 2017.1
82
+ #+direction: forward
83
+ #
84
+ #-maintainer: Bert Frees <bertfrees@gmail.com>
85
+ #-license: LGPLv2.1
86
+ #-copyright: 2010, 2011, DocArch <http://www.docarch.be>
87
+ #-copyright: 2014-2015, 2019, 2024, 2025, Bert Frees <bertfrees@gmail.com>
88
+ #-copyright: 2014, CBB <http://www.cbb.nl>
89
+ #-copyright: 2015, 2016, 2018, Dedicon <http://www.dedicon.nl>
90
+ #-copyright: 2024, Davy Kager
91
+ #
92
+ # Copyright (C) 2010, 2011 by DocArch <http://www.docarch.be>
93
+ # Copyright (C) 2014-2015, 2019, 2024, 2025 by Bert Frees
94
+ # Copyright (C) 2014 by CBB <http://www.cbb.nl>
95
+ # Copyright (C) 2015, 2016, 2018 by Dedicon <http://www.dedicon.nl>
96
+ # Copyright (C) 2024 by Davy Kager
97
+ #
98
+ # -------------------------------------------------------------------------------
99
+ #
100
+ # Dutch Braille as used in the Netherlands
101
+ #
102
+ # Created by Bert Frees <bertfrees@gmail.com>
103
+ # Modified by Henri Apperloo <h.apperloo@cbb.nl>
104
+ # Modified by Davy Kager <DavyKager@dedicon.nl>
105
+ #
106
+ # See also: « Braillestandaard voor algemeen gebruik in het Nederlandse taalgebied,
107
+ # Van toepassing vanaf 24 april 2020 »
108
+ # (Braille Autoriteit, 2020)
109
+ # [http://liblouis.io/braille-specs/dutch][1]
110
+ # and: « World Braille Usage (3rd edition) »
111
+ # [http://liblouis.io/braille-specs/world-braille-usage-third-edition.pdf][2]
112
+ #
113
+ # ----------------------------------------------------------------------------------------------
114
+
115
+ # include a display table by default to avoid errors if the user would not include a display table
116
+ include nl-print.dis
117
+
118
+ include nl-chardefs.uti
119
+
120
+ hyphen \x002D 36
121
+
122
+ # §3.1 Het cijferteken [1]
123
+
124
+ midnum \x002C 2 # COMMA
125
+ midnum \x002E 256 # FULL STOP
126
+
127
+ # §1.55 Paragraafteken [1]
128
+
129
+ begword \x00A7 346-0
130
+ midword \x00A7 0-346-0
131
+ endword \x00A7 0-346
132
+
133
+ # §3.4 Procent- en promilleteken [1]
134
+
135
+ endnum \x0025 0-123456
136
+ endnum \x2030 0-123456-123456
137
+
138
+ # §3.2 De basisrekentekens (spatieregel) [1]
139
+
140
+ # isgelijkteken =
141
+ begword \x003D 2356-0
142
+ midword \x003D 0-2356-0
143
+ endword \x003D 0-2356
144
+
145
+ # plusteken +
146
+ begword \x002B 235a-0
147
+ endnum \x002B 5-235a
148
+
149
+ # deelteken ÷
150
+ begword \x00F7 256-0
151
+ midword \x00F7 0-256-0
152
+ endword \x00F7 0-256
153
+
154
+ # maalteken ×
155
+ begword \x00D7 236-0
156
+ midword \x00D7 0-236-0
157
+ endword \x00D7 0-236
158
+
159
+ # §2.16 Muntsymbolen/valutatekens [1]
160
+ # Als de munteenheid na het getal wordt geplaatst, dan wordt ze bij voorkeur voluit geschreven
161
+ noback correct ["€"]$s.!$d "euro"
162
+ noback correct ["$"]$s.!$d "dollar"
163
+ noback correct ["£"]$s.!$d "pond"
164
+ noback correct ["¥"]$s.!$d "yen"
165
+ noback correct ["€"]$s.~ "euro"
166
+ noback correct ["$"]$s.~ "dollar"
167
+ noback correct ["£"]$s.~ "pond"
168
+ noback correct ["¥"]$s.~ "yen"
169
+ noback correct ["€"]!$ds "euro"
170
+ noback correct ["$"]!$ds "dollar"
171
+ noback correct ["£"]!$ds "pond"
172
+ noback correct ["¥"]!$ds "yen"
173
+ noback correct ["€"]~ "euro"
174
+ noback correct ["$"]~ "dollar"
175
+ noback correct ["£"]~ "pond"
176
+ noback correct ["¥"]~ "yen"
177
+
178
+ # Geplaatst vóór het getal wordt de munteenheid door haar beginletter weergegeven, zonder spatie tussen letter en cijfer
179
+
180
+ # §1.5 euroteken € (zonder spatie vóór het getal) [1]
181
+ noback joinnum \x20AC 15a
182
+
183
+ # §1.4 dollarteken $ (zonder spatie vóór het getal) [1]
184
+ noback joinnum \x0024 145a
185
+
186
+ # §1.16 pondteken £ (zonder spatie vóór het getal) [1]
187
+ noback joinnum \x00A3 1234a
188
+
189
+ # §1.24 yenteken ¥ (zonder spatie vóór het getal) [1]
190
+ noback joinnum \x00A5 13456a
191
+
192
+ # §1.34 verticale streep | (spatie voor en na) [1]
193
+
194
+ begword \x007C 1456-0
195
+ midword \x007C 0-1456-0
196
+ endword \x007C 0-1456
197
+
198
+ # Roman page numbers
199
+ replace \\_
200
+
201
+ # §2.10 Herstelteken [1]
202
+
203
+ # For numbers that are immediately followed by a letter a-j, a sign must be
204
+ # inserted for terminating the number.
205
+
206
+ # Using these rules instead of the multipass rules makes a lot of tests fail:
207
+ # nocontractsign 6
208
+ # numericnocontchars abcdefghij
209
+
210
+ attribute digitletter abcdefghijABCDEFGHIJ # 1st class = $w
211
+ noback context $d[]%digitletter @6a
212
+ noback context $d","[]%digitletter @6a
213
+ noback context $d"."[]%digitletter @6a
214
+ noback context $d":"[]%digitletter @6a
215
+ # Multiple dots 6 are collapsed into a single dot 6.
216
+ noback pass2 [@6a]@6a ?
217
+ # A dot 6 is not needed when the number is already cancelled by a capital, emphasis or foreign language sign
218
+ noback pass3 $d[@6a]@45 ?
219
+ noback pass3 $d[@6a]@46 ?
220
+ noback pass3 $d[@6a]@456 ?
221
+ noback pass3 $d[@6a]@56 ?
222
+ # backward translation
223
+ nofor pass2 _$d[@6]%digitletter @6a
224
+ nofor pass2 __$d@2[@6]%digitletter @6a
225
+ nofor pass2 __$d@25[@6]%digitletter @6a
226
+ nofor pass2 __$d@256[@6]%digitletter @6a
227
+ endcapsword 6a # hack to not back-translate @6a to "\6A"
228
+
229
+ # §2.18 Sleutelteken tweede betekenis [1]
230
+
231
+ # §2.3 Ampersandteken [1]
232
+
233
+ # When an AMPERSAND appears within a word (e.g. an initialism like AT&T) it must be
234
+ # preceded by a "second meaning" sign because its first meaning is LETTER C WITH
235
+ # CEDILLA (ç).
236
+
237
+ # When a PLUS SIGN appears within a word (e.g. 30+'er) it must be preceded by a
238
+ # "second meaning" sign because its first meaning is EXCLAMATION MARK.
239
+
240
+ attribute plusamp +& # 2nd class = $x
241
+ attribute noplusamp .'‘’ # 3rd class = $y
242
+ noback pass4 %noplusamp[]%plusamp @5
243
+ noback pass4 $l[]%plusamp @5
244
+ noback pass4 [@235a]%plusamp @235a-5
245
+ noback pass4 [@12346]%plusamp @12346-5
246
+ noback pass4 [@12346] @12346
247
+
248
+ numsign 3456
249
+ # backward translation of unicode braille pattern ⠼
250
+ noback pass2 [@3456]!$d @3456e
251
+
252
+ # §2.7 Drukwijzigingsteken [1]
253
+
254
+ emphclass italic
255
+ emphclass underline
256
+ emphclass bold
257
+
258
+ lenemphphrase italic 4
259
+ begemphword italic 456
260
+ endemphword italic 6
261
+ begemphphrase italic 456-456
262
+ endemphphrase italic before 456
263
+ emphletter italic 456
264
+
265
+ lenemphphrase bold 4
266
+ begemphword bold 456
267
+ endemphword bold 6
268
+ begemphphrase bold 456-456
269
+ endemphphrase bold before 456
270
+ emphletter bold 456
271
+
272
+ lenemphphrase underline 4
273
+ begemphword underline 456
274
+ endemphword underline 6
275
+ begemphphrase underline 456-456
276
+ endemphphrase underline before 456
277
+ emphletter underline 456
278
+
279
+ # Only these non-letters can appear within an emphasized passage without
280
+ # cancelling the emphasis "state": + (PLUS SIGN), & (AMPERSAND), . (FULL STOP),
281
+ # ' (APOSTROPHE), ‘ (LEFT SINGLE QUOTATION MARK) and ’ (RIGHT SINGLE QUOTATION
282
+ # MARK).
283
+ emphmodechars italic +&.'‘’
284
+ emphmodechars bold +&.'‘’
285
+ emphmodechars underline +&.'‘’
286
+
287
+ # These are the characters for which emphasis is not indicated:
288
+ noemphchars italic \s'‘’()
289
+ noemphchars bold \s'‘’()
290
+ noemphchars underline \s'()
291
+
292
+ # treat apostrophe in 't as a letter
293
+ letter \xe000 3
294
+ noback correct ["'"]"t"$s "\xe000" # this rule needs to come before the `include quotation-marks.uti' rule
295
+
296
+ # §2.11 Hoofdletters [1]
297
+
298
+ # Certain characters can appear within an uppercase string without cancelling
299
+ # the uppercase "state". These characters are + (PLUS SIGN), & (AMPERSAND),
300
+ # . (FULL STOP), ' (APOSTROPHE), ‘ (LEFT SINGLE QUOTATION MARK)
301
+ # and ’ (RIGHT SINGLE QUOTATION MARK).
302
+ capsmodechars +&.'‘’
303
+
304
+ lencapsphrase 4
305
+ begcapsword 45
306
+ endcapsword 6
307
+ begcapsphrase 45-45
308
+ endcapsphrase before 45
309
+ capsletter 46
310
+
311
+ # §3.6 Graad-, minuut- en secondeteken [1]
312
+
313
+ # replace ' (\x27 APOSTROPHE), when it is used as a closing quote, by a ’ (\x2019 RIGHT
314
+ # SINGLE QUOTATION MARK)
315
+ include quotation-marks.uti
316
+ noback context $d["''"] @4-35a-35a
317
+ noback context $d["'"] @4-35a
318
+
319
+ # Left and right curly brackets
320
+
321
+ noback punctuation \x007B 12356c { LEFT CURLY BRACKET
322
+ nofor punctuation \x007B 12356 { LEFT CURLY BRACKET
323
+ noback punctuation \x007D 23456c } RIGHT CURLY BRACKET
324
+ nofor punctuation \x007D 23456 } RIGHT CURLY BRACKET
325
+
326
+ # 2.2. Alfabetwisselingsteken
327
+
328
+ modeletter foreign 56
329
+ begmodeword foreign 56
330
+ begmodephrase foreign 56-56
331
+ endmodephrase foreign before 56
332
+ lenmodephrase foreign 4
333
+
334
+ # Note that we don't use the "base" opcode to define foreign letters
335
+ # because we don't want non-foreign characters to cancel foreign mode.
336
+
337
+ # Foreign letters Ã, Õ (Portuguese), Å, Æ, Ø (Norwegian/Danish/Finnish), Ì (Italian)
338
+
339
+ _foreignuplow( \x00C3, \x00E3, 1, a) Ãã LATIN CAPITAL LETTER A WITH TILDE - LATIN SMALL LETTER A WITH TILDE
340
+ _foreignuplow( \x00C5, \x00E5, 1, b) Åå LATIN CAPITAL LETTER A WITH RING ABOVE - LATIN SMALL LETTER A WITH RING ABOVE
341
+ _foreignuplow( \x00CC, \x00EC, 24, a) Ìì LATIN CAPITAL LETTER I WITH GRAVE - LATIN SMALL LETTER I WITH GRAVE
342
+ _foreignuplow( \x00D5, \x00F5, 135, b) Õõ LATIN CAPITAL LETTER O WITH TILDE - LATIN SMALL LETTER O WITH TILDE
343
+ _foreignuplow( \x00D8, \x00F8, 246, b) Øø LATIN CAPITAL LETTER O WITH STROKE - LATIN SMALL LETTER O WITH STROKE
344
+
345
+ lowercase \x00E6 1-15-15 æ LATIN SMALL LETTER AE
346
+ uppercase \x00C6 1f-15f-15f Æ LATIN CAPITAL LETTER AE
347
+ base uppercase \x00C6 \x00E6 Ææ LATIN CAPITAL LETTER AE - LATIN SMALL LETTER AE
348
+
349
+ attribute foreign Ææ
350
+
351
+ # Greek letters
352
+
353
+ _foreignuplow( Α, α, 1, d) GREEK LETTER ALPHA
354
+ _foreignuplow( Ά, ά, 1, ad) GREEK LETTER ALPHA WITH TONOS
355
+ _foreignuplow( Β, β, 12, d) GREEK LETTER BETA
356
+ _foreignuplow( Γ, γ, 1245, d) GREEK LETTER GAMMA
357
+ _foreignuplow( Δ, δ, 145, d) GREEK LETTER DELTA
358
+ _foreignuplow( Ε, ε, 15, d) GREEK LETTER EPSILON
359
+ _foreignuplow( Ζ, ζ, 1356, d) GREEK LETTER ZETA
360
+ _foreignuplow( Ι, ι, 24, d) GREEK LETTER IOTA
361
+ _foreignuplow( Ί, ί, 24, ad) GREEK LETTER IOTA WITH TONOS
362
+ _foreignuplow( Κ, κ, 13, d) GREEK LETTER KAPPA
363
+ _foreignuplow( Λ, λ, 123, d) GREEK LETTER LAMDA
364
+ _foreignuplow( Μ, μ, 134, d) GREEK LETTER MU
365
+ _foreignuplow( Ν, ν, 1345, d) GREEK LETTER NU
366
+ _foreignuplow( Ξ, ξ, 1346, d) GREEK LETTER XI
367
+ _foreignuplow( Ο, ο, 135, d) GREEK LETTER OMICRON
368
+ _foreignuplow( Π, π, 1234, d) GREEK LETTER PI
369
+ _foreignuplow( Ρ, ρ, 1235, d) GREEK LETTER RHO
370
+ _foreignuplow( Σ, σ, 234, d) GREEK LETTER SIGMA
371
+ _foreignlower( ς, 234, ad) GREEK LETTER FINAL SIGMA
372
+ _foreignuplow( Τ, τ, 2345, d) GREEK LETTER TAU
373
+ _foreignuplow( Υ, υ, 136, d) GREEK LETTER UPSILON
374
+ _foreignuplow( Φ, φ, 124, d) GREEK LETTER PHI
375
+ _foreignlower( ϕ, 124, ad) GREEK PHI SYMBOL
376
+ _foreignuplow( Ψ, ψ, 13456, d) GREEK LETTER PSI
377
+ _foreignuplow( Ω, ω, 2456, d) GREEK LETTER OMEGA
378
+ _foreignuplow( Η, η, 156, d) GREEK LETTER ETA
379
+ _foreignuplow( Θ, θ, 1456, d) GREEK LETTER THETA
380
+ _foreignuplow( Χ, χ, 12346, d) GREEK LETTER CHI
381
+
382
+ # Other alphabets
383
+
384
+ attribute foreign Ññ # ñ defined in nl-chardefs.uti
385
+
386
+ _foreignuplow( Ł, ł, 126, b)
387
+ _foreignuplow( Ź, ź, 2346, b)
388
+
389
+ # Unicode braille patterns
390
+
391
+ noback sign \x2800 e ⠀
392
+ _unibrl( \x2801, 1) ⠁
393
+ _unibrl( \x2802, 2) ⠂
394
+ _unibrl( \x2803, 12) ⠃
395
+ _unibrl( \x2804, 3) ⠄
396
+ _unibrl( \x2805, 13) ⠅
397
+ _unibrl( \x2806, 23) ⠆
398
+ _unibrl( \x2807, 123) ⠇
399
+ _unibrl( \x2808, 4) ⠈
400
+ _unibrl( \x2809, 14) ⠉
401
+ _unibrl( \x280A, 24) ⠊
402
+ _unibrl( \x280B, 124) ⠋
403
+ _unibrl( \x280C, 34) ⠌
404
+ _unibrl( \x280D, 134) ⠍
405
+ _unibrl( \x280E, 234) ⠎
406
+ _unibrl( \x280F, 1234) ⠏
407
+ _unibrl( \x2810, 5) ⠐
408
+ _unibrl( \x2811, 15) ⠑
409
+ _unibrl( \x2812, 25) ⠒
410
+ _unibrl( \x2813, 125) ⠓
411
+ _unibrl( \x2814, 35) ⠔
412
+ _unibrl( \x2815, 135) ⠕
413
+ _unibrl( \x2816, 235) ⠖
414
+ _unibrl( \x2817, 1235) ⠗
415
+ _unibrl( \x2818, 45) ⠘
416
+ _unibrl( \x2819, 145) ⠙
417
+ _unibrl( \x281A, 245) ⠚
418
+ _unibrl( \x281B, 1245) ⠛
419
+ _unibrl( \x281C, 345) ⠜
420
+ _unibrl( \x281D, 1345) ⠝
421
+ _unibrl( \x281E, 2345) ⠞
422
+ _unibrl( \x281F, 12345) ⠟
423
+ _unibrl( \x2820, 6) ⠠
424
+ _unibrl( \x2821, 16) ⠡
425
+ _unibrl( \x2822, 26) ⠢
426
+ _unibrl( \x2823, 126) ⠣
427
+ _unibrl( \x2824, 36) ⠤
428
+ _unibrl( \x2825, 136) ⠥
429
+ _unibrl( \x2826, 236) ⠦
430
+ _unibrl( \x2827, 1236) ⠧
431
+ sign \x2828 46e ⠨
432
+ _unibrl( \x2829, 146) ⠩
433
+ _unibrl( \x282A, 246) ⠪
434
+ _unibrl( \x282B, 1246) ⠫
435
+ _unibrl( \x282C, 346) ⠬
436
+ _unibrl( \x282D, 1346) ⠭
437
+ _unibrl( \x282E, 2346) ⠮
438
+ _unibrl( \x282F, 12346) ⠯
439
+ _unibrl( \x2830, 56) ⠰
440
+ _unibrl( \x2831, 156) ⠱
441
+ _unibrl( \x2832, 256) ⠲
442
+ _unibrl( \x2833, 1256) ⠳
443
+ _unibrl( \x2834, 356) ⠴
444
+ _unibrl( \x2835, 1356) ⠵
445
+ _unibrl( \x2836, 2356) ⠶
446
+ _unibrl( \x2837, 12356) ⠷
447
+ _unibrl( \x2838, 456) ⠸
448
+ _unibrl( \x2839, 1456) ⠹
449
+ _unibrl( \x283A, 2456) ⠺
450
+ _unibrl( \x283B, 12456) ⠻
451
+ sign \x283C 3456e ⠼
452
+ _unibrl( \x283D, 13456) ⠽
453
+ _unibrl( \x283E, 23456) ⠾
454
+ _unibrl( \x283F, 123456) ⠿
455
+ _unibrl( \x2840, 7) ⡀
456
+ _unibrl( \x2841, 17) ⡁
457
+ _unibrl( \x2842, 27) ⡂
458
+ _unibrl( \x2843, 127) ⡃
459
+ _unibrl( \x2844, 37) ⡄
460
+ _unibrl( \x2845, 137) ⡅
461
+ _unibrl( \x2846, 237) ⡆
462
+ _unibrl( \x2847, 1237) ⡇
463
+ _unibrl( \x2848, 47) ⡈
464
+ _unibrl( \x2849, 147) ⡉
465
+ _unibrl( \x284A, 247) ⡊
466
+ _unibrl( \x284B, 1247) ⡋
467
+ _unibrl( \x284C, 347) ⡌
468
+ _unibrl( \x284D, 1347) ⡍
469
+ _unibrl( \x284E, 2347) ⡎
470
+ _unibrl( \x284F, 12347) ⡏
471
+ _unibrl( \x2850, 57) ⡐
472
+ _unibrl( \x2851, 157) ⡑
473
+ _unibrl( \x2852, 257) ⡒
474
+ _unibrl( \x2853, 1257) ⡓
475
+ _unibrl( \x2854, 357) ⡔
476
+ _unibrl( \x2855, 1357) ⡕
477
+ _unibrl( \x2856, 2357) ⡖
478
+ _unibrl( \x2857, 12357) ⡗
479
+ _unibrl( \x2858, 457) ⡘
480
+ _unibrl( \x2859, 1457) ⡙
481
+ _unibrl( \x285A, 2457) ⡚
482
+ _unibrl( \x285B, 12457) ⡛
483
+ _unibrl( \x285C, 3457) ⡜
484
+ _unibrl( \x285D, 13457) ⡝
485
+ _unibrl( \x285E, 23457) ⡞
486
+ _unibrl( \x285F, 123457) ⡟
487
+ _unibrl( \x2860, 67) ⡠
488
+ _unibrl( \x2861, 167) ⡡
489
+ _unibrl( \x2862, 267) ⡢
490
+ _unibrl( \x2863, 1267) ⡣
491
+ _unibrl( \x2864, 367) ⡤
492
+ _unibrl( \x2865, 1367) ⡥
493
+ _unibrl( \x2866, 2367) ⡦
494
+ _unibrl( \x2867, 12367) ⡧
495
+ _unibrl( \x2868, 467) ⡨
496
+ _unibrl( \x2869, 1467) ⡩
497
+ _unibrl( \x286A, 2467) ⡪
498
+ _unibrl( \x286B, 12467) ⡫
499
+ _unibrl( \x286C, 3467) ⡬
500
+ _unibrl( \x286D, 13467) ⡭
501
+ _unibrl( \x286E, 23467) ⡮
502
+ _unibrl( \x286F, 123467) ⡯
503
+ _unibrl( \x2870, 567) ⡰
504
+ _unibrl( \x2871, 1567) ⡱
505
+ _unibrl( \x2872, 2567) ⡲
506
+ _unibrl( \x2873, 12567) ⡳
507
+ _unibrl( \x2874, 3567) ⡴
508
+ _unibrl( \x2875, 13567) ⡵
509
+ _unibrl( \x2876, 23567) ⡶
510
+ _unibrl( \x2877, 123567) ⡷
511
+ _unibrl( \x2878, 4567) ⡸
512
+ _unibrl( \x2879, 14567) ⡹
513
+ _unibrl( \x287A, 24567) ⡺
514
+ _unibrl( \x287B, 124567) ⡻
515
+ _unibrl( \x287C, 34567) ⡼
516
+ _unibrl( \x287D, 134567) ⡽
517
+ _unibrl( \x287E, 234567) ⡾
518
+ _unibrl( \x287F, 1234567) ⡿
519
+ _unibrl( \x2880, 8) ⢀
520
+ _unibrl( \x2881, 18) ⢁
521
+ _unibrl( \x2882, 28) ⢂
522
+ _unibrl( \x2883, 128) ⢃
523
+ _unibrl( \x2884, 38) ⢄
524
+ _unibrl( \x2885, 138) ⢅
525
+ _unibrl( \x2886, 238) ⢆
526
+ _unibrl( \x2887, 1238) ⢇
527
+ _unibrl( \x2888, 48) ⢈
528
+ _unibrl( \x2889, 148) ⢉
529
+ _unibrl( \x288A, 248) ⢊
530
+ _unibrl( \x288B, 1248) ⢋
531
+ _unibrl( \x288C, 348) ⢌
532
+ _unibrl( \x288D, 1348) ⢍
533
+ _unibrl( \x288E, 2348) ⢎
534
+ _unibrl( \x288F, 12348) ⢏
535
+ _unibrl( \x2890, 58) ⢐
536
+ _unibrl( \x2891, 158) ⢑
537
+ _unibrl( \x2892, 258) ⢒
538
+ _unibrl( \x2893, 1258) ⢓
539
+ _unibrl( \x2894, 358) ⢔
540
+ _unibrl( \x2895, 1358) ⢕
541
+ _unibrl( \x2896, 2358) ⢖
542
+ _unibrl( \x2897, 12358) ⢗
543
+ _unibrl( \x2898, 458) ⢘
544
+ _unibrl( \x2899, 1458) ⢙
545
+ _unibrl( \x289A, 2458) ⢚
546
+ _unibrl( \x289B, 12458) ⢛
547
+ _unibrl( \x289C, 3458) ⢜
548
+ _unibrl( \x289D, 13458) ⢝
549
+ _unibrl( \x289E, 23458) ⢞
550
+ _unibrl( \x289F, 123458) ⢟
551
+ _unibrl( \x28A0, 68) ⢠
552
+ _unibrl( \x28A1, 168) ⢡
553
+ _unibrl( \x28A2, 268) ⢢
554
+ _unibrl( \x28A3, 1268) ⢣
555
+ _unibrl( \x28A4, 368) ⢤
556
+ _unibrl( \x28A5, 1368) ⢥
557
+ _unibrl( \x28A6, 2368) ⢦
558
+ _unibrl( \x28A7, 12368) ⢧
559
+ _unibrl( \x28A8, 468) ⢨
560
+ _unibrl( \x28A9, 1468) ⢩
561
+ _unibrl( \x28AA, 2468) ⢪
562
+ _unibrl( \x28AB, 12468) ⢫
563
+ _unibrl( \x28AC, 3468) ⢬
564
+ _unibrl( \x28AD, 13468) ⢭
565
+ _unibrl( \x28AE, 23468) ⢮
566
+ _unibrl( \x28AF, 123468) ⢯
567
+ _unibrl( \x28B0, 568) ⢰
568
+ _unibrl( \x28B1, 1568) ⢱
569
+ _unibrl( \x28B2, 2568) ⢲
570
+ _unibrl( \x28B3, 12568) ⢳
571
+ _unibrl( \x28B4, 3568) ⢴
572
+ _unibrl( \x28B5, 13568) ⢵
573
+ _unibrl( \x28B6, 23568) ⢶
574
+ _unibrl( \x28B7, 123568) ⢷
575
+ _unibrl( \x28B8, 4568) ⢸
576
+ _unibrl( \x28B9, 14568) ⢹
577
+ _unibrl( \x28BA, 24568) ⢺
578
+ _unibrl( \x28BB, 124568) ⢻
579
+ _unibrl( \x28BC, 34568) ⢼
580
+ _unibrl( \x28BD, 134568) ⢽
581
+ _unibrl( \x28BE, 234568) ⢾
582
+ _unibrl( \x28BF, 1234568) ⢿
583
+ _unibrl( \x28C0, 78) ⣀
584
+ _unibrl( \x28C1, 178) ⣁
585
+ _unibrl( \x28C2, 278) ⣂
586
+ _unibrl( \x28C3, 1278) ⣃
587
+ _unibrl( \x28C4, 378) ⣄
588
+ _unibrl( \x28C5, 1378) ⣅
589
+ _unibrl( \x28C6, 2378) ⣆
590
+ _unibrl( \x28C7, 12378) ⣇
591
+ _unibrl( \x28C8, 478) ⣈
592
+ _unibrl( \x28C9, 1478) ⣉
593
+ _unibrl( \x28CA, 2478) ⣊
594
+ _unibrl( \x28CB, 12478) ⣋
595
+ _unibrl( \x28CC, 3478) ⣌
596
+ _unibrl( \x28CD, 13478) ⣍
597
+ _unibrl( \x28CE, 23478) ⣎
598
+ _unibrl( \x28CF, 123478) ⣏
599
+ _unibrl( \x28D0, 578) ⣐
600
+ _unibrl( \x28D1, 1578) ⣑
601
+ _unibrl( \x28D2, 2578) ⣒
602
+ _unibrl( \x28D3, 12578) ⣓
603
+ _unibrl( \x28D4, 3578) ⣔
604
+ _unibrl( \x28D5, 13578) ⣕
605
+ _unibrl( \x28D6, 23578) ⣖
606
+ _unibrl( \x28D7, 123578) ⣗
607
+ _unibrl( \x28D8, 4578) ⣘
608
+ _unibrl( \x28D9, 14578) ⣙
609
+ _unibrl( \x28DA, 24578) ⣚
610
+ _unibrl( \x28DB, 124578) ⣛
611
+ _unibrl( \x28DC, 34578) ⣜
612
+ _unibrl( \x28DD, 134578) ⣝
613
+ _unibrl( \x28DE, 234578) ⣞
614
+ _unibrl( \x28DF, 1234578) ⣟
615
+ _unibrl( \x28E0, 678) ⣠
616
+ _unibrl( \x28E1, 1678) ⣡
617
+ _unibrl( \x28E2, 2678) ⣢
618
+ _unibrl( \x28E3, 12678) ⣣
619
+ _unibrl( \x28E4, 3678) ⣤
620
+ _unibrl( \x28E5, 13678) ⣥
621
+ _unibrl( \x28E6, 23678) ⣦
622
+ _unibrl( \x28E7, 123678) ⣧
623
+ _unibrl( \x28E8, 4678) ⣨
624
+ _unibrl( \x28E9, 14678) ⣩
625
+ _unibrl( \x28EA, 24678) ⣪
626
+ _unibrl( \x28EB, 124678) ⣫
627
+ _unibrl( \x28EC, 34678) ⣬
628
+ _unibrl( \x28ED, 134678) ⣭
629
+ _unibrl( \x28EE, 234678) ⣮
630
+ _unibrl( \x28EF, 1234678) ⣯
631
+ _unibrl( \x28F0, 5678) ⣰
632
+ _unibrl( \x28F1, 15678) ⣱
633
+ _unibrl( \x28F2, 25678) ⣲
634
+ _unibrl( \x28F3, 125678) ⣳
635
+ _unibrl( \x28F4, 35678) ⣴
636
+ _unibrl( \x28F5, 135678) ⣵
637
+ _unibrl( \x28F6, 235678) ⣶
638
+ _unibrl( \x28F7, 1235678) ⣷
639
+ _unibrl( \x28F8, 45678) ⣸
640
+ _unibrl( \x28F9, 145678) ⣹
641
+ _unibrl( \x28FA, 245678) ⣺
642
+ _unibrl( \x28FB, 1245678) ⣻
643
+ _unibrl( \x28FC, 345678) ⣼
644
+ _unibrl( \x28FD, 1345678) ⣽
645
+ _unibrl( \x28FE, 2345678) ⣾
646
+ _unibrl( \x28FF, 12345678) ⣿