blob: 195e751a8cc43969563cc5560c4c5aab75165cec [file] [log] [blame]
Christian Egli13c5d032012-05-31 21:21:01 +00001liblouis NEWS -- history of user-visible changes. -*- org -*-
Christian Egli7fbd3c42009-01-15 22:45:46 +00002
Christian Egliadef2522022-12-05 16:39:48 +01003* Noteworthy changes in release 3.25.0 (2023-03-06)
4I'd like to thank everybody for helping to bring liblouis forward.
5
6For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/35?closed=1][the list of closed
7issues]].
8
9** New features
10** Bug fixes
Christian Eglif432de32023-02-08 11:18:27 +010011- Fix a buffer overflow error in ~lou_setDataPath~. Thanks Marsman1996
12 for reporting and Christian Egli for fixing it.
Christian Egliadef2522022-12-05 16:39:48 +010013** Braille table improvements
14** Other changes
15** Deprecation notice
16- None
17** Backwards incompatible changes
18** Invisible changes
19** New, renamed or removed tables
20*** New
21None
22
23*** Renamed
24None
25
26*** Removed
27None
28
Christian Eglib01564c2022-11-23 08:57:47 +010029* Noteworthy changes in release 3.24.0 (2022-12-05)
Christian Eglif628d162022-12-05 16:04:29 +010030This release contains major updates to Hungarian, UEB, and Chinese
31bopomofo braille. Danish has been completely reworked and there is now
32support for the Danish braille standard 2022. There are also some new
33tables so that liblouis can now generate Georgian computer braille,
34Swahili (Kenya) and Chichewa (Malawi). Aside from that there is the
35usual assortment of code cleanups and bug fixes.
36
Christian Eglib01564c2022-11-23 08:57:47 +010037I'd like to thank everybody for helping to bring liblouis forward.
38
39For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/34?closed=1][the list of closed
40issues]].
41
Bert Frees435a9ac2022-11-21 12:13:09 +010042** Braille table improvements
Bert Freese2d7da02022-11-30 19:01:52 +010043- New grade 1, 1.2, 1.3, 1.4, 1.5 and 2 tables for Swahili (Kenya) and
44 grade 1 table for Chichewa (Malawi) thanks to Jake Kyle, Dipendra
45 Manocha and Martin Kieti.
Christian Egli31c87242022-12-01 11:27:11 +010046- Improvements to Hungarian thanks to Attila Hammer.
Bert Frees280f9302022-11-30 19:17:19 +010047- Update braille patterns of some Chinese characters and phrases in
48 the Chinese bopomofo braille table thanks to Bo-Cheng Jhan.
Bert Frees558c8722022-11-30 21:00:56 +010049- Add experimental Georgian computer braille table thanks to Harris
50 Mowbray and Mariam Mikiashvili.
Bert Freesda3b5f12022-12-05 13:55:12 +010051- Updated the Danish tables to the new 2022 Danish braille standard
52 thanks to Bue Vester-Andersen.
53 - Limited contraction level (grade 2l or 1.5) is no longer part of
54 the Danish braille standard 2022.
55 - There is no longer any need for "literary" tables. In Danish
56 braille, capital letters are now always indicated, and steps have
57 been taken in the standard to ensure better back-translation.
Bue Vester-Andersen90b4fff2021-12-27 22:31:19 +010058 - As requested by The Danish Braille Committee, the tables for the
Bert Freesda3b5f12022-12-05 13:55:12 +010059 1993 standard will be kept as an option for at least a year. All
60 the 1993 tables have been renamed to include "_1993" in the
61 filename, so the new tables will be used as default.
Christian Eglida06b462022-12-01 11:16:26 +010062- Improvements to UEB thanks to James Bowden.
63 - Add new sign for German sharp S (ICEB July 2022)
64 - Fix a couple of acronyms which require grade 1 indicator (LLB, LLP)
65 - Fix placement of numeral sign in letters comma digits
66 - Review rules for "under" and "there" contractions
Christian Eglib01564c2022-11-23 08:57:47 +010067** Deprecation notice
68- None
69** Backwards incompatible changes
Christian Eglif628d162022-12-05 16:04:29 +010070- None
Bert Frees435a9ac2022-11-21 12:13:09 +010071** New, renamed or removed tables
72*** New
73- sw-ke-g1-2.ctb
Christian Eglib01564c2022-11-23 08:57:47 +010074- sw-ke-g1-3.ctb
75- sw-ke-g1-4.ctb
76- sw-ke-g1-5.ctb
77- sw-ke-g1.utb
78- sw-ke-g2.ctb
Bert Frees558c8722022-11-30 21:00:56 +010079- ka.utb
Bert Freese2d7da02022-11-30 19:01:52 +010080- ny-mw.utb
Bert Freesda3b5f12022-12-05 13:55:12 +010081- The following files now all refer to the corresponding tables for
82 Danish braille 2022:
83 - da-dk-g08.ctb
84 - da-dk-g16.ctb
85 - da-dk-g18.ctb
86 - da-dk-g26.ctb
87 - da-dk-g28.ctb
88 - da-dk-octobraille.dis
Bert Frees435a9ac2022-11-21 12:13:09 +010089*** Renamed
Bert Freesda3b5f12022-12-05 13:55:12 +010090- The old Danish tables for the now deprecated 1993 standard have been
91 renamed to include "1993" in the filename:
92 - da-dk-g08.ctb -> da-dk-g08_1993.ctb
93 - da-dk-g16.ctb -> da-dk-g16_1993.ctb
94 - da-dk-g16-lit.ctb -> da-dk-g16-lit_1993.ctb
95 - da-dk-g18.ctb -> da-dk-g18_1993.ctb
96 - da-dk-g26.ctb -> da-dk-g26_1993.ctb
97 - da-dk-g26-lit.ctb -> da-dk-g26-lit_1993.ctb
98 - da-dk-g26l.ctb -> da-dk-g26l_1993.ctb
99 - da-dk-g26l-lit.ctb -> da-dk-g26l-lit_1993.ctb
100 - da-dk-g28.ctb -> da-dk-g28_1993.ctb
101 - da-dk-g28l.ctb -> da-dk-g28l_1993.ctb
102 - da-dk-octobraille.dis -> da-dk-octobraille_1993.dis
Bert Frees435a9ac2022-11-21 12:13:09 +0100103*** Removed
104None
105
Christian Eglieb9d15b2022-08-12 16:19:38 +0200106* Noteworthy changes in release 3.23.0 (2022-09-05)
Christian Egli0ccce962022-09-05 13:43:54 +0200107This release contains significant updates to many existing braille
108tables (Chinese bopomofo, Hungarian, Japanese, Russian, Swedish, UEB
109grade 2 Ukrainian). On top of that it also contains new tables for
110/Chinese Common Braille Scheme/, Kinyarwanda and Luganda thanks to
111Cary-Rowen and Jake Kyle. Behind the scenes Samuel Thibault has been
112working tirelessly to fix memory related bugs.
113
Christian Eglieb9d15b2022-08-12 16:19:38 +0200114I'd like to thank everybody for helping to bring liblouis forward.
115
116For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/33?closed=1][the list of closed
117issues]].
118
119** New features
Christian Egliec6ef312022-09-05 11:41:59 +0200120- None
Christian Eglieb9d15b2022-08-12 16:19:38 +0200121** Bug fixes
Christian Egliec6ef312022-09-05 11:41:59 +0200122- Fix a problem in the parsing of faulty unbalanced context
123 expressions. Thanks to Samuel Thibault.
124- Fix a buffer overflow problem when ~output.length~ is larger than
125 ~input.length~. Thanks to Samuel Thibault.
126- Fix an endless loop in the handling of computer braille. Thanks to
127 Bert Frees.
Christian Eglieb9d15b2022-08-12 16:19:38 +0200128** Braille table improvements
Christian Eglic93229a2022-08-12 16:25:36 +0200129- Remove computer braille from Japanese Kantenji as it is not part of
130 the standard. Thanks to Kensaku Yoza.
Bert Frees04f2f0f2022-08-24 17:22:03 +0200131- Bring Swedish tables up to date with the latest standard published
132 by Punktskriftsnämnden (the Swedish Braille Authority) in 2009. The
133 table for uncontracted braille was replaced and new tables for
134 (partially and fully) contracted braille have been added. Thanks to
Christian Egliec6ef312022-09-05 11:41:59 +0200135 David Renström from Insyn Scandinavia AB.
136- Improvements to Hungarian (added more exceptions) and migration to
137 the ~nonumsign~ opcode thanks to Attila Hammer.
138- Fixed a bug in the Ukrainian table that led to wrong translation of
139 some uppercase letters. Thanks to Andrey Yakuboy and Bert Frees.
140- Augment the UEB grade 2 tables to resolve an ambiguity between lower
141 groupsigns and punctuation at the beginning of words by placing a letter
142 sign at the front of punctuation. This resolves an ambiguity between, for
143 example, "discount" and ".count". Thanks to Krzysztof Drewniak.
144- Add a new table for /Chinese Common Braille Scheme/ which is a type
145 of braille used for spelling Mandarin Chinese. It is a variant of
146 the /Chinese Current Braille System/ but has more perfect marking
147 rules and produces less ambiguity than the latter. For more
148 information see the comments in ~zhcn-cbs.ctb~. Thanks to Cary-Rowen
149 and Frank.
150- Updates to the Chinese bopomofo braille table thanks to Bo-Cheng
151 Jhan:
152 - Update braille patterns of some Chinese characters and phrases
153 - Add braille patterns for various Greek symbols
154 - Add "Math rules" section and the mixed number rule
155 - Add braille patterns for ☐ (⣏⣀⣹), ☑ (⣏⣿⣹), and ☒ (⣏⣭⣹)
156- New table for Kinyarwanda braille thanks to Jake Kyle from Compass
157 Braille.
158- New table for Luganda braille thanks to Jake Kyle from Compass
159 Braille.
160- Improvements to the Russian contracted braille table
161 thanks to Andrey Yakuboy:
162 - Now prefixes "из" and "без" are correctly contracted
163 before hard sign (ъ).
164 - Fixed a contraction for word "кое-где", now it is contracted
165 according to rules.
166 - Other minor fixes and improvements.
Christian Egli0ccce962022-09-05 13:43:54 +0200167** Other changes
Christian Egliec6ef312022-09-05 11:41:59 +0200168- None
Christian Eglieb9d15b2022-08-12 16:19:38 +0200169** Deprecation notice
170- None
171** Backwards incompatible changes
Christian Egliec6ef312022-09-05 11:41:59 +0200172- None
Christian Eglieb9d15b2022-08-12 16:19:38 +0200173** Invisible changes
Christian Egliec6ef312022-09-05 11:41:59 +0200174- None
Christian Eglieb9d15b2022-08-12 16:19:38 +0200175** New, renamed or removed tables
176*** New
Christian Egliec6ef312022-09-05 11:41:59 +0200177- zhcn-cbs.ctb
178- lg-ug-g1.utb
179- rw-rw-g1.utb
Bert Frees04f2f0f2022-08-24 17:22:03 +0200180- sv-g0.utb
181- sv-g1.ctb
182- sv-g2.ctb
Christian Eglieb9d15b2022-08-12 16:19:38 +0200183*** Renamed
184None
Christian Eglieb9d15b2022-08-12 16:19:38 +0200185*** Removed
Bert Frees04f2f0f2022-08-24 17:22:03 +0200186- Se-Se-g1.utb
Christian Eglieb9d15b2022-08-12 16:19:38 +0200187
Christian Egli4b873cf2022-03-08 10:21:49 +0100188* Noteworthy changes in release 3.22.0 (2022-06-06)
Christian Eglid11108b2022-06-07 10:44:07 +0200189This is a major release. On the Braille tables side there is a new
190table for German grade 2 with capitalization and there are updates to
191the Dutch, German Hungarian, Punjabi, Russian, UK Braille Computer
192Notation and Slovak tables. Christian added a new opcode to indicate
193the end of a number where the number doesn't end at a space character.
194Last but not least Samuel, Martin and Han have put a lot of work into
195checking for and fixing memory problems.
Christian Egli4b873cf2022-03-08 10:21:49 +0100196
197I'd like to thank everybody for helping to bring liblouis forward.
198
199For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/32?closed=1][the list of closed
200issues]].
201
202** New features
Christian Eglid11108b2022-06-07 10:44:07 +0200203- Add a new opcode ~nonumsign~ that helps with indicating the end of a
204 number when it doesn't occur at the end at the end of a word such as
205 '123abc' for example. For more details see the documentation. Thanks
206 to Christian Egli.
Christian Egli4b873cf2022-03-08 10:21:49 +0100207** Bug fixes
Christian Eglia40c1292022-05-30 09:10:34 +0200208- Prevent a memory overflow in ~compilePassOpcode~ thanks to Martin
209 Gieseking. This was reported in [[https://github.com/advisories/GHSA-xrp8-mw8v-p6mq][CVE-2022-26981]] and should now be
210 fixed.
Christian Eglic18b54a2022-05-30 10:28:03 +0200211- Prevent processing of characters beyond the string end in
212 ~parseChars~ thanks to Martin Gieseking.
Christian Eglif4b3fdb2022-05-30 09:26:53 +0200213- Prevent an invalid memory writes in ~compileRule~. Thanks to Han
214 Zheng for reporting it and to Christian Egli for fixing it.
Christian Egli4b873cf2022-03-08 10:21:49 +0100215** Braille table improvements
Christian Eglid11108b2022-06-07 10:44:07 +0200216- Improvements to German braille:
217 - Improve handling of single letters in grade 2 thanks to Mischa
218 Künzle.
219 - Improve handling of emphasis thanks to Bert Frees.
220 - Add a table for grade 2 /with capitalization/ thanks to Christian
221 Egli.
Christian Egli7f015eb2022-04-05 09:54:50 +0200222- Fix a problem with Ñ in Dutch braille thanks to Paul Rambags
Christian Eglid11108b2022-06-07 10:44:07 +0200223- Updated Slovak Braille table to be inline with the 2021 Slovak
Bert Frees3c56cc22022-05-26 13:50:41 +0200224 braille usage guidelines.
Christian Egli5f84b422022-05-30 08:54:58 +0200225- Fixed a problem with the '+' symbol in UK Braille Computer Notation
226 thanks to Mario Arias.
Christian Eglid11108b2022-06-07 10:44:07 +0200227- Major improvements to the Hungarian braille tables thanks to Attila
228 Hammer.
Bert Freesd7a313c2022-05-30 12:33:56 +0200229- Make Punjabi table to behave the same as Duxbury in forward
230 translation and more reliably than Duxbury in back
231 translation. Thanks to Jake Kyle.
Andrey Yakuboy78996e42022-06-01 14:04:07 +0300232- Improvements to the Russian and other Cyrillic tables thanks to
233 Andrey Yakuboy:
Christian Eglid11108b2022-06-07 10:44:07 +0200234 - Now all Russian based tables return braille Unicode braille by
Andrey Yakuboy78996e42022-06-01 14:04:07 +0300235 default when forward translating, no need to include
Christian Eglid11108b2022-06-07 10:44:07 +0200236 ~ru-unicode.dis~ manually.
Andrey Yakuboy78996e42022-06-01 14:04:07 +0300237 - French letters (æ, ë and ï) have been added to the Russian
238 literary braille table.
Christian Egli4b873cf2022-03-08 10:21:49 +0100239** Other changes
Christian Eglicc080f22022-04-05 10:01:35 +0200240- Integrate sanitizer tests in the CI pipeline and fix a large number
Christian Eglid11108b2022-06-07 10:44:07 +0200241 of memory problems (leaks, overflow and undefined behavior) thanks
Christian Eglicc080f22022-04-05 10:01:35 +0200242 to Samuel Thibault.
Christian Egli66946b32022-05-30 10:16:38 +0200243- Removed the "experimental" label from the functions ~lou_indexTables~,
Christian Eglic18b54a2022-05-30 10:28:03 +0200244 ~lou_findTable~, ~lou_findTables~, ~lou_getTableInfo~ and
245 ~lou_listTables~ (the meta data query API).
Christian Eglid11108b2022-06-07 10:44:07 +0200246- Fix a build problem when using Clang 11 on macOS thanks to Robert
Christian Egli18332e72022-05-30 09:37:59 +0200247 Scott.
Christian Egli4b873cf2022-03-08 10:21:49 +0100248** Deprecation notice
249- None
250** Backwards incompatible changes
251- None
252** Invisible changes
253** New, renamed or removed tables
254*** New
Christian Eglid8f4f442022-05-31 14:42:35 +0200255- de-g2-detailed.ctb
Christian Egli4b873cf2022-03-08 10:21:49 +0100256*** Renamed
257- None
258*** Removed
259- None
260
Christian Egli976d5a72021-12-07 09:21:38 +0100261* Noteworthy changes in release 3.21.0 (2022-03-07)
Christian Egli08dd6a82022-03-07 17:11:20 +0100262This release sees major updates for Hungarian and German. The Swiss
263Library for the Blind, Visually Impaired and Print Disabled has agreed
264to upstream their tables and Attila Hammer has adapted Hungarian to
265the latest standard. A bug in numeric mode was fixed which should it
266make more useful for languages other than UEB. Finally there are
267fixes for Norwegian and Danish.
Christian Egli976d5a72021-12-07 09:21:38 +0100268
269I'd like to thank everybody for helping to bring liblouis forward.
270
271For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/31?closed=1][the list of closed
272issues]].
273
274** New features
Christian Eglia3c09822022-03-04 15:43:08 +0100275- New table for German 6-dot computer braille thanks to the Swiss
276 Library for the Blind, Visually Impaired and Print Disabled
Christian Egli976d5a72021-12-07 09:21:38 +0100277** Bug fixes
Christian Egli3ccb6ef2022-02-18 10:11:29 +0100278- When numeric mode was enabled, i.e. when a table contains any of the
279 ~numericmodechars~, ~midnumericmodechars~ or ~numericnocontchars~
280 opcodes, contraction was automatically disabled. This is required
281 for UEB but not necessarily so for other braille systems (as
282 mentioned in [[https://github.com/liblouis/liblouis/issues/615][issue 615]]). This has now been changed so that
283 contraction is only disabled if the ~nocontractsign~ has been
284 defined. Thanks to Christian Egli.
Christian Egli976d5a72021-12-07 09:21:38 +0100285** Braille table improvements
Christian Egli10e543e2022-01-18 16:36:54 +0100286- Fixed emphasis, section sign and dash between numbers in Danish
287 tables thanks to Bue Vester-Andersen.
288- Correct latin small letter sharp s in Norwegian thanks to Lars
289 Bjørndal and Dawn Renouf Bjørneby.
Christian Egli750fb842022-03-07 13:07:07 +0100290- Major improvements to German Braille thanks to the Swiss Library for
291 the Blind, Visually Impaired and Print Disabled
292 - Improvements to emphasis handling in German tables and greatly
293 extended test coverage.
Christian Eglia00eaec2022-03-07 17:11:09 +0100294 - All the improvements from the tables formerly known as bidi tables
295 were merged in the main tables and are now used by both tables.
296 The bidi tables have been renamed to "detailed". Essentially the
297 detailed tables provide capitalized Braille which helps with the
298 back-translation.
Christian Egli750fb842022-03-07 13:07:07 +0100299 - Upstream all improvements from the ~sbs-braille-tables~.
Attila Hammerb0654602021-05-25 14:50:26 +0200300- Improvements to the Hungarian tables thanks to Attila Hammer.
301 - Improved back-translation, notably of words containing special
302 consonants like "szsz" or "ssz".
303 - Extended the Hungarian grade 1 "braille input" (back-translation
304 aided by special extra dot patterns).
305 - Implemented latest update to the Hungarian braille standard (for
306 example the characters "\" and "|" were changed).
Christian Egli976d5a72021-12-07 09:21:38 +0100307** Other changes
Christian Egli06f335a2022-01-07 11:10:54 +0100308- Make ~autogen.sh~ work on MacOS, thanks to Ken Perry
Christian Egli976d5a72021-12-07 09:21:38 +0100309** Deprecation notice
310- None
311** Backwards incompatible changes
312** Invisible changes
313** New, renamed or removed tables
314*** New
Christian Eglia3c09822022-03-04 15:43:08 +0100315- de-comp6.utb
Christian Egli976d5a72021-12-07 09:21:38 +0100316
317*** Renamed
Christian Eglia00eaec2022-03-07 17:11:09 +0100318- de-g0-bidi.utb -> de-g0-detailed.utb
319- de-g1-bidi.ctb -> de-g1-detailed.ctb
Christian Egli976d5a72021-12-07 09:21:38 +0100320
321*** Removed
322None
323
Christian Egliec6ef312022-09-05 11:41:59 +0200324* Noteworthy changes in release 3.20.0 (2021-12-06)
Christian Eglid6847892021-12-06 16:55:51 +0100325This is a major release. Not only in terms of table additions and
326updates but also in the way the tables are written. Bert has replaced
327the ~uplow~ opcode with a more generalized ~base~ opcode. This clears
328up the path for a more generalized handling of emphasis and uppercase
329characters. In the course of this simplification some bugs with
330computer braille were discovered and fixed.
331
332On the Braille tables side there is a brand new table for braille
333kanji and there are major updates to the Polish, Chinese, Russian
334literary and the UEB tables.
335
Christian Eglib21c56d2021-11-25 10:48:00 +0100336I'd like to thank everybody for helping to bring liblouis forward.
337
338For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/30?closed=1][the list of closed
339issues]].
340
341** New features
Christian Eglifa4b5882021-12-06 16:28:40 +0100342- There is an experimental new feature that allows a table writer to
343 write table macros. This feature is disabled by default. Macros are
344 a helpful tool for refactoring, however as it stands the feature is
345 not mature and might disappear in future releases.
Christian Egli56cb9772021-12-06 17:15:04 +0100346- Add a new opcode ~base~ that associates a character with another
347 already defined character. Think of it as a generalized form of
348 ~uplow~. A typical use of this opcode is for defining a pair of
349 letters, a lowercase and the corresponding uppercase.
Christian Eglib21c56d2021-11-25 10:48:00 +0100350** Bug fixes
Christian Egli56cb9772021-12-06 17:15:04 +0100351- Fix a problem with the dot 7 capitalization indicator in computer
352 braille thanks to Bert Frees.
Bert Frees17265822021-09-28 11:34:03 +0200353** Braille table improvements
Bert Frees23d8ece2021-11-24 17:20:05 +0100354- New table for Kantenji (or "braille kanji", a Japanese braille
355 system) thanks to Kensaku Y.
Bert Frees17265822021-09-28 11:34:03 +0200356- Improvements to Polish literary braille table thanks to Łukasz
357 Golonka.
358 - use correct representation of indexes for squared, cubed etc.
359 - use correct representation for fractions
360 - change symbol used for underscore from dots 46 to 6
Łukasz Golonka8bcb5c72021-11-02 18:38:55 +0100361 - add U+2212 minus symbol (also to computer braille table)
Christian Egliec6ef312022-09-05 11:41:59 +0200362- Updates to the Chinese bopomofo braille table thanks to Bo-Cheng
363 Jhan.
Christian Egli3aad21c2021-12-01 09:15:39 +0100364 - Complete translation of CJK Radicals Supplement
Christian Egli2fe9ef02021-12-06 17:39:35 +0100365 - Change the default braille pattern of '蛤' to ⠗⠜⠂
Christian Egli3aad21c2021-12-01 09:15:39 +0100366 - Correct the default braille pattern of many Chinese characters
367 - Add various Chinese phrases involving exceptions of braille
368 patterns
Christian Egli2fe9ef02021-12-06 17:39:35 +0100369 - Add a math symbol '◊' (⠫⠓)
Futyn-Maker035412f62021-11-17 13:37:44 +0300370- Improvements to the Russian literary (uncontracted and contracted)
371 braille thanks to Andrey Yakuboy.
Christian Egli2fe9ef02021-12-06 17:39:35 +0100372 - If the dot sign ('.') is after digits at the beginning of a string,
Futyn-Maker035412f62021-11-17 13:37:44 +0300373 the braille dot 6 isn't inserted between the last digit and the
374 dot. This is necessary for items' numbers of numbered lists.
375 - Back translation for French letters has been disabled because of
376 conflicts with punctuations.
377 - Back translation for Latin (mostly English and German) letters has
378 been improved.
379 - The definition of the 7/8 fraction (U+215E) has been fixed.
380 - Placement of spaces around math symbols has been improved
381 according to the Russian braille rules.
Christian Egli2fe9ef02021-12-06 17:39:35 +0100382 - The apostrophe sign ("'") and the right tick sign (u+2019) are
Futyn-Maker035412f62021-11-17 13:37:44 +0300383 displayed correctly if they're in the end of a word (English, for
384 example).
385 - New contractions have been added and minor bugs have been fixed in
386 the Russian contracted braille table.
Futyn-Maker06a2330e2021-11-07 16:32:39 +0300387- New display table (~ru-brf.dis~) has been added. It adds support of
388 Braille ASCII for Russian and other Cyrillic tables. Thanks to
389 Andrey Yakuboy.
Bert Freesd5114302021-12-05 23:28:29 +0100390- Improvements to UEB thanks to James Bowden.
391 - Fixed placement of numeric indicator in letters dot numbers.
392 - Added more mathematical symbols.
393 - Added the four new allowed shortform extension words.
Christian Egli2fe9ef02021-12-06 17:39:35 +0100394 - Improvements to words starting with "dis(h)" and "cross(h)".
Bert Freescb8642f2021-10-20 17:34:40 +0200395- Implement alphabet change indicator in Dutch braille thanks to Bert
396 Frees.
Christian Eglib21c56d2021-11-25 10:48:00 +0100397** Other changes
398** Deprecation notice
399- None
400** Backwards incompatible changes
Christian Eglid6847892021-12-06 16:55:51 +0100401- The ~uplow~ opcode has been removed and replaced with the more
402 general ~base~ opcode.
Christian Eglib21c56d2021-11-25 10:48:00 +0100403** Invisible changes
404** New, renamed or removed tables
405*** New
Futyn-Maker06a2330e2021-11-07 16:32:39 +0300406- ru-brf.dis
Bert Frees68d4f722021-07-15 11:22:19 +0200407- ja-kantenji.utb
408- latinUppercaseComp6.uti
Christian Eglib21c56d2021-11-25 10:48:00 +0100409
410*** Renamed
411None
412
413*** Removed
Futyn-Maker0a3a62962021-11-08 00:42:20 +0300414- ru-ru.dis
Bert Frees68d4f722021-07-15 11:22:19 +0200415- cs-letterDef8Dots.uti
416- ru-chardefs.cti
Bert Freesb0ec9192021-12-06 13:31:53 +0100417- nl-g0.uti
418- nl-BE-g0.utb
Bert Frees23d8ece2021-11-24 17:20:05 +0100419
Christian Eglid21ba862021-06-09 08:28:48 +0200420* Noteworthy changes in release 3.19.0 (2021-09-06)
Christian Egli14d75202021-09-03 10:44:29 +0200421For this release Bert Frees has been hard at work to clean up the code
422base. He fixed a few bugs one of which was causing memory corruption.
423Others have contributed corrections to braille tables or even provided
424new tables. For example there are now tables for Tshivenda and for
425Russian contracted braille.
Christian Eglid21ba862021-06-09 08:28:48 +0200426
427I'd like to thank everybody for helping to bring liblouis forward.
428
429For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/29?closed=1][the list of closed
430issues]].
431
Christian Eglid21ba862021-06-09 08:28:48 +0200432** Bug fixes
Bert Frees1e266662021-07-25 20:59:03 +0200433- Fix a bug in the ~uplow~ opcode thanks to Bert Frees.
Christian Egli14d75202021-09-03 10:44:29 +0200434- Fix a possible crash due to memory corruption thanks to Bert Frees.
Christian Eglid21ba862021-06-09 08:28:48 +0200435** Braille table improvements
Christian Egli4ac19d22021-08-26 17:01:54 +0200436- The Norwegian 6 dots braille tables now correctly handles signs like
Christian Egli14d75202021-09-03 10:44:29 +0200437 section sign ('§' and '§§'), as well as numbersign ('#') before
438 numbers. In addition the letters a with acute, o with tilde, n with
439 long right leg and thorn are redefined. Phrases with capitals only
440 are know handled correctly. All thanks to Lars Bjørndal.
Christian Eglid21ba862021-06-09 08:28:48 +0200441- Fix a problem with 'ç' in Northern Kurdish thank to Imam Kahraman
442 and Christian Egli.
Futyn-Maker05791ee12021-07-22 23:51:34 +0300443- Add support for back translation in Russian literary braille thanks
444 to Andrey Yakuboy.
Futyn-Maker002ead392021-08-31 21:35:26 +0300445- In Russian literary braille, if the letters 'Ё' and 'Й' consist of two code
446 points, they are displayed correctly.
447- Add new Russian contracted (grade 1) table thanks to Andrey Yakuboy and
448 Ekaterina Anisimova.
Bert Frees918a0fe2021-08-24 17:23:38 +0200449- Update to Urdu, mostly to cater for spelling variations found in
450 source text. Thanks to Jake Kyle.
Bert Freesf1622fd2021-08-30 11:23:40 +0200451- New contracted braille table for Tshivenda created by Christo de
452 Klerk at the request and under the auspices of the South African
453 Braille Authority.
Bert Frees4a087232021-08-30 12:07:05 +0200454- Fix in Arabic computer braille table thanks to Ikrami Ahmad:
455 - back-translate 256 to Latin full stop
Bert Frees98c5b5c2021-08-31 18:48:08 +0200456- Fix translation of URLs and file paths in Polish grade 1 table,
457 thanks to Łukasz Golonka.
Christian Eglid21ba862021-06-09 08:28:48 +0200458** Other changes
Christian Egli14d75202021-09-03 10:44:29 +0200459- Fix the build script for Microsoft ~nmake~ thanks to Leonard de
Christian Egli37181662021-08-18 08:21:59 +0200460 Ruijter.
Christian Eglid21ba862021-06-09 08:28:48 +0200461** Deprecation notice
462- None
463** Backwards incompatible changes
Christian Egli14d75202021-09-03 10:44:29 +0200464- None
Christian Eglid21ba862021-06-09 08:28:48 +0200465** Invisible changes
Christian Egli14d75202021-09-03 10:44:29 +0200466- Major refactoring of ~compileTranslationTable.c~ thanks to Bert
467 Frees. Thanks to these changes a few bugs were found and fixed in
468 the code and a few tables.
Christian Eglid21ba862021-06-09 08:28:48 +0200469** New, renamed or removed tables
470*** New
Futyn-Maker002ead392021-08-31 21:35:26 +0300471- ru-ru-g1.ctb
Bert Freesf1622fd2021-08-30 11:23:40 +0200472- ve-za-g1.utb
473- ve-za-g2.ctb
Christian Eglid21ba862021-06-09 08:28:48 +0200474
475*** Renamed
476None
477
478*** Removed
479None
480
Christian Eglic41321e2021-03-12 14:49:59 +0100481* Noteworthy changes in release 3.18.0 (2021-06-07)
Christian Egli6e5a6372021-06-07 18:26:56 +0200482This release brings support for many new languages: There is support
483for six new languages from South Africa, Northern Kurdish, Kazakh,
484Tatar, Yakut, Bulgarian literary braille and finally Khmer, Burmese
485and Vietnamese. Aside from that there are also major improvements to
486Afrikaans, Russian literary braille, Uzbek and Hebrew Computer
487Braille.
Christian Eglic41321e2021-03-12 14:49:59 +0100488
489I'd like to thank everybody for helping to bring liblouis forward.
490
491For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/28?closed=1][the list of closed
492issues]].
493
Christian Eglic41321e2021-03-12 14:49:59 +0100494** Bug fixes
Bert Frees6c1f5d02021-04-21 20:44:52 +0200495- Don't silently ignore the last line of a table when it doesn't end
496 with a new line character. Thanks to Bert Frees.
497
Christian Eglic41321e2021-03-12 14:49:59 +0100498** Braille table improvements
Bert Frees955d3292021-06-03 12:04:42 +0200499- New contracted braille table for the isiXhosa and
500 isiZulu languages created by Christo de Klerk and Laurent Cadet de
501 Fontenay at the request and under the auspices of the South African
502 Braille Authority.
503- New contracted braille table for the Sesotho, Setswana and Sepedi
504 languages created by Christo de Klerk at the request and under the
505 auspices of the South African Braille Authority.
Christian Eglifbe55e62021-06-07 15:41:01 +0200506- New braille table for Northern Kurdish thanks to Imam Kahraman.
Christian Eglic41321e2021-03-12 14:49:59 +0100507- Fix a problem with ']' in Finnish 8 dot braille thanks to Christian
508 Egli. The real problem was an unintended continuation line.
Bert Freesdf331fe2021-04-09 14:03:55 +0200509- Major update to the grade 2 Afrikaans table. It now implements the
510 new Afrikaans rules adopted and implemented recently by the South
Christian Egli6e5a6372021-06-07 18:26:56 +0200511 African Braille Authority. The rule changes simplify and rationalize
Bert Freesdf331fe2021-04-09 14:03:55 +0200512 the rules, especially those based on pronunciation. 571 of the list
513 of 25912 test words were impacted by the changes and all have been
514 corrected.
Futyn-Maker7900f952021-05-25 21:04:32 +0300515- Improvements to the Russian literary braille tables thanks to Andrey
516 Yakuboy and Bert Frees:
517 - Fixed a bug in ru-litbrl-detailed.utb that was causing a capital
518 sign to be missing for Cyrillic uppercase letters after Latin
519 letters.
520 - Fixed a bug in ru-litbrl-detailed.utb that was causing a number
521 sign to be missing in some cases.
Christian Egli9e0603b2021-06-04 14:57:39 +0200522 - Added more accented letters
Christian Egli2cb97832021-06-07 11:45:14 +0200523- New tables for Kazakh uncontracted, Tatar uncontracted and Yakut
524 uncontracted braille thanks to Andrey Yakuboy.
Bert Frees5b315342021-05-31 19:23:28 +0200525- Added more apostrophe symbols to English Computer Braille Code table
526 thanks to BAUM Engineering.
Simone Dal Maso11e4cde2021-05-31 11:51:44 +0200527- Small fix to Italian computer braille thanks to Simone Dal Maso
Christian Egli3f2824b2021-06-07 15:43:16 +0200528- New table for Bulgarian literary braille thanks to Румяна Каменска.
Bert Frees3d39d0b2021-06-07 14:57:20 +0200529- Fixes to Uzbek grade 1 thanks to BAUM Engineering.
530 - capital sign for Roman numbers
531 - signs (math, parentheses and other)
532 - sh and ch inside a word
533 - g and o with different accent marks
Christian Egli9e0603b2021-06-04 14:57:39 +0200534- Major overhaul of the 8 dot Hebrew Computer Braille table thanks to
535 Adi Kushnir
536 - Fixed Hebrew input to properly work. It did not work at all before.
537 - Added Russian support
538 - Added special European characters
539 - Fixed Arabic support.
540 - Fixed some symbols to comply with the Israeli standard for
541 computer Braille.
542 - Changed display name from Israeli Multilingual to just indicate
543 Hebrew.
Bert Freesc04a00d2021-06-07 15:47:32 +0200544- New tables for Khmer, Burmese (contracted and uncontracted) and
545 Vietnamese (uncontracted, partially and fully contracted, as well as
546 a variant for Southern Vietnam) thanks to Dang Hoai Phúc.
Christian Eglic41321e2021-03-12 14:49:59 +0100547** Other changes
Christian Egli2cb97832021-06-07 11:45:14 +0200548- Brilliant simplification of the table parser internals thanks to
549 Bert Frees
Christian Eglic41321e2021-03-12 14:49:59 +0100550** New, renamed or removed tables
551*** New
Futyn-Makerc3504582021-04-25 22:16:40 +0300552- kk.utb
553- sah.utb
554- tt.utb
Bert Frees955d3292021-06-03 12:04:42 +0200555- xh-za-g1.utb
556- xh-za-g2.ctb
557- zu-za-g1.utb
558- zu-za-g2.ctb
559- nso-za-g1.utb
560- nso-za-g2.ctb
561- sot-za-g2.ctb
562- tsn-za-g2.ctb
Christian Egli51dba972021-06-04 15:59:01 +0200563- bg.utb
Christian Eglifbe55e62021-06-07 15:41:01 +0200564- kmr.tbl
Bert Freesc04a00d2021-06-07 15:47:32 +0200565- vi-vn-g0.utb
566- vi-vn-g1.ctb
567- vi-vn-g2.ctb
568- vi-saigon-g1.ctb
569- my-g1.utb
570- my-g2.ctb
571- km-g1.utb
Christian Eglic41321e2021-03-12 14:49:59 +0100572
573*** Renamed
574None
575
576*** Removed
Christian Egli9e0603b2021-06-04 14:57:39 +0200577- he.ctb -> superseded by he-IL-comp8.utb
Bert Freesc04a00d2021-06-07 15:47:32 +0200578- vi-g1.ctb -> superceded by vi-vn-g1.ctb
Christian Eglic41321e2021-03-12 14:49:59 +0100579
Futyn-Makered402102020-12-18 21:10:12 +0300580* Noteworthy changes in release 3.17.0 (2021-03-08)
Christian Egli881da8c2021-03-08 10:55:03 +0100581This release stands in the tradition of small incremental improvements
582that make it another fine and solid release. Andrey Yakuboy put in a
583lot of work to improve Russian literary and computer braille. He also
584provided a new table for Belarusian uncontracted and computer braille.
585Aside from that there are numerous improvements in Braille tables such
586as French, Polish and Urdu. The documentation has been improved as has
587the table meta marking the tables whether they are geared towards
588forward or backwards translation. I'd like to thank everybody for
589helping to bring liblouis forward.
590
591For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/27?closed=1][the list of closed
592issues]].
Futyn-Makered402102020-12-18 21:10:12 +0300593
594** Braille table improvements
Christian Eglic518ea02021-03-05 17:34:55 +0100595- The backtranslation of æ in French 6 dot braille has been fixed
596 thanks to André-Abush Clause.
597- The definition of the vertical line symbol (|) in the Russian
598 computer braille table was corrected thanks to Andrey Yakuboy.
Futyn-Makered402102020-12-18 21:10:12 +0300599- Improvements to the Russian literary braille thanks to
600 Andrey Yakuboy:
601 - Letters which are used in Old-Russian texts were added.
602 - Arrows, integrals and other symbols were added.
Christian Eglic518ea02021-03-05 17:34:55 +0100603 - the horizontal bar symbol (u+2015) was added and marked as a
604 dash-symbol.
605 - Now accent marks are put before a letter according to the Russian
606 braille rules.
Futyn-Makered402102020-12-18 21:10:12 +0300607 - Many bugs with processing space-symbols were fixed.
608 - Improvements to processing dialogs and direct speech.
609 - Improvements to processing letters of different alphabets.
Christian Eglic518ea02021-03-05 17:34:55 +0100610- New tables for Belarusian uncontracted and computer braille thanks
611 to Andrey Yakuboy.
612- Various fixes to Polish tables thanks to Łukasz Golonka:
613 - Add em dash to both computer and literary Polish tables
614 - Remove some definitions which made it impossible to back translate
615 quoted strings from the Grade 1 table
616 - Fix back translation of capital M and add tests for back
617 translation of all Latin capital letters for Grade 1 table
Bert Frees625d17e2021-03-08 11:52:40 +0100618- Update to Urdu thanks to Jake Kyle:
619 - Revised definitions of SUPERSCRIPT ALEF and ARABIC LIGATURE ALLAH
620 ISOLATED FORM.
621 - Changed contractions of ٹھ, ان, اِن, بے, بی, اَور and اور.
622 - Dots 3-3 used for repeated words instead of 6-6.
Christian Eglic518ea02021-03-05 17:34:55 +0100623** Other changes
624- Fixed some valgrind issues thanks to André-Abush Clause.
Christian Egli0b214f02021-03-08 13:23:43 +0100625- Improve the documentation of /caps/ opcodes thanks to Bue
Christian Eglic518ea02021-03-05 17:34:55 +0100626 Vester-Andersen.
Christian Egli0b214f02021-03-08 13:23:43 +0100627- Add meta data to all tables indicating whether a table is geared
628 towards forward or backwards translation or both. Again thanks to
629 Bue Vester-Andersen.
Andrey yakuboycfb71662021-03-04 18:54:21 +0300630** New, renamed or removed tables
631*** New
632- bel.utb
633- bel-comp.utb
Christian Egli881da8c2021-03-08 10:55:03 +0100634*** Renamed
635None
636*** Removed
637None
Christian Egli48633b82020-12-01 16:58:57 +0100638* Noteworthy changes in release 3.16.1 (2020-12-01)
639In the frenzy to ship the 3.16.0 release a little mishap slipped in.
640The test suite contains an error and consequently doesn't pass. It was
641promptly discovered and fixed by Samuel Thibault. So we present to you
642the real, hopefully fixed 3.16 release. Let's name it 3.16.1.
643
Christian Eglid1964f52020-09-02 10:10:12 +0200644* Noteworthy changes in release 3.16.0 (2020-11-30)
Christian Eglia1e27d02020-11-30 18:57:36 +0100645This release is mostly the work of Bert Frees. He has put in a lot of
646work and pushed some major improvements with regards to how emphasis
647is handled (and how this is documented). He fixed a crash when reading
648URLs using computer braille. He also worked with many contributors to
649get their improvements in. So we have better support for UEB, Dutch,
650Urdu, Malayalam, Arabic, Bashkir, Uzbek, Russian computer braille and
651for EBAE. I'd like to thank everybody for helping to bring liblouis
652forward.
Christian Eglid1964f52020-09-02 10:10:12 +0200653
654For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/26?closed=1][the list of closed
655issues]].
656
657** New features
Bert Frees02a61942020-11-30 16:36:47 +0100658- A new opcode ~noemphchars~ was added. This gives you more control
659 over the placement and scope of various emphasis indicators. Thanks
660 to Bert Frees.
Christian Eglid1964f52020-09-02 10:10:12 +0200661** Bug fixes
Christian Eglie4fc7792020-11-25 13:26:37 +0100662- Fix an endless loop when using =compbrlAtCursor= thanks to Bert
663 Frees
Christian Eglid1964f52020-09-02 10:10:12 +0200664** Braille table improvements
Christian Eglie4fc7792020-11-25 13:26:37 +0100665- Improvements to US EBAE conformance with BANA emphasis guidelines
666 thanks to Benetech.org
Christian Egli50515432020-11-17 11:03:31 +0100667- Fixed a problem with apostrophe in Malayalam thanks to Jake Kyle
Christian Egli06f67e32020-11-25 13:41:59 +0100668- Improvements to contraction use in UEB thanks to James Bowden. In
669 particular the checkmark (U+2713) is added, the emdash (U+2014) is
670 fixed, the right single quote used as apostrophe between letters is
671 fixed and finally some more accented letters have been added.
Christian Egli66e0dbe2020-11-25 13:51:31 +0100672- Improvements to Urdu Braille and Malayalam thanks to Jake Kyle
Futyn-Makera61f7e52020-10-26 14:01:21 +0300673- Add characters for Bashkir and Uzbek languages to the Russian
674 computer braille table. Thanks to Andrey Yakuboy.
Gabidullin Yunir5a5e1f12020-10-16 12:27:40 +0500675- New table for Bashkir uncontracted braille thanks to Rustam
676 Churagulov and Gabidullin Yunir.
Christian Egli51fb6d22020-11-30 18:59:15 +0100677- Updated =<= and =>= symbols in the Arabic tables thanks to Ikrami
678 Ahmad.
Bert Frees02a61942020-11-30 16:36:47 +0100679- Improvements to Dutch thanks to Bert Frees.
Christian Eglia1e27d02020-11-30 18:57:36 +0100680 - Every word part in a capitalized compound word counts in the
Bert Frees02a61942020-11-30 16:36:47 +0100681 length of a passage.
682 - ~begcapsphrase~ is allowed to start in a word preceded by
683 punctuation.
684- Improved translation of ligatures in UEB thanks to Bert Frees.
Christian Eglia1e27d02020-11-30 18:57:36 +0100685- Multiple improvements to the Russian literary braille thanks to
686 Andrey Yakuboy and Bert Frees:
687 - Many new symbols (punctuation, bullets, math symbols, etc) have
Christian Egli51fb6d22020-11-30 18:59:15 +0100688 been added.
Bert Freesb7eb6792020-11-30 20:20:47 +0100689 - The table now includes the international phonetic alphabet table.
Christian Eglia1e27d02020-11-30 18:57:36 +0100690 - Punctuation after digits and fractions is now marked with dot 6 to
Bert Freesb7eb6792020-11-30 20:20:47 +0100691 avoid ambiguities.
692 - Other changes to conform better with Russian braille rules.
693 - A new table that indicates capital letters was added. This is the
694 new recommended Russian table for braille display users.
695 - Removed the old ~ru-ru-g1.utb~ in favor of ~ru-litbrl.ctb~ and
696 ~ru-litbrl-detailed.utb~.
Christian Eglia1e27d02020-11-30 18:57:36 +0100697
Christian Eglid1964f52020-09-02 10:10:12 +0200698** Other changes
Christian Eglibcfe5542020-11-25 13:33:48 +0100699- Support for Python 2 has been removed. The python bindings now only
700 support Python 3. The deprecation notice was announced in Release
701 3.13 and the removal is finally done now.
Christian Egli2122eeb2020-11-30 16:48:09 +0100702- Improvements to the placement of emphasis and capital indicators.
Bert Frees02a61942020-11-30 16:36:47 +0100703- The documentation for the emphasis opcodes has been further improved
704 thanks to Bert Frees.
Christian Eglid1964f52020-09-02 10:10:12 +0200705** Deprecation notice
Christian Eglia1e27d02020-11-30 18:57:36 +0100706- None
Christian Eglid1964f52020-09-02 10:10:12 +0200707** Backwards incompatible changes
Bert Frees02a61942020-11-30 16:36:47 +0100708- ~emphmodechars~ can and must now be set per emphasis class.
Christian Eglid1964f52020-09-02 10:10:12 +0200709** Invisible changes
Christian Egli2122eeb2020-11-30 16:48:09 +0100710- The emphasis and capitalization handling code has seen major
711 streamlining, simplification and tidying thanks to Bert Frees.
Christian Eglid1964f52020-09-02 10:10:12 +0200712** New, renamed or removed tables
713*** New
Christian Eglia1e27d02020-11-30 18:57:36 +0100714- ba.utb
Bert Freesfe24d812020-11-30 15:10:17 +0100715- ru-litbrl-detailed.utb
Christian Egli1077cd82020-11-30 19:07:07 +0100716- en-us-emphasis.uti
Christian Eglid1964f52020-09-02 10:10:12 +0200717
718*** Renamed
719None
720
721*** Removed
Bert Frees91ce3402020-11-30 14:30:30 +0100722- ru-ru-g1.utb
Christian Eglid1964f52020-09-02 10:10:12 +0200723
Christian Eglie1151182020-06-12 12:02:26 +0200724* Noteworthy changes in release 3.15.0 (2020-08-31)
Christian Egli1589ded2020-08-31 13:58:00 +0200725This release contains updates to the Afrikaans, Malayalam, Malay,
726Israeli, classical English and Portuguese tables. It also contains a
727new table for Coptic thanks to first-time contributor Ibraam Nasif.
728Behind the scenes there have been major changes to the
729cross-compilation tool-chain that will finally allow us to ship
730pre-built windows binaries that contain ~lou_checkyaml.exe~.
Christian Eglie1151182020-06-12 12:02:26 +0200731
732For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/25?closed=1][the list of closed
733issues]].
734
735** New features
Christian Egli1589ded2020-08-31 13:58:00 +0200736None
737
Christian Eglie1151182020-06-12 12:02:26 +0200738** Bug fixes
Christian Egli1589ded2020-08-31 13:58:00 +0200739None
740
Christian Eglie1151182020-06-12 12:02:26 +0200741** Braille table improvements
Christian Egli77ccbe72020-08-31 11:41:40 +0200742- New computer braille table for the Coptic language thanks to Ibraam
Christian Egli4699a332020-09-02 10:09:37 +0200743 Nasif from Coptic Bishopric of Youth
Bert Freesa50449c2020-08-21 16:27:17 +0200744- Improvements to Afrikaans thanks to Christo de Klerk
745 - Fixed correct handling of the ʼn character (0x149)
746 - Prevent contraction of
747 - "self" in "selfoon", "selfone",
748 - "ui" in words and names like "quisling", "quidproquo",
749 "quiëtis", "Quinten", "Quintus",
750 - "er" in words like "konstituering".
JakeKyle20a2de62020-08-03 16:05:05 +0100751- Improved table for Malayalam grade 1 thanks to Jake Kyle.
752 - Fixed rules for Candrakkala character at the end of a word.
753 - Fixed rules for letters ര മ ങ in certain contexts.
754 - Improved back-translation.
Bert Freesfb243562020-07-25 16:59:30 +0200755- Improvements to grade 2 Malay braille thanks to Herbert Koh.
Roland Kovacs4643f682020-08-10 15:57:37 +0300756- Improvements to Israeli 6-dot thanks to BAUM Engineering.
Christian Egli1589ded2020-08-31 13:58:00 +0200757 - Fixed number sign for Arabic digits.
Christian Egli77ccbe72020-08-31 11:41:40 +0200758 - Fixed Hebrew letters with dagesh.
759- Added bullets to the classical English tables, thanks to Bue
760 Vester-Andersen
Bue Vester-Andersen96b58482020-08-23 23:10:25 +0200761- Improved Portuguese grade 1 thanks to Bue Vester-Andersen.
762 - Fixed forward translation of &, <, >, `, ¶ and '.
763 - Improved back-translation. The table is now tagged as going both
764 forward and backward.
765 - Added missing square root sign.
Bert Freesa50449c2020-08-21 16:27:17 +0200766
Christian Eglie1151182020-06-12 12:02:26 +0200767** Other changes
Christian Egli1589ded2020-08-31 13:58:00 +0200768None
769
Christian Eglie1151182020-06-12 12:02:26 +0200770** Deprecation notice
Christian Egli1589ded2020-08-31 13:58:00 +0200771None
772
Christian Eglie1151182020-06-12 12:02:26 +0200773** Backwards incompatible changes
774None
775
776** Invisible changes
Christian Egli1589ded2020-08-31 13:58:00 +0200777- Major rework of the cross-compilation tool-chain. There are now
778 Docker images that should allow for local builds of binaries for 32
779 and 64 bit. These include the libyaml library so the binaries contain
780 ~lou_checkyaml.exe~. This will allow table creators to test their
781 changes locally under windows.
Christian Eglie1151182020-06-12 12:02:26 +0200782
783** New, renamed or removed tables
784*** New
Christian Egli77ccbe72020-08-31 11:41:40 +0200785- cop-eg-comp8.utb
Christian Eglie1151182020-06-12 12:02:26 +0200786
787*** Renamed
788None
789
790*** Removed
791None
792
Christian Egli132ce622020-06-02 16:57:10 +0200793* Noteworthy changes in release 3.14.0 (2020-06-02)
794This release contains major updates to Arabic, Dutch 8-dot computer
795braille, German, Russian computer braille, Ukrainian computer braille
796and Uzbek. Also there are new tables for Israeli multi-language
797Hebrew/Arabic/English braille and Malay. Aside from that there have
798been many code cleanups and bug fixes.
Christian Eglif5bb9522020-04-20 08:57:52 +0200799
800For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/24?closed=1][the list of closed
801issues]].
802
803** New features
Bert Frees913e2cd2020-05-24 17:12:51 +0200804- Add new test mode in ~lou_checkyaml~ for testing display
805 tables. Thanks to Bert Frees.
Christian Eglif5bb9522020-04-20 08:57:52 +0200806
807** Bug fixes
Christian Egli132ce622020-06-02 16:57:10 +0200808- Work around a bug that causes an endless loop in French uncontracted
809 braille thanks to André-Abush Clause.
Christian Eglif5bb9522020-04-20 08:57:52 +0200810
811** Braille table improvements
Futyn-Maker1e83be82020-04-19 14:55:01 +0300812- Updates to the Russian computer braille table thanks to Andrey
813 Yakuboy:
814 - Fixed diacritics, Greek letters and Hebrew.
815 - Added new Cyrillic letters.
816 - Fixed several minor bugs.
Bert Freesecba5c52020-05-08 10:32:31 +0200817- New table for Uzbek braille thanks to BAUM Engineering.
Futyn-Maker3cee0e52020-05-19 14:28:59 +0300818- New table for Ukrainian computer braille thanks to Andrey
819 Yakuboy and Oleh Shpai.
Bert Freesc1fd7a92020-06-03 13:20:03 +0200820- Improvements to Arabic thanks to Ikrami Ahmad and Mada, Qatar
821 Assistive Technology Center.
Bert Freesbb6bacb2020-05-08 10:10:31 +0200822 - Added a lot of new symbols (algebra, geometry, Greek, etc.) to the
823 grade 1 table.
824 - Changed some symbols for less conflicts with grade 2.
825 - Implemented letter sign / grade 1 indicator to cancel numbers and
826 inhibit contractions when in grade 2.
Bert Freesba22b762020-05-28 00:20:50 +0200827 - Updated 8-dot computer braille table for better (easier to
828 memorize) presentation of basic math symbols and punctuation
829 marks.
Bert Freesbb6bacb2020-05-08 10:10:31 +0200830 - Improved back-translation.
Bert Frees8b373a82020-06-01 21:48:38 +0200831- Improvement to German thanks to Bue Vester-Andersen.
832 - Removed superfluous letter sign before certain lesser-used
833 accented letters.
Bert Freesf4261fb2020-06-01 17:44:09 +0200834- Final version of Dutch 8-dot computer braille table thanks to
835 Leonard de Ruijter.
Bert Freesbe255e42020-05-26 01:22:06 +0200836- New Israeli multi-language Hebrew/Arabic/English tables for both
837 uncontracted and computer braille. Thanks to BAUM Engineering and
838 Erez Kugler from TSR Gaash.
Bert Frees86b98732020-02-24 14:20:42 +0100839- New table for grade 2 Malay braille (Malaysia) thanks to Herbert
840 Koh.
Christian Eglif5bb9522020-04-20 08:57:52 +0200841
842** Other changes
Christian Egli3990c6b2020-04-21 09:04:26 +0200843- You can now use up to 256 ~noletsign~ characters in a table, thanks
844 to Christian Egli.
Christian Egli132ce622020-06-02 16:57:10 +0200845- Major improvements to the documentation for the /Standing Alone
846 Sequences/ and their related opcodes such as ~seqdelimiter~ and also
847 clarifications regarding the ~begcaps~ and ~endcaps~ opcodes thanks
848 to Bue Vester-Andersen.
Christian Eglif5bb9522020-04-20 08:57:52 +0200849
850** Deprecation notice
Christian Egli132ce622020-06-02 16:57:10 +0200851- The ~class~ opcode has been deprecated in favor of ~attribute~,
Bert Frees042b6fa2020-05-24 21:32:57 +0200852 which has been enhanced to do everything ~class~ can do.
Christian Eglif5bb9522020-04-20 08:57:52 +0200853
854** Backwards incompatible changes
Christian Egli132ce622020-06-02 16:57:10 +0200855None
Christian Eglif5bb9522020-04-20 08:57:52 +0200856
857** Invisible changes
858** New, renamed or removed tables
859*** New
Bert Freesecba5c52020-05-08 10:32:31 +0200860- uz-g1.utb
Bert Freesbb6bacb2020-05-08 10:10:31 +0200861- ar-ar-g1-core.uti
862- ar-ar-math.uti
Bert Freesbe255e42020-05-26 01:22:06 +0200863- he-IL.utb
864- he-IL-comp8.utb
Christian Eglif5bb9522020-04-20 08:57:52 +0200865
866*** Renamed
867None
868
869*** Removed
Christian Egli8a4beff2020-04-22 10:35:48 +0200870- da-dk.dis :: This table has long been superseded by
871 ~da-dk-octobraille.dis~.
872- da-lt.ctb :: This table was a step on the way to defining a Danish 8
873 dot standard. The table was referring to an old Danish Braille
874 note-taker from the 80s and 90s, which is not used any more.
875- fi1.ctb and fi2.ctb :: These tables are obsolete. Use
876 ~fi-fi-8dot.ctb~ instead.
Christian Eglif5bb9522020-04-20 08:57:52 +0200877
Christian Egli4b9eba32019-12-03 10:09:02 +0100878* Noteworthy changes in release 3.13.0 (2020-03-02)
Christian Egliebaa6ce2020-03-02 16:50:08 +0100879A tremendous amount of work by lots of different people has gone into
880this release. Bert Frees for example added new opcodes, fixed long
881standing bugs (with emphasis and capitalization), made the
Christian Egli60b78682020-03-02 16:24:19 +0100882documentation more clear and helped table contributors bringing in
Christian Egliebaa6ce2020-03-02 16:50:08 +0100883their improvements. Bue Vester-Andersen added major improvements to
884Danish and German braille. This release also contains much improved
885tables for Afrikaans, Russian computer braille, Urdu and Chinese.
Christian Egli60b78682020-03-02 16:24:19 +0100886
887On a personal note I'd like to say that this is the 20th release of
888liblouis shipped by the current release team Bert Frees and Christian
Christian Egliebaa6ce2020-03-02 16:50:08 +0100889Egli. I hope we can continue to do so.
Christian Egli4b9eba32019-12-03 10:09:02 +0100890
891For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/23?closed=1][the list of closed
892issues]].
893
894** New features
Christian Egli9727f8a2020-02-19 11:17:16 +0100895- The ~nocross~ opcode has been made into a prefix opcode, which means
896 that it can now be used in combination not just with the ~always~
897 opcode but also with other translation opcodes such as ~begword~,
898 e.g. ~nocross begword sh 146~ for example. The old usage of the
899 opcode no longer works, see [[Backwards incompatible changes]].
Bert Frees10e02382020-02-24 22:15:35 +0100900- Added a new opcode ~rependword~, needed to implement Malay
901 braille. Thanks to Bert Frees.
Bert Freesd0370892020-02-28 11:32:12 +0100902- Emphasis and capitals can now be marked correctly in more
903 cases. Thanks to Bert Frees.
904 - When ~begemphword~ (~begcapsword~) is defined but not
905 ~endemphword~ (~endcapsword~), use ~emphletter~ (~capsletter~) to
906 mark every character in an emphasized (capitalized) part that ends
907 in the middle of a word.
908 - When ~begemphword~ (~begcapsword~) and ~begemph~ (~begcaps~) are
909 both not defined, use ~emphletter~ (~capsletter~) to mark every
910 emphasized (uppercase) letter.
911 - ~capsnocont~ has no influence anymore on whether ~capsletter~ is
912 used for every uppercase letter or not, see [[Backwards incompatible
913 changes]].
Christian Egli9727f8a2020-02-19 11:17:16 +0100914
Christian Egli4b9eba32019-12-03 10:09:02 +0100915** Bug fixes
Christian Eglid5e8fed2020-01-17 11:51:37 +0100916- Fix a crash on sparc64 thanks to Samuel Thibault.
Christian Egli7287dc62020-02-18 15:12:12 +0100917- Fixed a bug where the ~inputPos~ array was not monotonically
918 increasing. This is a problem for language bindings that try to do
919 hyphenation based on this information. Thanks to Bert Frees.
Christian Egli572fc0d2020-02-18 14:55:47 +0100920- A couple of small Coverity fixes thanks to David King.
Christian Egli48e3fd22020-02-19 14:30:45 +0100921- Fix an infinite loop involving multipass rules and backtranslation
922 thanks to Bert Frees and Bue Vester-Andersen.
Christian Egli3426b7b2020-02-26 13:06:40 +0100923- Fix several problems in the Python bindings thanks to Leonard de
924 Ruijter, Łukasz Golonka and André-Abush Clause:
925 - Ensure that the mbcs encoding is always used to encode file path
926 on Windows, especially when 'Unicode UTF-8' feature is enabled.
André-Abush Claused0957f02020-02-25 11:24:16 +0100927 - ~getTypeformForEmphClass~ was passed a decoded string on Python 3
928 instead of an encoded one.
Christian Egli3426b7b2020-02-26 13:06:40 +0100929 - The same applies to ~compileString~. We encoded the input string,
André-Abush Claused0957f02020-02-25 11:24:16 +0100930 but never used that encoded one when passing it to liblouis.
Bert Frees8bcd81d2020-02-26 22:29:38 +0100931- ~begemphword~ (~begcapsword~) and ~endemphword~ (~endcapsword~) are
932 now used for single letters within a word when ~emphletter~
933 (~capsletter~) is not defined.
Christian Eglie11f8d12020-03-02 15:02:26 +0100934- For backward translation the returned input length is now equal to
935 the initial input length (as it is for forward translation) thanks
936 to Bert Frees.
Christian Eglib8910f22020-02-26 14:49:04 +0100937
Christian Egli4b9eba32019-12-03 10:09:02 +0100938** Braille table improvements
Bert Frees1dbc31e2020-02-22 21:47:54 +0100939- Improvements to Afrikaans thanks to Christo de Klerk
940 - Fixed back translation of some lower words.
941 - Fixed several contraction errors where contractions are based on
942 pronunciation or occur where compound words join.
943 - Eliminated grade 1 indicator where a single letter follows a
944 single apostrophe to indicate an abbreviated word, e.g. 'k for ek.
945 - Corrected the use of the grade 1 indicator in grade 2 with signs
946 which would conflict with contractions, such as the trademark sign
947 that would conflict with the contraction of tussen.
948 - Fixed the back translation conflict between the UEB circle shape
949 indicator and words containing $= being the contraction for
950 "alge".
Bert Frees454306f2020-02-26 20:28:03 +0100951- Improvements to Russian computer braille table thanks to Andrey
952 Yakuboy.
953 - The table is now based on the Unicode character set. A lot of new
954 characters were added that aren't in KOI8-R, including Greek,
955 Hebrew, accented letters and so on.
956 - For special characters we now follow the definitions from other
957 software (JAWS, TSS, DBT) instead of following the American
958 standard.
Christian Eglib8910f22020-02-26 14:49:04 +0100959- Improvements to Urdu Braille thanks to Jake Kyle
960 - Changed definition of \x0624 (Waw with hamza above) from dots 1256
961 to dots 3-2456 following advice from proof reader.
962 - Added 2 character versions of letter plus diactric (previously
963 only the one character versions defined):
Bue Vester-Andersendb99fa12020-02-25 22:13:45 +0100964- Updates to the Danish Tables thanks to Bue Vester-Andersen:
965 - Fixed back-translation for some JAWS Braille drivers, which
966 deliver Unicode characters to Liblouis as input from a Braille
967 keyboard.
968 - Ensured proper use of letsign in connection with accented letters.
969 - Re-arranged and strengthened tests to include all Unicode
970 characters defined in the tables.
Christian Egliec6ef312022-09-05 11:41:59 +0200971- Updates to the Chinese bopomofo braille table thanks to Bo-Cheng
972 Jhan, Coscell Kao and Victor Cai.
Bert Freesaa108a52020-03-01 11:50:46 +0100973- New experimental German tables for grade 0 (Basisschrift) and grade
974 1 (Vollschrift) that are more suitable for back-translation, thanks
975 to Bue Vester-Andersen.
976 - All capital letters are marked.
Christian Egli60b78682020-03-02 16:24:19 +0100977 - Accented letters are translated using ~de-accents-detailed.cti~ to
Bert Freesaa108a52020-03-01 11:50:46 +0100978 make the translation as detailed as possible.
979 - Apostrophes and single quotation marks are translated the same.
Bert Frees1dbc31e2020-02-22 21:47:54 +0100980
Christian Egli4b9eba32019-12-03 10:09:02 +0100981** Other changes
Christian Egli2150cc72020-02-27 16:14:39 +0100982- The documentation for the emphasis opcodes has been reworked and is
983 now much more clear and accurate thanks to Bert Frees.
984
Christian Egli4b9eba32019-12-03 10:09:02 +0100985** Deprecation notice
Christian Egli5447e2b2020-02-19 11:53:09 +0100986- Python 2 is [[https://www.python.org/dev/peps/pep-0373/][no longer maintained]] since the beginning of this year.
987 The current liblouis Python bindings work with both Python 2 and 3.
988 However the support for Python 2 will be dropped in the next release
989 (3.14) at the beginning of June 2020. If you have code that uses the
990 liblouis Python bindings with Python 2 then please refer to the
991 [[https://docs.python.org/3/howto/pyporting.html][official porting guide]] for help with migrating it.
Christian Egli4b9eba32019-12-03 10:09:02 +0100992
993** Backwards incompatible changes
Bert Freesd0370892020-02-28 11:32:12 +0100994- Since the ~nocross~ opcode has been made into a prefix opcode, it
995 must now be used in combination with another opcode. For example
996 ~nocross sh 146~ must now be written as ~nocross always sh 146~.
997- The ~capsnocont~ opcode can not be used anymore to control whether
998 ~capsletter~ is inserted for every uppercase letter. This now
999 depends on whether ~begcaps~ and ~begcapsword~ are defined.
Christian Egli4b9eba32019-12-03 10:09:02 +01001000
1001** Invisible changes
1002** New, renamed or removed tables
1003*** New
Bert Freesaa108a52020-03-01 11:50:46 +01001004- de-g0-bidi-core.uti
1005- de-g0-bidi.utb
1006- de-g1-bidi-core.cti
1007- de-g1-bidi.ctb
Christian Egli4b9eba32019-12-03 10:09:02 +01001008
1009*** Renamed
1010None
1011
1012*** Removed
1013None
1014
Christian Egli5e362722019-12-02 17:24:16 +01001015* Noteworthy changes in release 3.12.0 (2019-12-02)
1016This release contains major updates to the UEB, Afrikaans, Chinese,
1017Danish and Polish tables. Aside from that there have been many code
1018cleanups, such as the elimination of many global vars and bug fixes
1019such as an endless loop or a crash in ~lou_translate~.
Christian Eglib2afbcf2019-09-10 11:51:35 +02001020
1021For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/22?closed=1][the list of closed
1022issues]].
1023
1024** New features
Christian Egli5e362722019-12-02 17:24:16 +01001025None
Christian Eglib2afbcf2019-09-10 11:51:35 +02001026** Bug fixes
Christian Egli2a6d67e2019-11-18 13:12:08 +01001027- Fix a memory leak when several tables are specified and some of them
1028 that can't be resolved. Thanks to André-Abush Clause.
Christian Egli5cb56082019-12-02 11:03:38 +01001029- Fix an endless loop with multipass rules where ~endReplace~ is
Christian Egli5e362722019-12-02 17:24:16 +01001030 smaller or equal to ~startMatch~. Thanks to Bert Frees and Bue
1031 Vester-Andersen.
Christian Eglib2afbcf2019-09-10 11:51:35 +02001032** Braille table improvements
Christian Egli464d5862019-11-19 14:39:22 +01001033- Punctuation corrections in Ethiopic Braille thanks to Dr. Tamru E.
1034 Belay.
Christian Eglia8cf47d2019-11-25 14:02:40 +01001035- Fixes to the Norwegian 8dot braille table in regards to 4 Sami
1036 characters, capital and small letters S and Z with caron. Thanks to
1037 Oddvar Øyan and Lars Bjørndal.
Bert Frees7cd3e8c2019-11-26 19:00:25 +01001038- Improvements to Afrikaans contracted braille thanks to Christo de Klerk
1039 - Over 50 cases have been corrected where braille rules were not
1040 correctly applied in words, mainly in those cases where
1041 contractions depend on pronunciation; for example, ui or ie must
1042 not be contracted in requiem.
1043 - Corrected contraction errors caused by start or end of input not
Christian Egli89e4ba52019-12-02 11:12:27 +01001044 properly taken into account.
Bert Frees7cd3e8c2019-11-26 19:00:25 +01001045 - Words are no longer contracted into lower word contractions when
Christian Egli89e4ba52019-12-02 11:12:27 +01001046 they are adjacent to lower punctuation, for example: "hier.
Bert Frees7cd3e8c2019-11-26 19:00:25 +01001047 - Words are now contracted into their lower contractions when they
Christian Egli89e4ba52019-12-02 11:12:27 +01001048 are adjacent to upper punctuation, for example: (hier.
Bert Freesf978eb82019-11-27 11:00:04 +01001049- New draft table for Dutch 8-dot computer braille thanks to Leonard
Christian Egli89e4ba52019-12-02 11:12:27 +01001050 de Ruijter.
Christian Egliec6ef312022-09-05 11:41:59 +02001051- Updates to the Chinese bopomofo braille table thanks to Bo-Cheng
1052 Jhan, Coscell Kao, 特種兵, 黃偉豪, and Victor Cai.
Christian Egli89e4ba52019-12-02 11:12:27 +01001053- Fixes to Polish grade 1, thanks to Łukasz Golonka
1054 - Removes some unneeded ~midnum~ symbols from the Polish Grade 1.
1055 - Fixes some symbols which weren't defined according to the
1056 specification.
1057 - Makes it possible to type dot from a braille keyboard.
1058 - Adds Greek letters and some commonly used math operators to both
1059 the Grade 1 and the computer braille table.
Christian Egli8e420322019-12-02 11:54:49 +01001060- Fix several conflicts in ~fr-bfu-comp68.cti~ with regards to the IPA
1061 Unicode range. These had been especially noticed when
1062 ~compbrlAtCursor~ mode flag was used. Thanks to André-Abush Clause.
Christian Egli02df4162019-12-02 13:35:40 +01001063- Major Improvements to contraction use in UEB thanks to James Bowden.
Christian Eglib413d962019-12-02 16:44:52 +01001064- Updates to the Danish Tables thanks to Bue Vester-Andersen:
Bue Vester-Andersen1b5a9562019-12-01 20:59:03 +01001065 - Added miscelaneous Unicode characters to 8 dots grade 1 and 2
1066 (accented letters, punctuation, arrows and some math signs).
1067 Most of these characters have not been defined in the Danish
1068 Braille standard. This implementation is purely experimental,
1069 and the characters may be changed later.
1070 - Updated the 6 dots tables with more Unicode characters
1071 (no arrows or math signs).
1072 - Corrected a bug in 8 dots grade 2, which resulted in the
1073 "var" contraction not always being properly applied.
Christian Eglib2afbcf2019-09-10 11:51:35 +02001074** Other changes
Christian Egli2a6d67e2019-11-18 13:12:08 +01001075- Make sure the log callback uses the same calling convention as all
1076 the other exported functions. Thanks to Leonard de Ruijter.
1077- Fix a problem with Non-ASCII characters in file paths in the Python
Christian Eglic65cbbd2019-11-18 14:35:15 +01001078 bindings, thanks to André-Abush Clause.
1079- Eliminate some of the globals variables thanks to Bert Frees.
Christian Eglibbb86e22019-11-18 14:58:27 +01001080- The display and the translation are now separated at least
1081 internally, thanks to Bert Frees. As a reminder, there are two
1082 phases to a braille conversion:
1083 - translation :: liblouis uses the rules in the translation table to
1084 convert characters to dots
1085 - display :: display the dots as characters. Usually liblouis uses
1086 the characters defined in display rules (in display
1087 tables) but as a fallback it uses mappings defined in
1088 the translation table, e.g. letter rules.
Christian Eglic72ee332019-11-27 16:03:05 +01001089- No longer install ~lou_compare~, a tool that is used to run
1090 regression tests for UEB. As it is only run during testing it will
1091 no longer be installed by default on a users machine.
1092- Remove a hidden feature of ~lou_translate~ that would cause it to
1093 crash if passed an invalid file name. Thanks to Christian Egli.
Christian Egliaeceef52019-12-02 11:19:06 +01001094- Raise an error if a dot pattern can not be displayed instead of
1095 silently ignoring it thanks to Bert Frees.
Christian Eglib2afbcf2019-09-10 11:51:35 +02001096** Deprecation notice
1097None
1098
1099** Backwards incompatible changes
Christian Egli9727f8a2020-02-19 11:17:16 +01001100None
Christian Eglib2afbcf2019-09-10 11:51:35 +02001101
1102** Invisible changes
1103
1104** New, renamed or removed tables
1105*** New
Bert Freesf978eb82019-11-27 11:00:04 +01001106- nl-comp8.utb
Christian Eglib2afbcf2019-09-10 11:51:35 +02001107
1108*** Renamed
1109None
1110
1111*** Removed
1112None
1113
Christian Egli12ebb2d2019-06-12 11:25:33 +02001114* Noteworthy changes in release 3.11.0 (2019-09-02)
Christian Egli364cab42019-08-30 13:54:54 +02001115A tremendous amount of work by Dave Mielke and Bert Frees has gone
1116into this release. They have improved liblouis for use on note taker
1117devices, for backwards translation and a number of languages. Many
1118other contributors (listed below) have also helped in fixing bugs and
1119improving braille tables, such as Dutch, Mongolian, Polish, Ancient
1120Greek, Danish, Irish, Chinese, and American Braille Computer Code.
Christian Egli12ebb2d2019-06-12 11:25:33 +02001121
1122For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/21?closed=1][the list of closed
1123issues]].
1124
1125** New features
Christian Egli1473dc32019-08-27 07:53:08 +02001126- Enable ~always~ rules with a single character and a single braille
1127 cell for back-translation. Thanks to Bue Vester-Andersen.
Christian Eglie823ba02019-08-30 13:44:54 +02001128- Implement ~noUndefined~ mode for forward translation, thanks to Dave
Bert Freesc83f3f12019-08-02 11:29:41 +02001129 Mielke.
Bert Frees2a1b33d2019-08-03 16:08:41 +02001130- Use fallback braille representations (NABCC) for rendering undefined
Bert Freesc83f3f12019-08-02 11:29:41 +02001131 characters in hexadecimal notation, thanks to Dave Mielke.
1132- Always render undefined characters, also ASCII characters, in
1133 hexadecimal notation.
Christian Eglia9c6d012019-09-02 12:10:51 +02001134- Add a new metadata field ~index-name~ for selecting a table from a
1135 list fast and efficiently. It has the most important information
1136 first and no redundant information. It should look nice when sorted.
1137 This in contrast to the existing ~display-name~ field which is for
1138 describing a table accurately and should sound good. Thanks to Dave
1139 Mielke and Bert Frees.
Bert Freesb1344672019-08-02 12:15:06 +02001140
Christian Egli12ebb2d2019-06-12 11:25:33 +02001141** Bug fixes
Bert Frees976ca4f2019-06-20 22:41:50 +02001142- Don't let a caps passage end on a word with no letters. Thanks to
1143 Bert Frees.
1144- Handle word resets in the last word of an caps or emphasis passage
1145 if the end indicator was placed before the word. Thanks to Bert
1146 Frees.
Christian Eglie823ba02019-08-30 13:44:54 +02001147- Never convert to lowercase if ~capsletter~ is not defined. Thanks to
Bert Frees42622cb2019-06-20 22:21:57 +02001148 Bert Frees.
Christian Eglie823ba02019-08-30 13:44:54 +02001149- Fix position mapping for back-translation when ~noUndefined~ mode is
Bert Freesc83f3f12019-08-02 11:29:41 +02001150 active. Thanks to Dave Mielke.
Bert Frees4d058002019-08-02 12:02:06 +02001151- Fix bug where a translation would hang on words that match both a
1152 ~nocont~ and a ~repeated~ rule. Thanks to Dave Mielke.
Christian Eglie823ba02019-08-30 13:44:54 +02001153- Fix bug where the effect of ~capsnocont~ would leak to the next word
Bue Vester-Andersen917038f2019-08-25 17:45:31 +02001154 if that word starts with a capital. Thanks to Bue Vester-Andersen.
Bert Frees976ca4f2019-06-20 22:41:50 +02001155
Christian Egli12ebb2d2019-06-12 11:25:33 +02001156** Braille table improvements
Bert Frees4ec33c92019-06-20 22:39:11 +02001157- Fix an issue with ordinal numbers inside caps passages in Dutch
1158 braille. Thanks to Bert Frees.
Bert Frees814c9dd2019-06-20 23:17:53 +02001159- Improved back-translation for Mongolian thanks to Angaragerdene.
Bert Frees32d46862019-07-09 20:46:59 +02001160- Fixes to Polish grade 1 and Polish computer braille thanks to Łukasz
1161 Golonka.
Bert Frees9b3610c2019-08-04 19:03:55 +02001162- Improvements to Ancient Greek braille, which has been renamed "Greek
1163 international braille". A version with composed accents is made
1164 available as a .uti table. Thanks to Dave Mielke and Μαρια
1165 Γεωργακαράκου (Maria Georgakarakou).
Christian Eglif4492302019-08-26 13:41:49 +02001166- Various improvements to modern Greek thanks to Dave Mielke.
Bert Frees5158bea2019-08-14 17:39:04 +02001167- Improvements and fixes to Spanish contracted braille. Details in
1168 #741. Thanks to Juan Pablo Bello.
Christian Eglie823ba02019-08-30 13:44:54 +02001169- Improvements and fixes to the Danish tables. Thanks to Bue
1170 Vester-Andersen.
Christian Eglia35f4d32019-08-16 14:14:51 +02001171- Add a display table to match Word CX which is used in Norway and
1172 Sweden, and maybe also in other countries thanks to Lars Bjørndal.
Bert Frees79332782019-08-21 13:41:55 +02001173- Fix handling of colon within number in Dutch braille, thanks to Jake
1174 Kyle.
Bert Frees3ffb3032019-08-22 22:58:18 +02001175- Fix translation of bullet and dot operators in Dutch braille, thanks
1176 to Paul Rambags
Christian Eglie823ba02019-08-30 13:44:54 +02001177- Added North American Braille Computer Code table (~en-nabcc.utb~)
1178 which is the counterpart of the ~text_nabcc.dis~ display table.
1179 Thanks to Dave Mielke.
Christian Eglib2d8e9b2019-08-23 16:04:14 +02001180- Add support for the International Phonetic Alphabet (IPA) to the
Christian Egli3f51d7c2019-09-02 11:30:30 +02001181 Chinese bopomofo braille table, thanks to Hurt Huang and Sponge
Christian Egliebcaa172019-09-02 13:29:01 +02001182 Jhan. Various improvements, including dot patterns and test cases, to
Christian Egli3f51d7c2019-09-02 11:30:30 +02001183 the Chinese bopomofo braille table, thanks to Sponge Jhan.
Christian Eglifad9a382019-08-23 16:52:47 +02001184- Unified English Braille no longer displays a single underscore when
1185 multiple underscores are in the text, thanks to André-Abush Clause.
Christian Egliebcaa172019-09-02 13:29:01 +02001186- Update to Afrikaans uncontracted braille and new table for contracted
Bert Freesac05cd02019-08-25 23:15:42 +02001187 braille. Thanks to Christo de Klerk and Greg Kearney.
Bert Frees8ba68002019-08-22 22:47:47 +02001188- Update Irish braille (contracted and uncontracted) to the May 2019
1189 version of the specification, thanks to Ronan McGuirk
Bert Frees4ec33c92019-06-20 22:39:11 +02001190
Christian Egli12ebb2d2019-06-12 11:25:33 +02001191** Other changes
Christian Eglif8cdd612019-08-28 11:58:37 +02001192- The python wrapper now encodes and decodes strings to/from UTF-16
1193 and UTF-32 using the surrogatepass error handler. This ensures that
1194 single UTF-16 surrogate characters are processed correctly by the
1195 wrapper and don't raise an encoding/decoding error. Thanks to
1196 Leonard de Ruijter.
Bert Frees166479d2019-08-07 21:28:57 +02001197- Metadata keys and values are now case insensitive, thanks to Dave
1198 Mielke.
Christian Eglide638b42019-08-14 16:10:35 +02001199- Remove ~unicodedefs.cti~. It was obsolete and never meant to be
1200 included by any tables. Instead use the online references as
1201 mentioned in the documentation now. See also #696.
Christian Egli4271dbe2019-08-23 16:19:45 +02001202- ~lou_checkyaml~ test reporting has been improved, thanks to Bert
1203 Frees. For example it now has a ~--verbose~ option so that printing
1204 of expected failures can be enabled.
Christian Egli55d2e6e2019-08-23 16:24:00 +02001205- Hyphenation tables have been removed from tables except those needed
1206 for ~nocross~ rules, thanks to Bert Frees.
1207
1208 The idea is that the caller (for example ~odt2braille~ or
1209 ~liblouisutdml~) should be able to decide for themselves which
1210 hyphenation table to use. The case in which a table contains nocross
1211 rules is an exception. In this case the hyphenation patterns are a
1212 real part of the table. Because it is not recommended to append an
1213 own hyphenation table in this case, a ~#-has-nocross~ metadata field
1214 was added to indicate that a table contains nocross rules.
Christian Egli30984c32019-08-23 16:37:13 +02001215- ~lou_hyphenate~ can now handle more than just words (sequences of
1216 letters), e.g compound words, thanks to Bert Frees.
Bert Frees166479d2019-08-07 21:28:57 +02001217
Christian Egli12ebb2d2019-06-12 11:25:33 +02001218** Deprecation notice
Christian Eglie823ba02019-08-30 13:44:54 +02001219- The ~noUndefinedDots~ mode has been renamed to ~noUndefined~. For
1220 backwards compatibility ~noUndefinedDots~ is still available in the
1221 header file and in the Python bindings, as an alias for
1222 ~noUndefined~.
Christian Egli12ebb2d2019-06-12 11:25:33 +02001223
1224** Backwards incompatible changes
1225None
1226
Bert Frees98f18962019-08-21 13:39:00 +02001227** Invisible changes
1228 - Internally separate more clearly the display and translation
1229 phases.
1230
Christian Egli12ebb2d2019-06-12 11:25:33 +02001231** New, renamed or removed tables
1232*** New
Bert Frees9b3610c2019-08-04 19:03:55 +02001233- grc-international-common.uti
1234- grc-international-composed.uti
1235- grc-international-decomposed.uti
Dave Mielkef8ea2f12019-08-03 12:08:32 -04001236- en-nabcc.utb
Christian Egli12ebb2d2019-06-12 11:25:33 +02001237
1238*** Renamed
Bert Frees9b3610c2019-08-04 19:03:55 +02001239- gr-bb.ctb -> grc-international-en.utb
Christian Egli12ebb2d2019-06-12 11:25:33 +02001240
1241*** Removed
Christian Eglidb5ebe92019-08-13 11:57:32 +02001242- unicodedefs.cti
Dave Mielke78983d62019-08-10 11:59:13 -04001243- fi-fi.ctb
Christian Egli12ebb2d2019-06-12 11:25:33 +02001244
Christian Eglia0bb23c2019-03-20 15:32:12 +01001245* Noteworthy changes in release 3.10.0 (2019-06-03)
Christian Egli0c7601b2019-06-03 16:16:35 +02001246This release comes across as quiet, containing just the usual
1247assortment of braille table improvements, cleanups, bug fixes and the
1248classic buffer overflow patches. But beware, a lot has happened behind
1249the scenes. Bert and Davy have been adding a new opcode to handle
1250special emphasis situations. A number of annoying restrictions with
1251regards to names, such as class names have been removed thank to Bert.
1252And lastly also thanks to Bert it is now possible to define inline
1253display tables in your YAML tests.
Christian Eglia0bb23c2019-03-20 15:32:12 +01001254
1255For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/20?closed=1][the list of closed
1256issues]].
1257
1258** New features
Bert Frees514e3c12019-06-03 13:02:03 +02001259- Add a new opcode ~emphmodechars~. Thanks to Bert Frees and Davy
1260 Kager.
Christian Eglia0bb23c2019-03-20 15:32:12 +01001261
1262** Bug fixes
Christian Egli0dc8c6d2019-03-20 15:39:01 +01001263- Remove memoization in ~checkAttr~. It wasn't implemented correctly,
1264 caused some weird bugs and probably didn't do much for performance.
1265 Thanks to Bert Frees.
Christian Eglid13aee92019-05-29 15:07:23 +02001266- Fix multiple buffer overflows in ~compilePassOpcode~. Thanks to
1267 Cheng Wen for the report and to Christian Egli for the fix.
1268- Fix a build problem when building without libyaml thanks to Bert
1269 Frees.
Christian Eglia0bb23c2019-03-20 15:32:12 +01001270
1271** Braille table improvements
Christian Eglid6daa922019-04-08 08:40:00 +02001272- Added modified letters to UEB thanks to Mike Gray.
Bert Freesbca86a32019-05-27 16:58:37 +02001273- Complete overhaul of the U.S. six-dot computer braille tables to
1274 align with the CBC standard thanks to Timothy Wynn. There is now a
Christian Eglid13aee92019-05-29 15:07:23 +02001275 sub-table for EBAE (~en-us-compbrl.uti~) and a stand-alone table
1276 (~en-us-comp6.ctb~).
Bert Freesbca86a32019-05-27 16:58:37 +02001277 - Conforms to the CBC standard from BANA for character definitions
1278 that differ from the 8-dot ASCII braille (11 punctuation marks).
1279 - Added rules for braille indicators, emphasis indicators, and
1280 isolated lower-cell signs to the stand-alone table.
1281 - Uncontracted and contracted EBAE tables no longer use dot 7 when
1282 in computer braille mode.
Christian Eglid13aee92019-05-29 15:07:23 +02001283 - ~en-us-compbrl.ctb~ was deleted because it was identical to
1284 ~en-us-comp6.ctb~.
Bert Frees3ec0cb22019-05-28 16:03:25 +02001285- Update Bopomofo-based Chinese Braille thanks to Sponge Jhan
1286 - Correct various dot patterns of Chinese characters.
1287 - Add more known pattern exceptions of Chinese characters.
Christian Egli0c7601b2019-06-03 16:16:35 +02001288 - Apply ~word~ opcode to 倔 and 据.
Bert Frees3ec0cb22019-05-28 16:03:25 +02001289 - Change dot pattern of & to 456-12346.
Christian Egli0c7601b2019-06-03 16:16:35 +02001290- ~de-de-comp8.ctb~ now has definitions for musical Unicode characters
Christian Eglid13aee92019-05-29 15:07:23 +02001291 thanks to Daniel Mayr
1292- Emphasis improvements in Unified French 6 dots Braille thanks to
1293 Ludovic Oger.
1294- Improvements to Unified English braille, Grade 2 thanks to James
1295 Datray from Freedom Scientific.
1296- Numerous back-translation fixes to Grade 2 of UK English and Unified
1297 English Braille thanks to Anthony Tibbs.
Christian Eglie6471922019-06-03 14:41:42 +02001298- Updates to Dutch Braille thanks to Bert Frees
Bert Frees9b078512019-05-28 19:08:51 +02001299 - Hyphen cancels the effect of emphasis indicator
1300 - Left/right curly brackets
1301 - Write currency symbols in full if they come after the number
Bert Freesbca86a32019-05-27 16:58:37 +02001302
Christian Eglia0bb23c2019-03-20 15:32:12 +01001303** Other changes
Bert Freesbdaeb4c2019-06-03 12:54:51 +02001304- Remove various restrictions on which characters and braille cells
1305 can be used in translation rules, thanks to Bert Frees.
Christian Egli0c7601b2019-06-03 16:16:35 +02001306- Remove some code duplication in ~pattern.c~ thanks to Bert Frees
Christian Eglid13aee92019-05-29 15:07:23 +02001307- It is now also possible to define inline tables when a display table
1308 has been defined thanks to Bert Frees
1309- Nightly snapshots of liblouis are now also built for win64 thanks to
1310 Bert Frees
Christian Eglia0bb23c2019-03-20 15:32:12 +01001311
1312** Deprecation notice
Christian Eglid13aee92019-05-29 15:07:23 +02001313None
Christian Eglia0bb23c2019-03-20 15:32:12 +01001314
1315** Backwards incompatible changes
Christian Eglid13aee92019-05-29 15:07:23 +02001316None
Christian Eglia0bb23c2019-03-20 15:32:12 +01001317
1318** New, renamed or removed tables
1319*** New
Bert Freesbca86a32019-05-27 16:58:37 +02001320- en-us-compbrl.uti
Christian Eglia0bb23c2019-03-20 15:32:12 +01001321
1322*** Renamed
Bert Freese5e028e2019-05-22 12:52:31 +02001323- chardefs.cti -> en-chardefs.cti
Christian Eglia0bb23c2019-03-20 15:32:12 +01001324
1325*** Removed
Bert Freesbca86a32019-05-27 16:58:37 +02001326- en-us-compbrl.ctb
1327
Christian Eglib6520142019-02-18 16:32:46 +01001328* Noteworthy changes in release 3.9.0 (2019-03-04)
Christian Eglied2210c2019-03-04 14:56:47 +01001329This release has seen a tremendous amount of work by Bert Frees. He
1330was instrumental in pushing the improvements for Latvian, Norwegian
1331and Slovenian. But most prominently he pushed the big change for space
1332and control character handling through the door. These characters are
1333now no longer hard coded in liblouis. This should solve a few long
1334standing issues. Other than that there is the usual assortment of code
1335improvements and cleanups.
Christian Eglib6520142019-02-18 16:32:46 +01001336
1337For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/19?closed=1][the list of closed
1338issues]].
1339
1340** New features
1341- None
1342
1343** Bug fixes
1344- Fix a problem in the callback registration in the Python bindings
Christian Eglied2210c2019-03-04 14:56:47 +01001345 thanks to Leonard de Ruijter.
Christian Eglid5249722019-02-18 16:41:17 +01001346- Fixed memory leaks created by block scope compound literals thanks
Christian Eglied2210c2019-03-04 14:56:47 +01001347 to Martin Gieseking.
1348- The hard coded rules dealing with white space have been replaced
1349 with a normal table that is included in all tables. This fixes a
1350 number of bugs to do with space and control characters. This (big)
1351 change has been brewing for a couple of releases and has finally
1352 landed. Thanks to Christian Egli and Bert Frees.
Christian Eglib6520142019-02-18 16:32:46 +01001353
1354** Braille table improvements
1355- Major extension of the German 8 dot computer braille table thanks to
1356 Ali-Riza Ciftcioglu. For example the Euro sign or quote characters
1357 are finally defined.
Christian Eglied2210c2019-03-04 14:56:47 +01001358- Fix a few issues with Hungarian grade1 and grade2 Braille thanks to
Christian Egli59fa6d62019-02-26 15:18:43 +01001359 Attila Hammer.
Bert Frees1e9302d2019-02-26 19:37:27 +01001360- Various improvements to Norwegian thanks to Lars Bjørndal, Jostein
1361 Austvik Jacobsen, Ammar Usama and Bert Frees.
Christian Eglif05fe2f2019-02-28 14:08:44 +01001362- Updates to Bopomofo-based Chinese Braille thanks to Sponge Jhan:
1363 Improved Braille representation of Chinese characters, and rewritten
1364 Kana rules using multipass statements.
Christian Eglic6338482019-03-04 12:40:34 +01001365- Implement the new Slovenian Braille standard thanks to Robert Merič
Christian Egli86c5b632019-03-04 12:15:07 +01001366 and Bert Frees.
Christian Eglic6338482019-03-04 12:40:34 +01001367- Updates to Latvian Grade 1 Braille thanks to Artis Raugulis and Bert
Christian Eglied2210c2019-03-04 14:56:47 +01001368 Frees.
1369- Fixes to English, U.S. Grade 2 (ABAE) thanks to jdatray.
Christian Eglib6520142019-02-18 16:32:46 +01001370
1371** Other changes
Christian Egli1b753d62019-03-01 16:08:26 +01001372- Don't search for tables in ~/usr/local/share/liblouis/tables~ (or
1373 the Windows equivalent) if ~LOUIS_TABLEPATH~ is set.
Christian Eglied2210c2019-03-04 14:56:47 +01001374- The log levels in ~liblouis.h~ are no longer exposed as ~LOG_FOO~
1375 but instead are now prefixed. So ~LOG_WARN~ becomes ~LOU_LOG_WARN~
1376 for example to issue a warning from a C program using liblouis. The
1377 actual values remain the same, so the ABI remains stable.
Christian Egli1b753d62019-03-01 16:08:26 +01001378
Christian Eglib6520142019-02-18 16:32:46 +01001379** Deprecation notice
Christian Eglibf60bbb2019-02-28 14:57:27 +01001380- The ~locale~ opcode was never implemented and was just silently
Christian Egli1473dc32019-08-27 07:53:08 +02001381 ignored. It is now removed from the tables and a warning will be
Christian Eglibf60bbb2019-02-28 14:57:27 +01001382 issued if it is found in a table.
Christian Eglib6520142019-02-18 16:32:46 +01001383
1384** Backwards incompatible changes
1385
1386** New, renamed or removed tables
1387*** New
1388- None
1389
1390*** Renamed
Christian Eglia637e4f2019-03-20 15:28:50 +01001391- spaces.ctb -> spaces.uti
Christian Eglib6520142019-02-18 16:32:46 +01001392
1393*** Removed
1394- None
1395
Christian Egli90144652018-09-25 14:32:46 +02001396* Noteworthy changes in release 3.8.0 (2018-12-03)
Christian Egli5dd71fc2018-12-03 16:39:32 +01001397The major focus of this release is on braille table updates. There are
1398major updates to German, Arabic, Chinese, Turkish, Dutch, Czech,
1399Latvian, Spanish and Ethiopic. Some of these new tables have only been
1400possible because Bert Frees fixed some nasty long standing bugs behind
1401the scene. Also there is the usual assortment of code improvements and
1402cleanups.
Christian Egli90144652018-09-25 14:32:46 +02001403
1404For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/18?closed=1][the list of closed
1405issues]].
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001406
1407** New features
Christian Egli5dd71fc2018-12-03 16:39:32 +01001408- None
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001409
1410** Bug fixes
Bert Frees7c279662018-11-25 17:31:51 +01001411- Fix support more than 4 classes thanks to Bert Frees.
Christian Egli5dd71fc2018-12-03 16:39:32 +01001412- Fix capitalization of words that match ~nocont~ rules thanks to Bert
Bert Frees74e86342018-12-02 17:22:51 +01001413 Frees.
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001414
1415** Braille table improvements
Christian Eglia7dab9a2018-10-11 08:55:07 +02001416- Defined the undefined character for the Czech tables thanks to Jan
1417 Hegr.
Christian Egli179644a2018-11-13 09:00:58 +01001418- Improvements to Unified English braille thanks to Mike Gray
Bert Frees81bad522018-11-21 12:53:08 +01001419- Updated the Dutch table to the new 2017.1 braille standard thanks to
1420 Davy Kager.
Christian Egli00e7b6f2018-11-21 14:17:42 +01001421- Improvements to the Polish grade 1 table, to make back-translations
1422 of diacritics working
Bert Freese5f0f8b2018-11-21 13:27:43 +01001423- Fixes to Latvian braille table thanks to Gatis Grintals and Artis
1424 Raugulis.
Sunianb631ccd2018-09-28 08:21:00 +08001425- Improvements to traditional Mainland Chinese braille and two-cell
1426 Chinese Braille thanks to Sunian Loomee.
Christian Egli4d541cd2018-11-30 14:14:12 +01001427- Update Bopomofo-based Chinese Braille to version 2018-11 thanks to
1428 Bo-Cheng Jhan
Christian Egli1f4dbf62018-12-03 10:47:43 +01001429 - Correct the default braille pattern of many Chinese characters
1430 - Add various Chinese phrases involving exceptions of braille
1431 patterns
1432 - Modify dot patterns of dashes for readability reasons
Christian Egli841421f2018-12-03 12:21:28 +01001433- Added a table for Turkish grade 2 thanks to Uğur Gürbüz and Simon
Christian Eglib43e7862018-11-30 17:26:52 +01001434 Aittamaa
Christian Egli5dd71fc2018-12-03 16:39:32 +01001435- Major upgrade to the German tables. They have been upgraded to /Das
1436 System der deutschen Brailleschrift/ (2018). They are much smaller
1437 now as they are based on ~lou_maketable~. As they now work for any
Christian Egli1f4dbf62018-12-03 10:47:43 +01001438 locale (be it Switzerland or Germany) they have been merged into one
1439 set of tables for the different grades. Thanks to Christian
1440 Waldvogel.
Bert Freesb3c81f22018-11-21 11:25:48 +01001441- New table for Arabic contracted braille thanks to Ikrami Ahmad.
1442- New table for Arabic computer braille thanks to Ikrami Ahmad.
Bert Freese35f21b2018-12-04 09:59:17 +01001443- Improvements to Arabic uncontracted braille thanks to Ikrami Ahmad.
Bert Frees26df4512018-11-26 11:47:14 +01001444- Improvements to Ethiopic thanks to Tamru E. Belay.
Bert Frees251e2132018-11-21 12:00:21 +01001445- New table for Spanish contracted braille thanks to Juan Pablo Bello.
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001446
1447** Other changes
Bert Frees597c1702018-11-21 14:54:49 +01001448- Updated the ~lou_allround~ and ~lou_trace~ test tools to include all
1449 the mode flags described in the documentation of the
Christian Eglie6ede082018-11-26 12:52:57 +01001450 ~lou_translateString()~ function, thanks to Bue Vester-Andersen
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001451
1452** Deprecation notice
Christian Egli8c46e1b2018-12-03 16:47:51 +01001453- None
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001454
1455** Backwards incompatible changes
Christian Eglie6ede082018-11-26 12:52:57 +01001456- The ~pass1Only~ flag has been deprecated for a while and is now
1457 removed from the code, thanks to Bue Vester-Andersen.
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001458
1459** New, renamed or removed tables
1460*** New
Christian Eglib43e7862018-11-30 17:26:52 +01001461- tr-g2.ctb
Bert Freesb3c81f22018-11-21 11:25:48 +01001462- ar-ar-g2.ctb
1463- ar-ar-comp8.utb
Bert Frees251e2132018-11-21 12:00:21 +01001464- es-g2.ctb
Bert Freesb3c81f22018-11-21 11:25:48 +01001465
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001466*** Renamed
Christian Egli1f4dbf62018-12-03 10:47:43 +01001467- de-de-accents.cti -> de-accents.cti
1468- de-de-g0.utb -> de-g0.utb
1469- de-de-g1.ctb -> de-g1.ctb
1470- de-de-g2.ctb -> de-g2.ctb
Christian Egli1f4dbf62018-12-03 10:47:43 +01001471- de-ch-g0.utb -> de-g0.utb
1472- de-ch-g1.ctb -> de-g1.ctb
1473- de-ch-g2.ctb -> de-g2.ctb
Bert Frees9b7a5412018-12-03 15:38:25 +01001474
1475*** Removed
Bert Freesb3c81f22018-11-21 11:25:48 +01001476- ar-fa.utb
Bert Freesf7c6d242018-11-24 11:32:40 +01001477- Es-Es-g1.utb
Bue Vester-Andersen05afbac2018-09-25 11:34:04 +02001478
Christian Egli15635b42018-06-04 18:45:19 +02001479* Noteworthy changes in release 3.7.0 (2018-09-03)
Christian Eglidc7a59e2018-08-31 16:08:41 +02001480This release implements major improvements for back-translation thanks
1481to concerted efforts by Bue Vester-Andersen, Bert Frees, Timothy Lee
1482and others. In particular the input/output positions are now correct
1483also for back-translation. There are new and improved Chinese Braille
1484tables and some long awaited improvements to UEB. The release also has
1485some code cleanups and documentation improvements.
1486
Christian Egli15635b42018-06-04 18:45:19 +02001487For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/17?closed=1][the list of closed
1488issues]].
1489
1490** New features
Christian Egli81fe3c72018-08-31 09:36:59 +02001491- Added a new opcode ~midendnumericmodechars~. Characters defined with
1492 this opcode can appear in the middle or at the end of a number
1493 without canceling numeric mode. Thanks to Bue Vester-Andersen.
1494
Christian Egli15635b42018-06-04 18:45:19 +02001495** Bug fixes
Christian Eglidbfa58b2018-06-06 16:41:53 +02001496- Fix another stack-based buffer overflow in input parsing reported by
1497 Henri Salo thanks to Christian Egli.
Christian Egli4cde0332018-08-24 13:47:54 +02001498- Fix input/output positions for back-translation. Thanks to excellent
1499 bug reports and patches by Timothy Lee, Bert Frees heroically sat down and
1500 reworked the handling of the input/output positions for
1501 back-translation. This solves numerous issues with backward
1502 translation.
Christian Egli09cd3272018-08-27 14:35:35 +02001503- The returned ~inlen~ and ~outlen~ now always match thanks to the
1504 above work on input/output positions by Bert Frees.
Christian Egli81fe3c72018-08-31 09:36:59 +02001505- Major improvements in the back-translation of capitalized words
1506 (~capsword~) in conjunction with punctuation and numbers. Thanks to
1507 Bue Vester-Andersen
1508- Fixed a problem in the back-translation of numbers in conjunction
1509 with punctuation and letters. Thanks to Rimas Kudelis and Bue
1510 Vester-Andersen
Christian Eglibe12a9e2018-09-03 11:56:46 +02001511- Fix a buffer overflow in ~matchCurrentInput~. Thanks to Hongxu Chen
1512 for reporting and to Christian Egli for fixing it.
Christian Egli4cde0332018-08-24 13:47:54 +02001513
Christian Egli15635b42018-06-04 18:45:19 +02001514** Braille table improvements
Bue Vester-Andersen79d351e2018-06-21 21:18:54 +02001515- Danish grade 2 tables: Reduced hyphenation to only the hyphens
Christian Egli4cde0332018-08-24 13:47:54 +02001516 necessary for correct Braille translation. Replaced the longer rules
Bue Vester-Andersen79d351e2018-06-21 21:18:54 +02001517 with hyphenation for better cursor positioning. Corrected some words.
Christian Egli84af94b2018-08-30 10:34:54 +02001518 Thanks to Bue Vester-Andersen.
Christian Egli8be50e62018-08-23 10:06:23 +02001519- New Chinese Mandarin Braille Codes (Grade 1) and (Grade 2) thanks to
1520 Sunian Loomee. The first one is for Chinese Common Braille, commonly
1521 known as the old Braille where a Chinese character is composed of
1522 three Braille Symbols, consonants, vowels and tones. The second
1523 table is for Chinese double spelling Braille, commonly known as the
1524 new Braille where Chinese character is composed of two Braille
Sunianb631ccd2018-09-28 08:21:00 +08001525 Symbols, consonants and vowels, ( the tones are included in vowels ).
Christian Egli59a24ed2018-08-23 15:36:11 +02001526- Major update to the Urdu tables thanks to Jake Kyle.
Christian Egli865edad2018-08-27 14:31:31 +02001527- Back-translation of numbers in Latvian, Polish, Portuguese, Serbian,
1528 and Swedish has been fixed thanks to Bue Vester-Andersen.
Christian Eglica1e4fd2018-08-30 12:05:03 +02001529- Improvements to UEB such as handling of /BLT/, /BLVD/ and /LLC/,
1530 number sign placement, final-letter groupsign usage and final-letter
1531 back-translation thanks to Mike Gray.
Christian Egli0933cca2018-08-30 12:18:31 +02001532- Significant changes to Bopomofo-based Chinese Braille. Among other
1533 things there is now complete the support of /CJK Unified Ideographs
1534 Extension A/ and some symbols were added for Nemeth. Thanks to
Christian Egli1286de02018-09-07 16:10:17 +02001535 Sponge Jhan and 黃偉豪. With this change we can now properly handle
1536 duoyinzi, Chinese words that have more than one pronunciation. The
1537 granularity of the cursor movement can now reflect positions of all
1538 Chinese characters.
Christian Egli8be50e62018-08-23 10:06:23 +02001539
Christian Egli15635b42018-06-04 18:45:19 +02001540** Other changes
Christian Egli81fe3c72018-08-31 09:36:59 +02001541- Added documentation of opcodes which were previously introduced as
1542 part of the UEB work. Thanks to Bue Vester-Andersen.
Christian Eglib1c352f2018-08-23 13:23:19 +02001543- Test suite improvements: In addition to checking the translation the
1544 tests now also check if the provided ~inlen~ is the same as the
1545 returned ~inlen~ and retry the test with a larger output buffer.
Christian Eglica93d142018-08-24 17:09:03 +02001546- Fix a problem in the Makefiles that prevented liblouis from being
1547 built with automake 1.16. This is fixed now thanks to a patch from
1548 Samuel Thibault.
Christian Egli36410162018-08-24 14:24:06 +02001549- Removal of the code for the /scripting language/ for multipass
Christian Egli50b79872018-08-30 12:24:36 +02001550 opcodes. This code was originally introduced in 2012 but never
Christian Egli36410162018-08-24 14:24:06 +02001551 documented. Consequently it was never used. Meanwhile the original
1552 code for multipass opcodes was much improved. So there is no more
1553 need for this (duplicate) code and we are removing it.
Christian Egli9d2c06b2018-08-27 14:37:33 +02001554- The nightly snapshots of pre-built windows binaries are now built
1555 with UCS4 enabled.
Christian Egli36410162018-08-24 14:24:06 +02001556
Christian Egli15635b42018-06-04 18:45:19 +02001557** Deprecation notice
Christian Eglidc7a59e2018-08-31 16:08:41 +02001558- None
1559
Christian Egli15635b42018-06-04 18:45:19 +02001560** Backwards incompatible changes
Christian Eglidc7a59e2018-08-31 16:08:41 +02001561- None
1562
Christian Egli15635b42018-06-04 18:45:19 +02001563** New, renamed or removed tables
1564*** New
Christian Egli8be50e62018-08-23 10:06:23 +02001565- zhcn-g1.ctb
1566- zhcn-g2.ctb
Christian Egli15635b42018-06-04 18:45:19 +02001567*** Renamed
1568- None
1569*** Removed
Christian Eglid53cc842018-09-05 14:10:38 +02001570Tables that are only useful in the context of liblouisutdml were moved
1571there
1572- marburg.ctb
1573- marburg_edit.ctb
1574- nemeth.ctb
1575- nemeth_edit.ctb
1576- ukmaths.ctb
1577- ukmaths_edit.ctb
1578- wiskunde-translation.cti
1579- wiskunde.ctb
Christian Egli15635b42018-06-04 18:45:19 +02001580
Christian Egli28ac1672018-04-09 13:41:17 +02001581* Noteworthy changes in release 3.6.0 (2018-06-04)
Christian Egli402c68a2018-06-04 16:26:15 +02001582This release contains the usual assortment of braille table
1583improvements, cleanups and bug fixes. The most prominent change is the
1584refactoring of the call APIs by Bert Frees that makes the code much
1585more manageable and solid and will help us in the future to evolve the
1586library.
1587
Christian Egli28ac1672018-04-09 13:41:17 +02001588For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/16?closed=1][the list of closed
1589issues]].
1590
1591** New features
Christian Egli38cc57f2018-05-25 14:14:17 +02001592- Add metadata fields =name= and =display-name= to tables thanks to
1593 Bert Frees. The =name= contains a description of the table in the
1594 native language. =display-name= contains an English description.
Christian Eglid43c6cc2018-06-04 18:07:09 +02001595- YAML test enhancements
1596 - You can now test both forward and backwards translation with in
1597 the same YAML file and for the same set of tables tests thanks to
1598 Bue Vester-Andersen. See the documentation for the
1599 ~bothDirections~ testmode.
1600 - Add =maxOutputLength= option in YAML tests.
Christian Egli28ac1672018-04-09 13:41:17 +02001601
1602** Bug fixes
Christian Egli4417bad2018-05-30 16:47:10 +02001603- Fix a bunch of buffer overflow errors in table parsing thanks to
1604 Samuel Thibault and Christian Egli (CVE-2018-11410 and
1605 CVE-2018-11440).
Christian Egli38cc57f2018-05-25 14:14:17 +02001606- Fix input-output mapping of context rules thanks to Bert Frees.
Bert Frees5d801f32018-05-28 10:49:07 +02001607- Fix back tracking with all caps words thanks to Bert Frees.
Bert Frees371ab642018-05-28 10:58:35 +02001608- Fix context rules with lookback thanks to Bert Frees.
Christian Egli9139abf2018-05-31 14:17:10 +02001609- Fix a memory leak in default table resolver thanks to Timothy Lee.
Samuel Thibault214c7bc2018-06-04 11:24:54 +02001610- Fix an array out of bounds error which caused a crash on i386 thanks
1611 to Samuel Thibault.
Christian Eglia062d872018-06-06 16:46:37 +02001612- Fix numerous stack-based buffer overflow in table parsing reported
1613 by Henri Salo and Edward-L thanks to Christian Egli (CVE-2018-11577,
1614 CVE-2018-11683, CVE-2018-11684 and CVE-2018-11685).
Christian Egli28ac1672018-04-09 13:41:17 +02001615
1616** Braille table improvements
Christian Egli10985ed2018-05-17 09:32:58 +02001617- Fix some forward- and back-translation errors in Unified French Grade
1618 2 thanks to André-Abush Clause.
Christian Eglib1f1d082018-05-24 16:20:56 +02001619- Updates to the Simplified-Chinese Braille Translation Table thanks
1620 to Roshanson
1621 - Added many polygraphs to distinguish different meanings of a word
1622 - Letter identifiers have been modified. In China's school for the
1623 blind, when many visually impaired students learn, the lowercase
1624 letters often do not have to mark the identifiers deliberately. So
1625 in this version, we this item has been deleted.
1626 - Fixed a bug in the braille code that revises the space and 0
Christian Eglie6e24f12018-05-28 11:06:29 +02001627- Updates to Bopomofo-based Chinese Braille Table thanks to Bo-Cheng Jhan
1628 - Redefine some Chinese words and phrases
1629 - Add various Nemeth symbols such as arrows and parenthesis
1630 - Complete the support of CJK Compatibility block
1631 - Fix the support of various parentheses, brackets, and braces
1632 - Minor fixes (kana rules, punctuation marks, Greek alphabets)
Bert Freesd77d07f2018-05-28 13:04:20 +02001633- New 8 dot computer braille table for Czech thanks to Jan Hegr.
Bert Freesbdade682018-05-28 13:16:28 +02001634- Fixes to Czech 6 dot table thanks to Jan Hegr
1635 - Fixed curly brackets representation
1636 - Fixed number sign representation
1637 - Added copyright sign
Bert Frees6987fbd2018-05-31 14:48:58 +02001638- Minor fixes to Hebrew thanks to Erez Kugler.
Christian Egli28ac1672018-04-09 13:41:17 +02001639
1640** Other changes
Christian Egli38cc57f2018-05-25 14:14:17 +02001641- Refactoring thanks to Bert Frees
Christian Egli8923b3a2018-06-04 18:18:47 +02001642 - Simplify the emphasis class handling by combining all related vars
Christian Egli38cc57f2018-05-25 14:14:17 +02001643 in a struct =EmphasisClass=
1644 - Simplify input/output buffer handling
1645 - Combine =emphasisBuffer= and =transnoteBuffer=
1646 - Group match related vars in a struct =PassRuleMatch=
1647 - Remove dead code
Christian Egli1e898de2018-06-04 14:56:27 +02001648- Fixed many warnings thanks to Christian Egli
Christian Egli28ac1672018-04-09 13:41:17 +02001649
1650** Deprecation notice
Christian Egli64f63362018-05-25 16:02:26 +02001651- The =mode= parameter in =lou_dotsToChar= never had any effect and is
1652 now deprecated.
Christian Egli402c68a2018-06-04 16:26:15 +02001653- In 2012 a new way to specify the test and action part in context and
1654 multipass opcodes was introduced. It was never documented and has no
1655 known usage in the wild. However it opens up the attack surface to
1656 the table parsing code. Therefore it is deprecated and will be
1657 removed in the next release.
Christian Egli28ac1672018-04-09 13:41:17 +02001658
1659** Backwards incompatible changes
Christian Egli402c68a2018-06-04 16:26:15 +02001660- None
Christian Egli28ac1672018-04-09 13:41:17 +02001661
1662** New, renamed or removed tables
1663*** New
Christian Egli402c68a2018-06-04 16:26:15 +02001664- cs-comp8.utb
Christian Egli28ac1672018-04-09 13:41:17 +02001665*** Renamed
Christian Egli402c68a2018-06-04 16:26:15 +02001666- None
Christian Egli28ac1672018-04-09 13:41:17 +02001667*** Removed
Christian Egli402c68a2018-06-04 16:26:15 +02001668- Cz-Cz-g1.utb
Christian Egli28ac1672018-04-09 13:41:17 +02001669
Christian Egli137bd842017-12-05 08:35:52 +01001670* Noteworthy changes in release 3.5.0 (2018-03-05)
Christian Egli5c1cfb32018-03-05 17:03:30 +01001671This release has a number of Braille table improvements, cleanups and
1672meta data enhancements. The most prominent new feature however is
1673probably the much improved test coverage. This has helped in tracing
1674and fixing a number of long standing bugs.
1675
Christian Egli137bd842017-12-05 08:35:52 +01001676For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/15?closed=1][the list of closed
1677issues]].
1678
1679** New features
Bert Frees659b3702018-03-05 12:22:33 +01001680- The same name can now be used in more than one ~class~ rule. The
1681 effect is that both set of characters become part of that one class.
Christian Egli7acb7112017-12-19 10:21:34 +01001682
Christian Egli137bd842017-12-05 08:35:52 +01001683** Bug fixes
Christian Egli7acb7112017-12-19 10:21:34 +01001684- Fix a regression in inputPositions thanks to Bert Frees
1685- Treat characters within the range ~compbrlStart~ and ~compbrlEnd~ as
1686 a special case. This fixes many if not most of the problems with
1687 cursor position and the ~compbrlAtCursor~ mode. Thanks to Dave Mielke.
Bert Frees0d3aaac2018-03-05 11:44:52 +01001688- Fix ~swapdd~ opcode thanks to Bert Frees
Bert Freese815f112018-03-05 12:00:40 +01001689- Fix negation of attribute matcher in multipass expressions thanks to
1690 Bert Frees
Christian Egli7acb7112017-12-19 10:21:34 +01001691
Christian Egli137bd842017-12-05 08:35:52 +01001692** Braille table improvements
Christian Egli6ba99c32018-03-05 14:52:47 +01001693- Add a display table that maps braille dots to brl/brf character set.
1694 For an in depth explanation see the corresponding [[https://github.com/liblouis/liblouis/issues/503][github issue]].
1695 Thanks to Rimas Kudelis
1696- Major Improvements to Unified French Grade 2 thanks to André-Abush
1697 Clause
Christian Egli7acb7112017-12-19 10:21:34 +01001698- Fix braille number input for Greek Braille thanks to Dave Mielke
Christian Egli88f09f02018-01-24 17:32:03 +01001699- Add a fix for "phad" according to UEB Rule 10.7.3 thanks to Anthony
1700 Tibbs
Jake Kyle625bd5e2018-02-20 10:14:25 +01001701- Updates to the Urdu tables thanks to Jake Kyle from Compass Braille
Christian Egli8ffc1812018-02-23 09:06:05 +01001702- Updates to the Chinese braille table (~zh-tw.ctb~) thanks to
1703 Bo-Cheng Jhan
Bert Frees6d3191f2018-02-23 23:18:12 +01001704- ~IPA.utb~ now contains a more complete list of phonetic symbols,
1705 including some that might conflict with other tables. For this
1706 reason it is not suitable for inclusion in other tables. A separate
1707 table ~IPA-unicode-range.uti~ has been added for this
1708 purpose. Thanks to Ludovic Oger.
Christian Egli8ff46eb2018-02-26 13:38:35 +01001709- The Mongolian table has been improved and there is now also support
1710 for grade 2 thanks to Tsengel Maidar.
Bue Vester-Andersen664a17d2018-02-28 09:27:52 +01001711- Minor updates to the Danish tables thanks to Bue Vester-Andersen
Bert Freese2eba2e2018-02-28 13:31:20 +01001712- Fix back translation of numbers in Dutch, Finnish and Canadian
1713 French, thanks to Leonard de Ruijter.
Bert Frees121cbb92018-03-05 12:38:58 +01001714- New table for Ukrainian thanks to Sergiy Moskalets.
Christian Egli25ffbf72018-03-02 11:16:27 +01001715
Christian Egli137bd842017-12-05 08:35:52 +01001716** Other changes
Christian Egli4652af92017-12-05 09:22:15 +01001717*** Improved documentation
1718- Extend the documentation on multipass opcodes. Thanks to Dave Mielke
1719 and Christian Egli.
Christian Egli81191b62018-02-20 17:23:30 +01001720- Remove the deprecation note of the '=' dots operand. While there are
1721 still problems with back-translation we will not remove support for
1722 it. See also the discussion in the [[https://github.com/liblouis/liblouis/issues/500][github issue]].
1723
Christian Egli8e12f3c2018-03-02 15:00:13 +01001724*** Improved meta data information in tables
1725The meta data in the tables such as locale, contraction grade, etc has
1726been improved and is now also used when testing from a YAML test.
1727Thanks to Bert Frees.
1728
Christian Egli7acb7112017-12-19 10:21:34 +01001729*** Major overhaul of the YAML test suite
Christian Egli8e12f3c2018-03-02 15:00:13 +01001730**** Support for proper testing of cursor positions
1731Due to problems in the cursor position computation the YAML test
1732suite was improved to support proper testing of cursor position also
1733in combination with input, output position and modes. In essence all
1734of the liblouis API is now supported and can be tested via the YAML
1735tests. Thanks to Christian Egli.
1736
1737**** Support for table selection via meta data query
1738The tables to be tested can now be specified via a meta data query in
1739addition to specifying them by filename. See the documentation for
1740more details. Internally the YAML tests have been split up into tests
1741that test the braille translation for a particular locale (now located
1742in ~tests/braille_specs~) and tests that check a specific feature of
1743liblouis. Thanks to Bert Frees.
Christian Egli8ffc1812018-02-23 09:06:05 +01001744
Christian Egli137bd842017-12-05 08:35:52 +01001745** Deprecation notice
Christian Egli5c1cfb32018-03-05 17:03:30 +01001746None
Christian Egli7acb7112017-12-19 10:21:34 +01001747
Christian Egli137bd842017-12-05 08:35:52 +01001748** Backwards incompatible changes
Christian Eglibe6a8232018-02-19 14:51:06 +01001749- The translation mode ~comp8Dots~ has been removed as it was never
1750 really implemented anyway
Bert Frees7d074972018-02-23 22:18:46 +01001751- Support for the ~pass1Only~ flag has now been removed. Thanks to Bue
1752 Vester-Andersen.
Christian Egli25ffbf72018-03-02 11:16:27 +01001753- The old UEB tables ~UEBC-g1.ctb~ and ~UEBC-g2.ctb~ have been removed
Christian Egli3e8e74f2018-03-05 16:57:08 +01001754 as the have been superseded by ~en-ueb-g1.ctb~ and ~en-ueb-g2.ctb~.
1755- The french tables ~fr-2007.ctb~, ~fr-fr-g1.utb~, ~fr-fr-g2.ctb~,
1756 ~fr-ca-g1.utb~ and ~fr-ca-g2.ctb~ have been removed. Use
1757 ~fr-bfu-comp6.utb~ for 6 dots literary, ~fr-bfu-comp8.utb~ for 8
1758 dots computer and ~fr-bfu-g2.ctb~ for contracted braille instead.
Christian Egli7acb7112017-12-19 10:21:34 +01001759
Christian Egli137bd842017-12-05 08:35:52 +01001760** New, renamed or removed tables
1761*** New
Bert Frees6d3191f2018-02-23 23:18:12 +01001762- IPA-unicode-range.uti
Christian Egli8ff46eb2018-02-26 13:38:35 +01001763- mn-MN-g2.ctb
Bert Frees121cbb92018-03-05 12:38:58 +01001764- uk.utb
Christian Egli137bd842017-12-05 08:35:52 +01001765*** Renamed
Christian Egli8ff46eb2018-02-26 13:38:35 +01001766- mn-MN.utb -> mn-MN-g1.utb
Christian Egli137bd842017-12-05 08:35:52 +01001767*** Removed
André-Abush CLAUSEc5f46ae2018-03-04 20:11:53 +01001768- fr-2007.ctb
André-Abush CLAUSE242616d2018-03-05 13:49:19 +01001769- fr-ca-g1.utb
1770- Fr-Ca-g2.ctb
1771- fr-fr-g1.utb
1772- Fr-Fr-g2.ctb
Christian Egli25ffbf72018-03-02 11:16:27 +01001773- UEBC-g1.ctb
1774- UEBC-g2.ctb
Christian Egli137bd842017-12-05 08:35:52 +01001775
Christian Eglif0145012017-09-08 08:50:15 +02001776* Noteworthy changes in release 3.4.0 (2017-12-04)
Christian Eglid1563392017-12-04 16:35:29 +01001777This release brings together a lot of work by lots of different
1778people. Probably the most prominent fix is the work on output
1779positions by Bue and Bert. NVDA should benefit from this. Then there
1780are new and massively improved tables like the Lithuanian 6-dot table
1781by Rimas or the improved back-translation for French by Michel and
1782André-Abush to name just a few. There are too many contributors to
1783name them here, thanks to them all.
1784
1785For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/14?closed=1][the list of closed
1786issues]].
Christian Eglif0145012017-09-08 08:50:15 +02001787
1788** New features
Christian Eglid1563392017-12-04 16:35:29 +01001789- Add support for ~inputPos~ and ~outputPos~ checking in
1790 ~lou_checkyaml~ thanks to Bue Vester-Andersen. See the manual for
1791 details and examples.
Christian Eglif0145012017-09-08 08:50:15 +02001792** Bug fixes
Christian Eglid1563392017-12-04 16:35:29 +01001793- output positions (~outputPos~) are now calculated based on input
1794 positions (~inputPos~) thanks to Bert Frees. This avoids a whole
1795 class of bugs that previously plagued the output positions. This fix
1796 also obviates the need for the ~pass1Only~ flag. See below for the
1797 deprecation notice.
Christian Eglif0145012017-09-08 08:50:15 +02001798** Braille table improvements
Christian Eglic25f6c32017-11-29 11:43:34 +01001799- Addition of Nemeth and Kangxi radical characters and other
1800 improvements to Chinese braille (~zh-tw.ctb~) thanks to Bo-Cheng
1801 Jhan and 黃偉豪.
Christian Egli5532b122017-11-22 14:08:50 +01001802- Improvements to the Spanish chardefs table thanks to Luis Lorente
1803 Barajas and Simon Aittamaa.
Christian Eglia8d806f2017-12-04 15:00:25 +01001804- Fixed a lowercase ó in Spanish first reported for NVDA thanks to
1805 Sukil Etxenike.
Christian Eglie81b41e2017-11-13 13:30:28 +01001806- New Norwegian 6-dot display braille table for Braillo embossers
1807 thanks to Lars Bjørndal
Christian Egli5532b122017-11-22 14:08:50 +01001808- Added a bunch of whitespace-like codepoints as spaces thanks to
1809 Rimas Kudelis
Christian Egli1a01a132017-12-04 15:10:56 +01001810- Added Lithuanian 6-dot table thanks to Rimas Kudelis.
Christian Egli5532b122017-11-22 14:08:50 +01001811- Addition of more characters to the French tables thanks to Samuel
1812 Thibault
Christian Eglic8f8b7a2017-11-20 14:33:58 +01001813- Improvements to the Hungarian tables thanks to Attila Hammer
Christian Egli5532b122017-11-22 14:08:50 +01001814- Improvements to the Mongolian tables thanks to Tsengel Maidar
Christian Eglic25f6c32017-11-29 11:43:34 +01001815- Fix some math signs in Czech Braille (~cs-chardefs.cti~). Thanks to
1816 Christian Herden of ViewPlus for reporting this.
1817- Updates to the SEB British Braille Tables thanks to Paul Wood
Christian Eglid1563392017-12-04 16:35:29 +01001818- Massive improvements to French back-translation thanks to Michel
Christian Eglif7f2e3f2017-12-04 15:37:06 +01001819 Such and André-Abush Clause
Christian Eglic25f6c32017-11-29 11:43:34 +01001820** Other changes
1821*** Improved documentation
1822- Bue Vester-Andersen added some notes about back-translation and
1823 documented all possible values of the ~mode~ parameter. Also the
Christian Egli1a01a132017-12-04 15:10:56 +01001824 description of ~decpoint~ and ~litdigit~ was improved.
1825- The ~match~ opcode is now documented thanks to Mike Gray and
1826 Christian Egli.
Christian Eglic25f6c32017-11-29 11:43:34 +01001827
1828*** lou_maketable
1829Numerous bug fixes and performance enhancements thanks to Bert Frees
1830
1831*** Code refactoring
1832Many global variables have been removed thanks to Bert Frees
1833
1834*** Code formatting
1835Thanks to clang-format There is now a uniform coding style over the
1836whole code base
1837
1838*** Fix broken NMakefile
1839Thanks to Davy Kager building with nmake should work again
1840
1841** Deprecation notice
1842The ~pass1Only~ flag has been deprecated. Its use should be avoided,
1843and it will be completely removed from the code in the next version of
Christian Eglia8d806f2017-12-04 15:00:25 +01001844Liblouis. When using the ~pass1Only~ flag in this release you will get
1845a warning.
Christian Eglif0145012017-09-08 08:50:15 +02001846
Christian Eglid8a28772017-11-22 11:47:51 +01001847** Backwards incompatible changes
Christian Eglid1563392017-12-04 16:35:29 +01001848None
Bue Vester-Andersenfcbee6d2017-11-28 21:22:24 +01001849
Christian Eglif0145012017-09-08 08:50:15 +02001850** New, renamed or removed tables
1851*** New
Christian Egli5532b122017-11-22 14:08:50 +01001852- no-no-braillo-047-01.dis
Christian Egli1a01a132017-12-04 15:10:56 +01001853- lt-6dot.utb
Christian Eglif0145012017-09-08 08:50:15 +02001854*** Renamed
Christian Eglid1563392017-12-04 16:35:29 +01001855None
Christian Eglif0145012017-09-08 08:50:15 +02001856*** Removed
Christian Eglid1563392017-12-04 16:35:29 +01001857None
Christian Eglif0145012017-09-08 08:50:15 +02001858
Christian Egli7a98fc02017-06-19 09:29:18 +02001859* Noteworthy changes in release 3.3.0 (2017-09-04)
Christian Egli04852b62017-09-04 16:33:59 +02001860This release brings a slew of Braille table improvements, fixes a
1861number of security related bugs and introduces a new tool to generate
1862liblouis Braille tables based on a corpus of know good Braille
1863translations. For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/13?closed=1][the list
1864of closed issues]].
Christian Egli7a98fc02017-06-19 09:29:18 +02001865
1866** New features
Christian Egli3d7b89e2017-08-29 15:40:55 +02001867*** maketable tool
1868A new tool ~lou_maketable~ enables the creation of tables based on a
1869corpus of known good Braille translations. This has huge potential to
1870simplify table maintenance for tables that have so far been dominated
1871by large exception lists. Thanks to Bert Frees.
Christian Egli4be7bb42017-09-04 15:56:51 +02001872*** Meta data query API
1873A new API and a corresponding command line tool to query table meta
1874data thanks to Bert Frees
Christian Eglicfdb2692017-09-04 16:05:09 +02001875
Christian Egli7a98fc02017-06-19 09:29:18 +02001876** Bug fixes
1877*** Back translation
1878- UEB grade 2
1879 - Fix back-translation of whole word contractions followed by other
1880 contractions thanks to James Teh.
1881 - Fix back-translation for contractions followed by punctuation
1882 thanks to James Teh.
Christian Egli57299432017-08-31 13:49:01 +02001883*** Security
1884- Fix a number of CVEs (illegal address access, buffer overflow and
Christian Egli76038e72017-09-04 10:58:17 +02001885 use-after-free or in terms of CVEs: CVE-2017-13738, CVE-2017-13739,
1886 CVE-2017-13740, CVE-2017-13741, CVE-2017-13742 and CVE-2017-13744)
1887 thanks to Mike Gorse.
1888- Fix CVE-2017-13743 thanks to Christian Egli.
Christian Eglicfdb2692017-09-04 16:05:09 +02001889
Christian Egli7a98fc02017-06-19 09:29:18 +02001890** Braille table improvements
Zlatko Sobočanaa5b08b2017-06-30 11:14:57 +02001891- New table for Croatian grade 1 Braille thanks to Zlatko Sobočan.
Christian Egli87062602017-08-29 16:49:49 +02001892- Fixes and tests for Slovak Braille thanks to Simon Aittamaa
1893- Numerous fixes in the character definitions of the Spanish tables
1894 thanks to Simon Aittamaa
Michel Such8b0d4172017-08-07 15:19:41 +02001895- Unified French 6 dots and 8 dots improvements for back-translation
Christian Egli87062602017-08-29 16:49:49 +02001896 thanks to Michel Such
Coscell Kaoaecf1332017-08-18 13:35:48 +02001897- Updates to the Chinese braille table thanks to Coscell Kao
Christian Eglib56c1252017-08-25 15:40:17 +02001898- Updates to Nemeth character definitions thanks to Attila Hammer
1899- The Hungarian tables now conform to the new 2017 standard thanks to
1900 Attila Hammer
Christian Eglicfdb2692017-09-04 16:05:09 +02001901
Christian Egli19480bf2017-11-02 16:31:36 +01001902** Backwards incompatible changes
1903- The constant ~otherTrans~ has been removed in both the C API and the
1904 corresponding Python bindings.
1905- The constants ~ucBrl~, ~noUndefinedDots~ and ~partialTrans~ have
1906 different values now in both the C API and the corresponding Python
1907 bindings.
1908
Christian Egli7a98fc02017-06-19 09:29:18 +02001909** New, renamed or removed tables
1910*** New
Zlatko Sobočanaa5b08b2017-06-30 11:14:57 +02001911- hr-g1.ctb
Christian Egli7a98fc02017-06-19 09:29:18 +02001912*** Renamed
Christian Egli62f18dd2017-07-03 12:23:19 +02001913- hr.ctb -> hr-comp8.utb
Christian Egli7a98fc02017-06-19 09:29:18 +02001914*** Removed
Christian Eglicfdb2692017-09-04 16:05:09 +02001915
Christian Egli0a3dd262017-05-22 14:41:18 +02001916* Noteworthy changes in release 3.2.0 (2017-06-06)
Christian Eglid1998f22017-06-06 14:46:08 +02001917Aside from the usual improvements to Braille tables this release
1918focuses on improving the internal infrastructure. Numerous bugs have
1919been fixed, the CI infrastructure also checks mingw builds now and MSVC
1920compatibility has been massively improved. For a detailed list of all
1921the changes refer to [[https://github.com/liblouis/liblouis/milestone/10?closed=1][the list of closed issues]].
1922
Christian Eglicac9b742017-03-07 16:12:49 +01001923** Bug fixes
Christian Egliaf7abbd2017-05-24 14:45:53 +02001924- Fix capsnocont opcode. Also mark capital letters with capsletter
1925 symbol when capsnocont is defined but no begcapsword indicator is
1926 defined. Thanks to Bue Vester-Andersen.
Christian Egli277e6b12017-05-31 17:02:02 +02001927- Fix the syllable opcode. It had been broken under some circumstances
1928 since 3.0. Thanks to Bert Frees and Christian Egli.
Christian Eglicac9b742017-03-07 16:12:49 +01001929** Other changes
Christian Egli6eca58e2017-04-25 12:22:12 +02001930- Fix building of Python bindings when cross-compiling. Thanks to
1931 Chris Brannon
Christian Egli7ee87dd2017-06-01 14:13:40 +02001932- lou_checkyaml is now only installed if libyaml is available. Thanks
1933 to Christian Egli
Christian Eglid1998f22017-06-06 14:46:08 +02001934- Major internal changes to improve MSVC compatibility. Thanks to Davy
Christian Eglic233c012017-06-01 14:17:49 +02001935 Kager
Christian Egli9af1b3f2017-06-01 15:20:11 +02001936- Enhance documentation on usage of display tables in particular
1937 in conjunction with Unicode dot patterns. Thanks to Bert Frees
Christian Eglicac9b742017-03-07 16:12:49 +01001938** Braille table improvements
Kevin Deromec89de812017-03-07 16:27:16 +01001939- Improvements to the Swedish 8-dots table (~se-se.ctb~) thanks to
1940 Kevin Derome
Christian Egli21ea0dd2017-03-21 10:24:30 +01001941- Improvements to the Simplified-Chinese Braille table thanks to
1942 Roshanson
1943- Fixes for the International Phonetic Alphabet Braille table thanks
1944 to Ludovic Oger
Christian Egli7ee87dd2017-06-01 14:13:40 +02001945- Added more Unicode symbols (fractions and not equal) to the UEB
Christian Eglia5068cb2017-04-24 13:45:38 +02001946 tables. Thanks to Paul Wood and James Bowden.
Christian Egli62685b12017-05-03 09:19:11 +02001947- Fixes to UEB grade 2 (en-ueb-g2.ctb) thanks to Mike Gray.
Christian Egli41b884b2017-05-17 18:01:34 +02001948- Vastly improved Danish tables thanks to Bue Vester-Andersen.
Christian Eglib4062602017-06-06 11:51:49 +02001949 - New literary tables for 6 dots, mainly for embossing (no
1950 back-translation).
1951 - Improved back-translation in 6 dots tables, all grades.
Christian Eglid1998f22017-06-06 14:46:08 +02001952 - New support for many Unicode characters in all 6 dots tables.
Christian Eglib4062602017-06-06 11:51:49 +02001953 - Strengthened internal tests to prevent breaking of tables due to
1954 changes in the code.
1955 - Fixed 8 dots tables which were broken in the previous version.
Ashoka Bandula Weerawardhana0b85ae62017-05-18 08:33:37 +02001956- New Braille tables for Sinhala script thanks to Ashoka Bandula
1957 Weerawardhana.
Christian Egli72be9122017-05-29 18:00:29 +02001958- New Hungarian grade 2 Braille table thanks to Attila Hammer.
1959- Improvements to UEB in particular to symbols specified mostly on the
1960 Appendix 3 (Symbols List) from the Rules of Unified English Braille
1961 Second Edition 2013 document thanks to Victor Montalvão.
Mohammadreza Rashad7ac5c092017-06-06 11:03:59 +02001962- Improvements to Persian 8 dot computer Braille table thanks to
1963 Mohammadreza Rashad.
Christian Eglicac9b742017-03-07 16:12:49 +01001964** Backwards incompatible changes
Christian Egli7ee87dd2017-06-01 14:13:40 +02001965- The old Greek table gr-gr-g1.utb is gone. Use el.ctb instead
1966- The doctests are gone. They have been superseded by the YAML tests.
Christian Eglie290a7b2017-06-20 14:12:04 +02001967- The internal API which was previously in louis.h has been made
1968 internal, i.e. the file is renamed to internal.h and the function
1969 names are prepended with underscores ('_').
Christian Egli72be9122017-05-29 18:00:29 +02001970
Christian Egli9e7db122017-05-18 14:30:48 +02001971** New, renamed or removed tables
Christian Eglib4062602017-06-06 11:51:49 +02001972*** New
1973- sin.cti
1974- sin.utb
Christian Egli72be9122017-05-29 18:00:29 +02001975- hu-hu-g2.ctb (new)
Christian Eglib4062602017-06-06 11:51:49 +02001976- da-dk-6miscChars.cti (new)
1977- da-dk-g16-lit.ctb (new)
1978- da-dk-g26-lit.ctb (new)
1979- da-dk-g26l-lit.ctb (new)
1980*** Renamed
Christian Egli467499b2017-05-31 16:56:42 +02001981- gr-gr-g1.utb (removed and replaced by el.ctb)
Christian Eglib4062602017-06-06 11:51:49 +02001982*** Removed
1983- da-chardefs6.cti
1984- da-dk-common6.uti
1985- da-dk-g26-patches.cti
1986- da-dk-g2core.cti
1987- da-dk-nocaps.uti
Christian Eglicac9b742017-03-07 16:12:49 +01001988
Christian Egli1de1c3e2017-02-09 13:47:22 +01001989* Noteworthy changes in release 3.1.0 (2017-03-06)
Christian Eglice54d2f2017-03-06 14:33:39 +01001990An influx of new contributors have made sure that liblouis continues
1991to improve. Back translation has seen major improvements, there are
1992some additional modes to help screen readers, for many tables meta
1993data has been added, the Python bindings are more robust, Windows
1994support has been improved, the YAML test suite has been generalized
1995and as usual new and improved braille tables have been included. On
1996the licensing front we managed to get almost all tables re-licensed to
1997LGPLv2.1+.
1998
Christian Egli0d0c8b92016-11-03 11:50:31 +01001999** New features
Christian Egli146b53f2017-03-02 16:45:49 +01002000*** Meta data
Christian Eglice54d2f2017-03-06 14:33:39 +01002001Most of the translation tables now contain meta data. This makes them
Christian Egli146b53f2017-03-02 16:45:49 +01002002discoverable. Programs can use the lou_findTable function to find a
2003table based on a query.
Christian Eglice54d2f2017-03-06 14:33:39 +01002004
Christian Egli98bd6092016-11-07 17:05:26 +01002005*** noUndefinedDots mode
2006Add a noUndefinedDots mode to disable the output of dot numbers when
2007back-translating undefined patterns. Thanks to James Teh.
2008
Christian Eglice54d2f2017-03-06 14:33:39 +01002009When back translating input from a braille keyboard cell by cell, it is
Christian Egli98bd6092016-11-07 17:05:26 +01002010desirable to output characters as soon as they are produced.
Christian Eglice54d2f2017-03-06 14:33:39 +01002011Similarly, when back translating contracted braille, it is desirable to
Christian Egli98bd6092016-11-07 17:05:26 +01002012provide a "guess" to the user of the characters they typed. To achieve
2013this, liblouis needs to have the ability to produce no text when
2014indicators (which don't produce a character by themselves) are not
2015followed by another cell. This works already for indicators liblouis
2016knows about such as capital sign, number sign, etc., but it does not
2017work for indicators which are not (and cannot be) specifically defined
2018as indicators. For example, in UEB, dots 4 5 6 alone produces the text
2019"\456/". Setting the noUndefinedDots mode suppresses this dot number
2020output.
2021
2022*** partialTrans mode
2023Add a partialTrans mode to specify that back-translation input should
2024be treated as an incomplete word. Thanks to James Teh.
2025
2026If this mode is set, rules that apply only for complete words or at
2027the end of a word will not take effect. This is intended to be used
2028when translating input typed on a braille keyboard to provide a rough
2029idea to the user of the characters they are typing before the word is
2030complete.
Christian Eglice54d2f2017-03-06 14:33:39 +01002031
Christian Egli3b7f16a2017-02-27 17:43:09 +01002032*** YAML test framework
2033The YAML framework has been extended and is much more useful now. You
2034can test multiple tables within one YAML file, you can define test
2035tables directly inline and you can test multiple tables using the same
Christian Egli1f25a4f2017-03-06 11:54:43 +01002036test data. Refer to the documentation for the details.
2037
2038If really not wanted the YAML tests can be disabled by specifying
2039~configure --without-yaml~.
Christian Eglice54d2f2017-03-06 14:33:39 +01002040
Christian Egli0d0c8b92016-11-03 11:50:31 +01002041** Bug fixes
2042- Fixes implicit declaration of 'pattern_check' thanks to Reiner Dolp
Christian Eglib7ee1872016-11-10 15:09:07 +01002043- Fix a stackoverflow crash on applications with smaller stack size.
2044 Thanks to Victor Montalvão.
Christian Eglie6518af2017-01-13 14:38:14 +01002045- Fix the \v escape sequence. Thanks to Davy Kager.
Christian Egli3c555242017-02-27 14:28:22 +01002046- The Python bindings now give a helpful error if liblouis has been
2047 compiled with a different character size than Python. Thanks to Matt
2048 Wenn.
Christian Eglie3950fa2017-03-01 14:20:13 +01002049- Massive bug fixes in multipass rules. Dave Mielke has done a
Christian Eglice54d2f2017-03-06 14:33:39 +01002050 tremendous job improving the multipass machinery also in the
Christian Eglie3950fa2017-03-01 14:20:13 +01002051 context of back-translation. Where needed nofor/noback has been
2052 added to the multipass rules.
Christian Eglice54d2f2017-03-06 14:33:39 +01002053
Christian Egli0d0c8b92016-11-03 11:50:31 +01002054** Other changes
Christian Eglice54d2f2017-03-06 14:33:39 +01002055- Improvements to the Emacs mode for editing liblouis tables thanks to
Christian Egli0d0c8b92016-11-03 11:50:31 +01002056 Christian Egli
2057- Documenting lou_charSize thanks to Reiner Dolp
2058- Support for relative table paths in the tests. This will make sure
2059 you always know which table a test actually uses.
2060- Infrastructure to build windows binaries in a Docker container,
2061 thanks to Bert Frees
Christian Eglice54d2f2017-03-06 14:33:39 +01002062
Christian Egli0d0c8b92016-11-03 11:50:31 +01002063** Braille table improvements
2064- UEB improvements, thanks to Mike Gray
2065 - Fixed apostrophe and back translation
Christian Eglice54d2f2017-03-06 14:33:39 +01002066 - Added rules for Unicode apostrophe handling
Christian Egli008ec392017-03-02 14:10:37 +01002067 - Improvements to UEB and Nemeth math
Christian Egli0d0c8b92016-11-03 11:50:31 +01002068- Complete overhaul of Lithuanian 8-dots table, thanks to Rimas
2069 Kudelis
Christian Eglia1d1a062016-11-18 11:17:19 +01002070- New Urdu 6 Dot Grade 1 and 2 Braille tables thanks to Jake Kyle
Christian Egli7fb79582016-11-29 13:58:26 +01002071- Improvements to Italian 8 dots computer braille, thanks to Simone
2072 Dal Maso.
Christian Egli4c608d32016-12-01 10:48:11 +01002073- New table ~unicode-braille.utb~ that helps to back translate braille
Christian Eglice54d2f2017-03-06 14:33:39 +01002074 input to Unicode braille output, thanks to Leonard de Ruijter.
Coscell Kao35ee4b62016-12-01 16:08:17 +01002075- Improvements to the Chinese braille table thanks to Coscell Kao.
Christian Egli3b6629b2017-01-11 14:08:33 +01002076- New Turkish braille table for grade 1 that should replace the
Arend Arends4aa6bfe2016-12-01 14:54:39 +01002077 old ~tr.ctb~ table, thanks to Arend Arends.
Christian Egli7a8ee8d2017-01-11 14:05:26 +01002078- New Persian grade 1 table and 8-dots computer table thanks to
2079 Mohammadreza Rashad.
Christian Eglif92d5892017-01-13 14:59:01 +01002080- New table for the International Phonetic Alphabet thanks to Ludovic
2081 Oger
Christian Eglif2a40b32017-01-13 16:17:41 +01002082- Fixes for the French 6 and 8 dots tables thanks to Michel Such. Some
Christian Eglice54d2f2017-03-06 14:33:39 +01002083 errors have been fixed and many Unicode characters have been added.
Christian Eglie6945a22017-02-09 13:47:34 +01002084- Add an extended 8-dot computer braille table for U.S. English thanks
2085 to Davy Kager. The table is tailored for use on Windows (CP-1252)
2086 and uses dot patterns from Windows screen readers, but should be
2087 useful on other platforms too.
Christian Eglia5802f22017-03-01 14:51:01 +01002088- New Greek table that is better than the existing Greek Grade 1
2089 Braille Table (gr-gr-g1.utb) thanks to Dave Mielke.
Christian Eglic10ecda2017-03-01 16:36:02 +01002090- Improved number back-translations on fr-fr-g1 and vi-g1 tables
2091 thanks to Victor Montalvao.
Christian Egli329ac352017-03-02 15:07:19 +01002092- New Chinese Braille table for use in the mainland of China thanks to
2093 Kaifang Bao of RejoinTech.
Christian Egli1f25a4f2017-03-06 11:54:43 +01002094- The Black Circle character is commonly used for displaying password
2095 characters. The absence of its definition leads to users not being
2096 able to know how many characters were typed in such fields. This has
2097 been improved for many tables thanks to Victor Montalvao.
Christian Eglice54d2f2017-03-06 14:33:39 +01002098
Christian Egli25184022017-03-01 13:55:36 +01002099** License changes
Christian Eglice54d2f2017-03-06 14:33:39 +01002100- DocArch has agreed to re-license their tables, so we have 8 more
Christian Egli25184022017-03-01 13:55:36 +01002101 tables under the LGPLv2.1+.
Christian Egli98bd6092016-11-07 17:05:26 +01002102
Christian Egli0d0c8b92016-11-03 11:50:31 +01002103** Backwards incompatible changes
Christian Egli3b7f16a2017-02-27 17:43:09 +01002104- The naming in the YAML test framework has changed slightly from
2105 `tables:` to `table:`.
Christian Egli0d0c8b92016-11-03 11:50:31 +01002106
Christian Egli08bdc662016-07-14 17:16:24 +02002107* Noteworthy changes in release 3.0.0 (2016-07-14)
2108This is the biggest release of liblouis in years. The major news are
2109that we now have proper support for UEB and secondly that liblouis is
2110now licensed under [[https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html][LGPLv2.1+]].
Christian Egli17dd1472016-06-17 11:40:22 +02002111
Christian Egli08bdc662016-07-14 17:16:24 +02002112In order to support UEB the internals of liblouis have seen a major
2113rewrite. New Opcodes have been added to support the requirements for
2114proper UEB for example for emphasis handling or to handle proper
2115translation of numbers. Changes to the opcodes are described in the
2116documentation. Some of these changes are not backwards compatible. All
2117tables that come with liblouis have been migrated. If you have private
2118tables look at the section on upgrading from previous versions in the
2119[[https://github.com/liblouis/liblouis/wiki/Emphasis-Opcodes#upgrade-from-previous-versions][wiki]].
Christian Egli17dd1472016-06-17 11:40:22 +02002120
2121This release also changes the C API. External applications will have
2122to adapt the way they call liblouis. In particular the typeform
2123parameter has changed.
2124
Christian Egli08bdc662016-07-14 17:16:24 +02002125The license of the library and most of the tables has been changed to
2126LGPLv2.1. For a detailed list which tables are still in the process of
2127migrating the license refer to the [[https://github.com/liblouis/liblouis/wiki/Licensing-of-liblouis-tables][wiki page about the license change]].
2128
Christian Egli3d9631e2016-01-05 15:51:28 +01002129** New features
Christian Egli10521cb2016-06-17 16:19:14 +02002130- Numerous features to support UEB properly. Thanks to Mike Gray,
Christian Egli14f482f2016-06-17 16:24:06 +02002131 William Freeman, Davy Kager, Keith Creasy and the American Printing
2132 House for the Blind for sponsoring this work.
Christian Egli17dd1472016-06-17 11:40:22 +02002133 - support the many emphasis classes needed for UEB.
2134 - support translation of numbers according to the rules of UEB.
2135 - Capitalization is now handled just like emphasis.
Christian Egli08bdc662016-07-14 17:16:24 +02002136 - support for numeric mode
2137- UTF-8 support for all tools thanks to Christian Egli.
Christian Egli244a4c62016-01-05 17:53:42 +01002138- The YAML tests now allow for an optional test description. See the
2139 documentation for more details.
Christian Egli08bdc662016-07-14 17:16:24 +02002140- Add ~lou_checkTable~ and ~lou_getTypeformForEmphClass~ to the C API
2141 and to the Python bindings
Christian Egli3d9631e2016-01-05 15:51:28 +01002142** Bug fixes
Christian Egli89c2a2b2016-07-15 10:21:05 +02002143- Stop buffer overrun in ~lou_getProgramPath~, and also free memory
Christian Egliac5d13c2016-06-16 15:06:05 +02002144 after usage. Thanks to Michael Curran.
Christian Egli3d9631e2016-01-05 15:51:28 +01002145** Other changes
Christian Egli08bdc662016-07-14 17:16:24 +02002146- The license of the library and most of the tables has been changed
2147 to [[https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html][LGPLv2.1+]].
Christian Eglif847bd12015-12-16 17:49:47 +01002148- Improvements to the test suite:
Christian Egli89c2a2b2016-07-15 10:21:05 +02002149 - Output is printed to ~stderr~. This helps with locating errors when
Christian Eglif847bd12015-12-16 17:49:47 +01002150 testing with the YAML test suite.
2151 - typeform is included in output.
Christian Egli3d9631e2016-01-05 15:51:28 +01002152** Braille table improvements
Christian Egli35a151f2016-04-27 12:50:37 +02002153- Improved Finish 6-dot braille thanks to Jukka Eerikäinen
Christian Eglifba92d52016-06-10 16:36:59 +02002154- Improvements to the Chinese braille table thanks to Coscell Kao
Christian Egli44c23d02016-06-16 10:22:27 +02002155- Improvements to Mongolian thanks to Tsengel Maidar and Sreeja Param
Christian Egli99331892016-06-07 11:04:19 +02002156- Added new Slovak tables based off the official Slovak braille
2157 standard thanks to Peter Vagner
Christian Egli7e69d722016-06-16 14:57:17 +02002158- Changes to the Norwegian tables. There are now three Norwegian 8-dot
2159 tables
Christian Egli89c2a2b2016-07-15 10:21:05 +02002160 - ~no-no-comp8.ctb~: Norwegian 8-dot computer braille table
2161 - ~no-no-8dot.utb~: Norwegian 8-dot braille table
2162 - ~no-no-8dot-fallback-6dot-g0.utb~: Norwegian 8-dot braille table
Christian Egli7e69d722016-06-16 14:57:17 +02002163 with uncontracted 6-dot fallback
Davy Kagerb779dfb2016-07-07 11:53:48 +02002164- Changes to the Dutch tables
2165 - Conforms better to the standard.
Christian Egli89c2a2b2016-07-15 10:21:05 +02002166 - ~nl-BE-g1.ctb~ renamed to ~nl-BE-g0.utb~
2167 - ~nl-NL-g1.ctb~ renamed to ~nl-NL-g0.utb~
Bue Vester-Andersen707e80e2016-07-14 16:21:20 +02002168- Improvements to Danish tables: Added grade 2 with limited
2169 contractions to 6 and 8 dots. Corrected contraction of many words.
2170 - Renamed:
Christian Egli89c2a2b2016-07-15 10:21:05 +02002171 - ~da-ansi8.dis~ -> ~da-dk-octobraille.dis~
2172 - ~da-dk-g16.utb~ -> ~da-dk-g16.ctb~
2173 - ~da-dk-g18.utb~ -> ~da-dk-g18.ctb~
2174 - ~hyph_da_DK.dic~ -> ~hyph_brl_da_dk.dic~
2175 - Removed: ~da-dk-g28caps.cti~, ~da-dk-g28-patches.cti~ and
2176 ~da-chardefs8.cti~
Christian Egli3d9631e2016-01-05 15:51:28 +01002177** Backwards incompatible changes
2178- The json based harness test suite has been removed as its
2179 functionality has been superceded by the YAML tests. Please use
2180 these from now on.
Christian Egli17dd1472016-06-17 11:40:22 +02002181- A number of opcodes to handle emphasis have been renamed.
2182- The C API regarding the typeform parameter has changed.
Christian Egli3d9631e2016-01-05 15:51:28 +01002183
Christian Egli5f068522015-12-01 17:16:12 +01002184* Noteworthy changes in release 2.6.5 (2015-12-1)
2185This minor release introduces new tables (Mongolian and Norwegian 8
2186dot) and new features to the tracing tool. But the most exiting news
2187about this release is probably the fact that 12 developers have
2188contributed to it, showing how widely used liblouis is and how
2189actively the development progresses.
Christian Eglife008682015-09-04 12:35:08 +02002190
2191** New features
Christian Egli0899aa12015-09-08 10:39:35 +02002192- A DEF file is now generated automatically for the windows builds.
2193 Thanks to Christian Egli
Christian Egli8aa26262015-11-30 12:07:23 +01002194- lou_trace supports backtranslation now. Thanks to Bert Frees
Christian Eglife008682015-09-04 12:35:08 +02002195
2196** Bug fixes
Christian Egli3a3b7722015-09-11 14:26:38 +02002197- Fix a bug in the findtable code. Thanks to Michael Katzmann for the
2198 report.
Christian Egli127d9dd2015-12-01 16:41:04 +01002199- Fix some compile time warnings on Windows, thanks to Bue
2200 Vester-Andersen.
Christian Egli1c9ad4e2015-12-01 17:01:20 +01002201- Fixes to the logging code by Arend Arends.
Christian Eglife008682015-09-04 12:35:08 +02002202
2203** Other changes
Christian Eglidc245912015-12-01 12:16:44 +01002204- Add test data for EUB symbols, thanks to Paul Wood
Christian Egli1c9ad4e2015-12-01 17:01:20 +01002205- Clean up dead code i.e. remove support for (undocumented) nobreak
2206 opcode. Thanks to Bue Vester-Andersen.
Christian Eglife008682015-09-04 12:35:08 +02002207
2208** Braille table improvements
Christian Egli56110c92015-12-01 16:10:34 +01002209- New Mongolian table thanks to Tsengel Maidar and Sreeja Param.
Christian Egli7559d732015-10-22 14:30:49 +02002210- Improvements to the Chinese braille table thanks to Coscell Kao.
Christian Egli1eb92082015-12-01 13:21:43 +01002211- Massive improvements to Norwegian, thanks to Lars Bjørndal, Ammar
2212 Usama and Jostein Austvik Jacobsen. They added a 8 dot table and
2213 lots of test data.
Christian Egli9a56be82015-11-30 11:44:48 +01002214- Improvements to Hungarian, thanks to Attila Hammer
Christian Eglife008682015-09-04 12:35:08 +02002215
Christian Eglife8edda2015-06-04 14:37:57 +02002216* Noteworthy changes in release 2.6.4 (2015-08-31)
Christian Egli29fb6da2015-08-31 14:55:58 +02002217This is a minor release in terms of features. But in terms of test
2218coverage and stability it is a vast improvement over previous versions
2219of Liblouis. The new YAML based test suite contains more than a
2220million of validated translations. Every change in Liblouis is tested
2221against this corpus ensuring the change doesn't break anything.
Christian Eglife8edda2015-06-04 14:37:57 +02002222
2223** New features
Christian Egli29fb6da2015-08-31 14:55:58 +02002224- YAML based harness tests. Harness tests can now be written in simple
2225 YAML notation and they are integrated with the normal `make check`
2226 command. They can be used for both ucs2 and ucs4 and no Python is
Christian Egli01fd3742015-08-31 16:48:18 +02002227 required. Thanks to Christian Egli.
Christian Eglife8edda2015-06-04 14:37:57 +02002228
2229** Bug fixes
Christian Egli9c90e232015-08-25 11:31:31 +02002230- Use a separate gnulib instance for the library and the tools. Use
2231 the strndup module to avoid build problems on windows.
2232- Fix a problem with the nocross opcode when used in combination with
2233 the opcodes nocont and compbrl, thanks to Bue Vester-Andersen.
Christian Egli29fb6da2015-08-31 14:55:58 +02002234- Fix a problem with the decoding of the harness test files. Thanks to
2235 Bert Frees.
2236- Fix numerous problems in the way braille indicators are handled.
2237 There is now a safe version of the checkAttr function which makes
2238 sure that no attributes are checked beyond the boundaries of the
2239 currentInput. This fixes the random behavior with tests where the
2240 emphasis extends to the end of the input string. Thanks to Christian
2241 Egli.
Christian Eglife8edda2015-06-04 14:37:57 +02002242
2243** Other changes
Christian Egli9c90e232015-08-25 11:31:31 +02002244- if found use texi2any to build the documentation, thanks to Martin
2245 Michlmayr.
2246- Fix permissions of Korean tables, thanks to Peter Lundblad.
2247- Update the windows build instructions, thanks to Bue
2248 Vester-Andersen.
Christian Eglife8edda2015-06-04 14:37:57 +02002249
2250** Braille table improvements
Christian Egli9c90e232015-08-25 11:31:31 +02002251- Improvements to Hungarian, thanks to Attila Hammer
Christian Egli29fb6da2015-08-31 14:55:58 +02002252- Improvements to Hungarian 8 dot and Serbian grade 1, thanks to
2253 Zvonimir Stanecic
Christian Eglife8edda2015-06-04 14:37:57 +02002254
Christian Egli78cbee42015-05-22 11:46:39 +02002255* Noteworthy changes in release 2.6.3 (2015-06-01)
Christian Egli2032b382015-06-01 12:02:18 +02002256Given the release number you might think this is only a minor release.
2257However looking at the number of developers who contributed to it and
2258the number of pull requests and issues that were solved this turns out
2259to be a very impressive and solid release. Most prominently we have a
2260new function to discover tables based on meta data in table headers.
2261Also makeinfo is no longer required to build liblouis. And lastly we
2262have numerous improvements in Braille tables such as Korean,
2263Vietnamese and UEB to name just a few.
Christian Eglia5cdcba2015-03-11 09:32:41 +01002264
2265** New features
Bert Frees9b0ff432015-05-22 14:59:16 +02002266- [beta] The new function lou_findTable can be used for table
Christian Egli2032b382015-06-01 12:02:18 +02002267 discovery based on meta data in table headers. Thanks to Bert Frees.
2268- The Python API now has a new function to check tables aptly named
2269 ~checkTable~. Thanks to Davy Kager.
Christian Eglia5cdcba2015-03-11 09:32:41 +01002270
2271** Bug fixes
Christian Eglib6188602015-05-22 14:30:31 +02002272- Fixed a problem in resolveTable when using a Java resolver, thanks
2273 to Bert Frees
Christian Eglia5cdcba2015-03-11 09:32:41 +01002274
Christian Egli674844e2015-03-12 13:56:49 +01002275** Other changes
Christian Egli7f869e82015-03-16 22:38:47 +01002276- The build dependency on makeinfo is now optional. If it is not
Christian Egli674844e2015-03-12 13:56:49 +01002277 installed we simply do not build the documentation.
2278
Christian Eglia5cdcba2015-03-11 09:32:41 +01002279** Braille table improvements
Christian Egli78cbee42015-05-22 11:46:39 +02002280- Improvements to Bengali, Devanagari, Kannada, Gujarati, Malayalam,
2281 Telugu and Oriya, thanks to Sreeja Param
torchtrust8e3b7092014-11-19 16:56:43 +00002282- Corrections and improvements made to en-GB tables thanks to Paul
2283 Wood
Christian Egli2032b382015-06-01 12:02:18 +02002284- Vast restructuring to Korean tables. In 2006 the Institute for Korean
2285 Braille modified some dots in Korean Braille. Specifically, some
2286 punctuation dots are now based on English. To accommodate this change
Christian Egli040ea862015-05-22 14:43:55 +02002287 and to retain the old tables, the Korean table set was revised as
2288 follows:
2289 - Added three files: ko-chars, the Korean characters dictionary, and
2290 rules for g1 and g2.
2291 - ko-g1 and ko-g2 are now interface files that includes needed
2292 files.
Christian Egli2032b382015-06-01 12:02:18 +02002293 - Added three files for Korean Braille 2006 revision along with a
Christian Egli040ea862015-05-22 14:43:55 +02002294 test harness.
Bert Freesacd87732015-05-22 15:17:37 +02002295- New table for Polish 8 dot computer braille. Thanks to Karol Pecyna.
Bert Freese7cf71b2015-05-22 15:34:10 +02002296- New table for Vietnamese 6 dot. Thanks to Harri Pasanen.
Paul Wood065dd752015-05-20 11:58:39 +01002297- Corrections and improvements made to UEB tables thanks to Paul Wood
2298 - Typeform passage indicators
2299 - Degree sign
Paul Wood6c14b042015-05-20 14:06:00 +01002300 - Dash signs
Paul Wood55a899b2015-05-20 17:09:35 +01002301 - Math signs
Paul Wood5d750402015-05-22 10:39:53 +01002302 - Accent modifiers
Paul Wood7c96b182015-05-26 11:01:21 +01002303 - Accented letters
Christian Eglia5cdcba2015-03-11 09:32:41 +01002304
Mesar Hameed27533302015-02-25 08:20:08 +00002305* Noteworthy changes in release 2.6.2 (2015-03-02)
Christian Eglib4b192b2015-03-02 10:54:30 +01002306This release, which was mostly pushed out the door by Bert and Mesar,
Christian Eglicfb62052015-03-01 23:42:00 +01002307fixes a long standing emphasis bug, adds more functionality to the
Christian Eglib4b192b2015-03-02 10:54:30 +01002308harness test suite and improves, as usual, on Braille tables. Notably
2309there is a brand new finish table backed by Celia.
Christian Eglicfb62052015-03-01 23:42:00 +01002310
Mesar Hameed998672c2015-02-25 08:44:47 +00002311** New features
2312- Harness tests now can test for typeform differences.
Mesar Hameed27533302015-02-25 08:20:08 +00002313
Mesar Hameed7f3f7942015-02-25 09:22:02 +00002314** Bug fixes
2315- Fix for emphasis bug, thanks to Michael Gray
2316
Mesar Hameeda8d70fb2015-02-25 10:25:22 +00002317** Braille table improvements
Christian Eglicfb62052015-03-01 23:42:00 +01002318- Correction to comments in Norwegian generic tables, thanks to Lars
2319 Bjørndal
2320- Corrections to dot patterns in no-no-g0.utb thanks to Lars Bjørndal
2321- Corrections and additional test cases for Hungarian grade 1, thanks
2322 to Hammer Attila.
Bert Frees83726192015-02-25 12:12:11 +01002323- New 6-dot table for Finnish thanks to Jukka Eerikäinen from
2324 Celia. The existing tables for Finnish were 8-dot, but there is an
2325 official specification only for 6-dot braille in Finnish.
Mesar Hameeda8d70fb2015-02-25 10:25:22 +00002326
Mesar Hameedd000f182014-10-13 09:49:04 +01002327* Noteworthy changes in release 2.6.1 (2014-12-01)
Christian Eglif3157882014-12-01 14:01:58 +01002328This release focuses on table and documentation improvements. The
2329documentation has been restructured to cater to people starting with
2330writing Braille tables. End users will see improvements to Braille for
2331Danish, Dutch, Hungarian, Irish and UK English.
2332
Mesar Hameedc94cc352014-12-01 07:21:36 +00002333** New features
2334*** New Braille tables
Christian Egli3079a9a2014-12-01 11:36:49 +01002335- New grade 1 and grade 2 Gaeilge tables implementing the 2014 UIB
2336 standard. Including tests, thanks to Ronan McGuirk, Mesar Hameed.
Mesar Hameedc94cc352014-12-01 07:21:36 +00002337
Mesar Hameed60607802014-09-02 16:05:10 +01002338** Braille table improvements
Christian Egliec585e82014-09-18 11:10:05 +02002339- Updates and correction to Hungarian braille tables, thanks to Hammer
2340 Attila.
Mesar Hameed0fa3c922014-11-28 08:33:46 +00002341- Correction to English UK grade 2 braille tables and new tests,
2342 thanks to Paul Wood, Mesar Hameed
Mesar Hameed9c038c32014-12-01 10:38:54 +00002343- Vastly improved Danish tables thanks to Bue Vester-Andersen
2344 - back-translation, both in 6 dots grade 2 and 8 dots grade 2.
Christian Eglif3157882014-12-01 14:01:58 +01002345 - Better handling of dash, slash, and other punctuation within words
2346 in 8 dots grade 2.
Bert Frees6d69bc92014-11-28 15:50:42 +01002347- New table for Dutch (Netherlands) thanks to Henri Apperloo from CBB
Mesar Hameed60607802014-09-02 16:05:10 +01002348
Christian Egli3079a9a2014-12-01 11:36:49 +01002349** Bug fixes
2350- fix a compiler warning in the logging code. Thanks Peter Lundblad
2351 for reporting it and Michael Whapples for fixing the problem.
2352
Christian Eglide22f202014-09-26 17:07:24 +02002353** Documentation updates
2354- The documentation has been restructured to be more beginner friendly
Christian Egli3079a9a2014-12-01 11:36:49 +01002355 and a short introduction to translation table writing has been
2356 added. Thanks to Joseph Lee and Christian Egli
Christian Egliaf52d5c2014-09-01 13:20:26 +02002357
Michael Whapplesfd376772014-09-23 15:31:51 +01002358** Other changes
2359- When compiling with mingw or cygwin resulting dll is liblouis.dll.
Christian Eglif3157882014-12-01 14:01:58 +01002360- runHarness.py: add new output format, compact output mode suitable
Christian Egli3079a9a2014-12-01 11:36:49 +01002361 for grepping.
Michael Whapplesfd376772014-09-23 15:31:51 +01002362
Christian Eglibaf7db62014-12-01 14:07:09 +01002363** Backwards incompatible changes
2364- Deleted ga.ctb now superseded by ga-g1.utb and ga.g2.ctb.
2365- Nl-Nl-g1.utb has been removed. It is superseded by nl-NL-g1.ctb.
2366- nl-be-g1.utb has been removed. It is superseded by nl-BE-g1.ctb.
2367
Mesar Hameedb7cb7b42014-12-01 10:47:09 +00002368* Noteworthy changes in release 2.6.0 (2014-09-01)
Christian Eglia519c982014-09-01 11:43:24 +02002369This is the first release by the new maintainer team. A lot of work by
2370people from across the community contributed to this release. There
Christian Egliaf52d5c2014-09-01 13:20:26 +02002371are massive additions and updates to the Braille tables (e.g.
2372Afrikaans, Hebrew, many Indian languages, Korean) and also changes to
2373the C API to enable call backs for error messages and warnings.
Christian Egli42dc2f12014-08-27 16:54:02 +02002374
Christian Egli907c6b42014-05-06 12:18:59 +00002375** New features
Christian Egliad7f1222014-08-27 12:37:12 +02002376*** New Braille tables
2377- Tables for Afrikaans, Cherokee, Hawaiian, Maori, Sotho and Tswana
Christian Egli42dc2f12014-08-27 16:54:02 +02002378 were donated by Greg Kearney. Afrikaans, Cherokee, Maori and Hawaiian
Christian Eglid1d67492014-08-27 16:24:10 +02002379 all are grade 1 tables and with the exception of Cherokee were
2380 derived from World Braille Usage 2013. The Cherokee was taken from
2381 the specification published at www.cbtbc.org/cherokee/.
Christian Egliad7f1222014-08-27 12:37:12 +02002382*** Logging callback
2383There is now a callback system in place to get error messages and
2384warnings. This can be used from programs that use liblouis to log
2385warnings for example.
Michael Whapples5cdce4a2014-04-11 09:24:55 +00002386
Michael Whapplesb4465d02014-03-12 12:23:08 +00002387** Bug fixes
Ken Perry643928c2014-07-01 07:01:08 -04002388- fix back translation problems when word gets split in unusual places
Christian Eglia326e5f2014-07-07 14:07:38 +02002389 causing back translation of whole words for example K5 back
2390 translates to Knowledgeen, M>k back translates to Moreark, and M5
2391 back translates to Moren. This caused over 8400 extra back
2392 translation errors in en-us-g2 and 5000 in en-ueb-g2. Thanks to Ken
2393 Perry.
Michael Whapplesb4465d02014-03-12 12:23:08 +00002394- Fixed bug to prevent removal of \xffff between largesign rules. This
Christian Egli554b70f2014-09-01 13:47:30 +02002395 solves a Liblouisutdml bug where \xffff is used as a segment
Christian Eglida700862014-06-03 10:15:29 +02002396 delimiter.
2397- Fixed a bug in back translation, when a letsign was encountered, the
Mesar Hameed5353c422014-04-12 18:40:02 +00002398 letsign was being applied beyond the element it applied to.
Christian Egli0e8d4e32014-05-21 11:48:49 +02002399- Fix memory leaks in the default table resolver introduced in the
2400 previous release.
Christian Egli71e292d2014-06-26 16:37:30 +02002401- Fixes to the build system by Simon Aittamaa
Michael Whapplesb4465d02014-03-12 12:23:08 +00002402
Christian Egli4b1fc482014-03-07 13:06:32 +00002403** Braille table improvements
Christian Egli704de6b2014-09-01 10:55:27 +02002404- Major improvements to Indian tables thanks to the Indian National
2405 Institute for Visually Handicapped, in particular Dipendra Manocha,
Christian Eglida700862014-06-03 10:15:29 +02002406 Mesar Hameed, Dinesh Kaushall and Sreeja Parameswaran:
2407 - Corrected opcodes for letters, punctuation marks, digits, signs
2408 etc.
2409 - Updated braille codes according to prescribed braille codes for
2410 each Unicode character by the Braille Council of India for all
2411 Indian languages.
2412 - defined rules for dealing with Nukhta character in Hindi table
2413 - defined rule to insert dot-1 between consonant followed by full
2414 vowel character in all Indian Languages
2415 - defined rules for shifting of halant character before the
2416 consonant. This character is placed after the consonant in normal
2417 typing but need to be before the consonant in braille. This rule
2418 is applicable for all Indian languages.
2419 - defined rules for two conjunct characters "ksha and gya" used in
Christian Eglia519c982014-09-01 11:43:24 +02002420 all Indian Languages for which there are specific codes in
2421 Braille.
Christian Eglie96f5712014-05-28 16:29:25 +02002422- New Hebrew table that is based on the new unified Hebrew Braille
2423 code standard that was put together on January 2014 after a
2424 conference with all of the specialists in this field in Israel. It
2425 includes improved representation of Hebrew letters, special letters
2426 that are called Nikud, and punctuation symbols. The old Braille
2427 standard is not relevant any more. Thanks to Adi Kushnir.
Christian Egli554b70f2014-09-01 13:47:30 +02002428- UEB table fixes: Fix ity contraction, fixed the missing end word
2429 contraction ;n ;d sign 46. thanks to Ken Perry.
2430- Fix for Norwegian where letsign is affecting some extra characters
2431 thanks to Lars Bjørndal
2432- Much improved hyphenation for Norwegian thanks to Lars Bjørndal
2433- Korean Grade 2 now includes support for reading English text using
2434 grade 2.
2435- en-us-g1.ctb and en-ueb.g1.ctb are now able to display 8 dot Unicode
2436 braille.
Christian Egli4b1fc482014-03-07 13:06:32 +00002437
Mesar Hameedb7cb7b42014-12-01 10:47:09 +00002438* Noteworthy changes in release 2.5.4 (2014-03-03)
Christian Egli01bb6cb2014-03-03 09:59:29 +00002439This release contains nine months worth of braille table improvements
Christian Eglifa849372014-03-03 12:49:25 +00002440for example for Danish, UEB, en-us, Nemeth, Bulgarian, Slovenian and
2441many more. Also there are fixes to the core for table path resolving
2442and back-translation.
Christian Egli01bb6cb2014-03-03 09:59:29 +00002443
Bert Frees07288aa2014-02-24 09:53:20 +00002444** New features
2445 - Added function lou_registerTableResolver for plugging in a table
2446 resolver callback from your host language.
2447
Christian Egli4b1fc482014-03-07 13:06:32 +00002448** Bug fixes
Christian Egli3af9b4f2013-08-06 13:30:58 +00002449 - Fixed ENDSEGMENT indicator in computer Braille thanks to John
2450 Boyer.
2451 - Emphasized words should now be contracted consistently thanks to
2452 John Boyer.
Christian Egli06f908c2013-09-10 09:09:10 +00002453 - Fixed several problems with back-translation. A slash within a
2454 number and strings such as 5-inch-diameter and 25-year-old-man
2455 should now back-translate correctly. Thanks to John Boyer.
Christian Eglicbb94fa2013-10-01 12:58:47 +00002456 - Fixed a problem with syllable opcode. Thanks to John Boyer.
Christian Eglibb782552014-01-06 13:37:00 +00002457 - Fix warnings with gcc 4.8.2. Thanks to Peter Lundblad.
Bert Frees07288aa2014-02-24 09:53:20 +00002458 - When a table is specified with an absolute or relative path, the
2459 "includes" in that table will now work as expected, meaning files
2460 in the same directory will be found.
Christian Egli06f908c2013-09-10 09:09:10 +00002461
Christian Egli4b1fc482014-03-07 13:06:32 +00002462** Braille table improvements
Christian Egli3af9b4f2013-08-06 13:30:58 +00002463 - fr-bfu-comp8.utb: corrections, zero was wrongly displayed in some
2464 instances.
2465 - en-us-g2.ctb, en-ueb-g2.ctb: Fixes for that's, can't and s'
2466 thanks to Ken Perry.
Christian Egli54b994d2014-03-03 10:33:35 +00002467 - en-us-g2.ctb: Fix for back-translation of things like
Christian Egli01bb6cb2014-03-03 09:59:29 +00002468 http://address.com, words including after, capsigns. thanks to
2469 Ken Perry.
Christian Egliafd5f402013-09-09 11:13:01 +00002470 - Further corrections and testcases to the Hungarian tables thanks
2471 to Hammer Attila
Christian Egli45407ab2013-09-13 07:34:32 +00002472 - Fixed letter sign in en-us and en-ueb tables. Thanks to John
2473 Boyer and Ken Perry.
Christian Egli283f0622013-10-17 10:39:37 +00002474 - UEB Fixes thanks to Mesar Hameed, Ken Perry and Joseph Lee:
Christian Eglic0b4f9b2014-01-06 12:42:57 +00002475 - chardefs - correct title and fixed a long standing bug
Christian Egli54b994d2014-03-03 10:33:35 +00002476 where dots 46 was inserted between letters (especially for web
Christian Eglic0b4f9b2014-01-06 12:42:57 +00002477 addresses).
Christian Egli45407ab2013-09-13 07:34:32 +00002478 - Fix problem with at sign.
2479 - Removed section of accented letters, that were left behind from
2480 US table.
2481 - Added todo for accents, to define according to the formal docs.
2482 - Corrected mathematical forall symbol.
Mesar Hameedbe21ddc2013-09-20 13:14:08 +00002483 - Modified emphasis dot combinations to follow UEB standard.
Mesar Hameed30532eb2013-09-20 13:27:30 +00002484 - Corrected the display of period when used as a midword.
Christian Egli54b994d2014-03-03 10:33:35 +00002485 - Ensure 'inin' is correctly back-translated in words such as
Christian Egli283f0622013-10-17 10:39:37 +00002486 asinine, feminine and others.
Christian Egli54b994d2014-03-03 10:33:35 +00002487 - Bulgarian bg.ctb: updated to meet modern standards (added Latin
Christian Eglicbb94fa2013-10-01 12:58:47 +00002488 letters, corrected punctuation/mathematical symbols, misc typos).
2489 Thanks to Rumiana Kamenska
2490 - en-gb-g1.utb: Fixes thanks to Paul Wood
Christian Egli9ec64502013-11-21 09:56:27 +00002491 - Fix for the lich sign in the German tables. Thanks to Halim
2492 Sahin.
Christian Egli3f61bda2014-01-08 13:19:42 +00002493 - Nemeth improvements thanks to John Boyer.
Christian Egli01bb6cb2014-03-03 09:59:29 +00002494 - Spaces in nemethdefs.cti were changed to unbreakable spaces.
Christian Egli54b994d2014-03-03 10:33:35 +00002495 This was done so that Nemeth expressions would not be broken
Christian Egli01bb6cb2014-03-03 09:59:29 +00002496 between lines.
Christian Egli3f61bda2014-01-08 13:19:42 +00002497 - The number sign is now inserted between the minus sign and the
2498 number at the beginning of an expression. Some problems with
2499 pass2 opcodes have also been corrected.
Christian Egli79d44c72014-01-06 11:14:48 +00002500 - The Esperanto table has additional punctuation characters and a
2501 test harness. Thanks to Aaron Cannon.
2502 - Added missing symbols to the US English BRF display table. Thanks
Christian Eglic0b4f9b2014-01-06 12:42:57 +00002503 to Aaron Cannon.
Christian Egli48c738b2014-01-08 13:25:06 +00002504 - Improvements to the Slovenian table and a new Slovenian eight dot
Christian Eglic0b4f9b2014-01-06 12:42:57 +00002505 computer table provided by Jožef Gregorc.
Christian Egli48c738b2014-01-08 13:25:06 +00002506 - Fixes to the Norwegian tables thanks to Lars Bjørndal
2507 - Fixes for less than / greater than.
2508 - Add entries for URLs, domains and file names.
Christian Egli01bb6cb2014-03-03 09:59:29 +00002509 - Added ne.utb, an alternative Nepali braille table. One of ne.utb
2510 or ne.ctb will be removed/merged in a future version. Keeping
2511 both for the time being so that users can test and give feedback
2512 on which is most correct. Thanks to Him Prasad Gautam, and Mesar
2513 Hameed
Christian Eglifa849372014-03-03 12:49:25 +00002514 - Much improved danish grade 1 and grade 2 6 and 8 dot braille,
2515 thanks to Bue Vester-Andersen and Mesar Hameed
Christian Egli3af9b4f2013-08-06 13:30:58 +00002516
2517** Backwards incompatible changes
Christian Egli01bb6cb2014-03-03 09:59:29 +00002518 - Delete the table chardefs-ueb.cti as these rules are now provided
2519 by en-ueb-chardefs.uti
Mesar Hameed48ccdea2013-07-19 11:28:38 +00002520
Bert Frees07288aa2014-02-24 09:53:20 +00002521** Invisible changes
2522 - Refactoring in compileTranslationTable.c: separated more clearly
2523 the compilation from the table resolving, removed duplicate code,
2524 etc.
2525
Mesar Hameedb7cb7b42014-12-01 10:47:09 +00002526* Noteworthy changes in release 2.5.3 (2013-06-21)
Christian Egli776fece2013-01-04 09:21:17 +00002527** New features
2528*** New Braille tables
2529 - Korean grade 1 and grade 2 thanks to Joseph Lee
Christian Eglibe4de912013-01-28 11:24:33 +00002530 - U.K. English 8 dot computer braille table thanks to David
Christian Egli09f0e862013-01-21 15:11:51 +00002531 Reynolds
Christian Eglibe4de912013-01-28 11:24:33 +00002532 - New Russian literary and computer braille tables thanks to Igor
2533 B. Poretsky. These replace the older Russian tables which are
Christian Eglid9567d92013-01-28 11:14:15 +00002534 left for backwards compatibility.
Christian Eglibe4de912013-01-28 11:24:33 +00002535 - New hyphenation dictionary for Russian thanks to Igor B.
2536 Poretsky.
Christian Eglie30f8c52013-04-02 09:42:32 +00002537 - Updated hyphenation tables for the Norwegian language (nynorsk
2538 and bokmål) thanks to Lars Bjørndal.
Mesar Hameedffdb3f62013-04-21 12:44:32 +00002539 - New hyphenation dictionary for Esperanto thanks to Aaron Cannon.
Christian Egli66ac3722013-06-10 09:08:02 +00002540 - New Esperanto grade 1 table, using the x system for accented
2541 letters, thanks to Aaron Cannon.
Christian Egli776fece2013-01-04 09:21:17 +00002542
Mesar Hameed6894a1d2013-04-15 12:55:17 +00002543*** runHarness.py:
Mesar Hameedee563b82013-04-15 15:56:44 +00002544 Accept filename globs on the commandline to run specific harness files.
2545 In tests/harness, one can do make <filename> or make runall
2546 Removed from make check because these checks are checking the validity
2547 of our tables, rather than validity of the code.
Mesar Hameed6894a1d2013-04-15 12:55:17 +00002548
Christian Egli776fece2013-01-04 09:21:17 +00002549** Braille Table Improvements
Christian Egli66ac3722013-06-10 09:08:02 +00002550 - da-dk-g2.ctb, mostly rewritten to use nocross and hyphenation
2551 table.
2552 - Most tables: removed the default collapse whitespace statements,
2553 if you need to compress whitespace, consider adding compress.ctb
2554 to the list of tables when processing.
2555 - Corrections to Unified English Braille Code (Grade 1 and 2),
2556 thanks to Joseph Lee
Christian Egli6717e9e2013-01-17 09:50:54 +00002557 - Corrections to apostrophes in the Computer Spanish 8 dots Braille
2558 table (Es-Es-G0.utb). Thanks to Juan C. Buno.
Christian Egliabf0e7e2013-01-28 10:53:59 +00002559 - Corrections for double angle quotation marks and emphasis marks
2560 in the Norwegian Grade 0 Braille Table. Thanks to Knut Arne
2561 Bjørndal.
Christian Egli9f2464b2013-04-17 12:26:09 +00002562 - Fixes for a minor problem regarding the noletsign in Norwegian
2563 contracted braille. Thanks to Lars Bjørndal.
Christian Egli1499efb2013-01-28 11:32:02 +00002564 - Corrections to the Italian table thanks to Igor B. Poretsky.
Christian Egli86755ed2013-03-22 12:34:43 +00002565 - Corrections to the Hungarian grade 1 table thanks to Hammer
2566 Attila
2567 - Corrections to English, U.S. Grade 2 (ABAE) table. Thanks to Ken
2568 Perry for reporting the bug and John J. Boyer for fixing it.
Christian Egli66ac3722013-06-10 09:08:02 +00002569 - Further reorganization of the tables to remove duplication. Move
2570 litdigit opcode common parts and include where needed.
2571 - Removed obsolete en-us-g1.utb, which has been replaced by
2572 en-us-g1.ctb.
Mesar Hameeda1c29922013-04-16 12:57:49 +00002573 - Added dictionary harness tests for: en-ueb-g2.ctb, en-us-g2.ctb.
Christian Egli66ac3722013-06-10 09:08:02 +00002574 - Corrections to Nemeth character definitions thanks to Neil
2575 Soiffer.
Christian Egli146244e2013-04-09 06:57:05 +00002576 - Corrections to the Esperanto table thanks to Aaron Cannon.
Christian Egli776fece2013-01-04 09:21:17 +00002577
2578** Bug Fixes
Christian Egli86755ed2013-03-22 12:34:43 +00002579 - Cursor position calculation is now based on the same code that
2580 calculates inpos and outpos. This probably solves a number of
2581 bugs.
Mesar Hameeded535d02013-04-13 12:24:55 +00002582 - Fix nocross opcode processing.
Christian Egli66ac3722013-06-10 09:08:02 +00002583 - Fix several buffer over/under runs in
2584 lou_translateString.c:hyphenate.
Christian Egli8452ccd2013-04-09 09:51:32 +00002585 - Fix the '=' problem, i.e. fix inputPositions calculation for the
Christian Egli66ac3722013-06-10 09:08:02 +00002586 case where the equals sign is used as the dots operand. Thanks to
2587 Bert Frees
Christian Egli4fe66452013-06-03 12:18:57 +00002588 - Fix a bug when resizing a table. Previously not all references to
2589 this table were updated.
Christian Egli776fece2013-01-04 09:21:17 +00002590
Christian Egli61093d32013-06-06 07:28:03 +00002591** Backwards incompatible changes
2592 - The feature that allowed a mapping between language code and
2593 Braille table was removed as it contained a out-of-bounds access
2594 bug, was never documented and probably never used. Thanks to
2595 Peter Nilsson Lundblad and Jeremy Roman for analyzing this
2596 problem and providing a patch.
2597
Christian Eglia9749aa2012-12-17 15:18:11 +00002598* Noteworthy changes in release 2.5.2 (2012-12-18)
Christian Egli9f60ddd2012-12-13 10:49:54 +00002599
Christian Eglia9749aa2012-12-17 15:18:11 +00002600While initially planned as mainly a bug fix release this release
2601contains some notable new features: There is a new tool to trace which
Christian Egli61506ee2012-12-19 09:29:46 +00002602rules have been used to perform a translation. Also along with other
2603new tables the long awaited table for UEB is finally here.
Christian Egli551b8a42012-10-02 14:59:57 +00002604
Mesar Hameed05aa4ba2012-11-17 09:51:35 +00002605** New features
Christian Eglia9749aa2012-12-17 15:18:11 +00002606*** New tool to trace rule application
2607 There is a new tool (lou_trace) which helps to trace which rules
2608 have been used to perform a Braille translation. This is helpful
2609 for writing Braille tables. See the documentation for more
2610 information.
Mesar Hameed05aa4ba2012-11-17 09:51:35 +00002611*** New Braille tables
2612 - Inuktitut grade 1, thanks to Greg Kearney.
Christian Egli12faab22013-01-18 14:02:17 +00002613 - UEB grade 1 and 2, thanks to Joseph Lee. These tables replace
2614 the old UEB tables (UEBC-g1.utb and UEBC-g2.ctb).
Christian Egli686c81d2012-12-06 16:15:48 +00002615 - Korean table thanks to Joseph Lee
Mesar Hameed8f896f92012-12-05 10:26:21 +00002616
2617** Braille Table Improvements
Mesar Hameedd90886b2013-03-10 16:26:25 +00002618 - da-dk-g2.ctb, fixes for transposed â, å, æ, ä, ø and ö,
Christian Eglia7ad32f2012-12-07 15:13:54 +00002619 corrected/improved harness tests.
2620 - Corrections for en-GB-g2.ctb thanks to Paul Wood
Christian Eglie65f4612012-12-17 10:26:31 +00002621 - Corrections to the Hungarian grade 1 table thanks to Hammer
2622 Attila
Mesar Hameed8f896f92012-12-05 10:26:21 +00002623
Christian Eglia9749aa2012-12-17 15:18:11 +00002624** Bug Fixes
2625 - Update gnulib
2626 - Fix a bug in the correct opcode which causes sometimes random
2627 results when translating. Thanks to Bert Frees.
2628 - Fixes for compiler warnings.
2629 - Fix some Valgrind warnings about invalid reads
Mesar Hameed05aa4ba2012-11-17 09:51:35 +00002630
Christian Eglia81e2db2012-09-21 14:48:54 +00002631* Noteworthy changes in release 2.5.1 (2012-9-24)
Mesar Hameed9d173ec2012-09-14 08:21:46 +00002632
2633** Braille Table Improvements
Christian Egli551b8a42012-10-02 14:59:57 +00002634- Fix encoding problem in italian table and added more character
2635 definitions. Thanks to Simone Dal Maso <simone.dalmaso@juvox.it>.
2636- Rename it-it-g1.utb to it-it-comp6.utb and it-it-g1.utb2 to
2637 it-it-comp8.utb.
James Teh4a716ab2012-09-19 05:03:06 +00002638
2639** Bug fixes
Christian Egli551b8a42012-10-02 14:59:57 +00002640- Fix outputPos and inlen where an input character generates multiple
2641 output characters.
Mesar Hameed9d173ec2012-09-14 08:21:46 +00002642
Christian Egli8974daf2012-09-10 09:53:28 +00002643* Noteworthy changes in release 2.5.0 (2012-9-10)
Christian Egli0ae8b0a2012-09-05 09:33:14 +00002644
2645This release contains a tremendous amount of work many developers.
2646Many long standing bugs have been fixed. The tables can finally be in
2647UTF-8. A grand table cleanup removed duplication from the tables.
2648There are now two extensive test frameworks for table writers. A
2649number of new tables have been contributed on top of the usual
2650assortment of table improvements. Thanks to all of this liblouis has
2651already seen quite a bit of uptake in a number of places, notably the
2652new DAISY pipeline will ship with this release of liblouis.
Christian Egli539f6b32012-02-27 09:13:17 +00002653
Christian Eglieb7178f2012-09-10 10:08:16 +00002654NOTE: If you have private tables you might want to migrate them to
2655utf-8. To do this just use iconv as follows:
2656
2657 $ iconv -f latin-1 -t utf-8 <input >output
2658
Christian Egli539f6b32012-02-27 09:13:17 +00002659** New features
Christian Egli1d7b3022012-05-16 07:59:44 +00002660*** New Braille tables
2661 - Estonian grade 0, thanks to Jürgen Dengo.
2662 - Portuguese 8 dot Computer braille, Thanks to Rui Fontes
Christian Egli328d0c92012-07-10 07:14:48 +00002663*** UTF-8 support in tables
2664 Braille tables can now contain UTF-8 in the opcode arguments.
Christian Egli539f6b32012-02-27 09:13:17 +00002665*** Improvements to the python bindings
2666 All constants defined in liblouis.h are now exposed in the bindings.
Christian Eglicc1a0a42012-03-02 13:34:09 +00002667*** Add a doctest infrastructure
Christian Egli66cfe502012-03-01 14:50:42 +00002668 These tests are based on the Python doctest framework and are only
2669 run if there is a Python interpreter on the system
Christian Eglicc1a0a42012-03-02 13:34:09 +00002670*** Add a test harness
2671 This test infrastructure allows the user to do table tests in a
Christian Egli0ae8b0a2012-09-05 09:33:14 +00002672 simple and concise syntax. These tests are based on the Python
2673 nose testing framework and are only run if either Python 2.x or
2674 3.x with the related nose python module is installed on the
2675 system. See the documentation for more information. Thanks to
2676 Mesar Hameed.
Mesar Hameed96f30d82012-07-20 08:43:00 +00002677*** Add a test harness generator
Christian Egli0ae8b0a2012-09-05 09:33:14 +00002678 A harness generator that uses simple text files with a little
2679 formatting to help to generate the json harness files. The purpose
2680 of this tool is to make it much easier and faster to add checks
2681 for a given table. You are expected to read the generated harness
2682 file and make necessary changes, the tool only helps you to get
2683 the tests into the harness format, not check their validity.
Christian Egli1d7b3022012-05-16 07:59:44 +00002684*** Support for Python 3 in the Python bindings
2685 The Python bindings now work for both Python 2 and Python 3.
2686 Thanks to Michael Whapples.
Christian Egli539f6b32012-02-27 09:13:17 +00002687
Christian Egli13c5d032012-05-31 21:21:01 +00002688** Improved C-based test framework
2689 - Improved the test framework to be able to test translations
2690 involving Unicode.
2691 - Added numerous tests, e.g. for lowercase and Unicode, for the
2692 input position, for repeated, etc.
2693
Christian Egli539f6b32012-02-27 09:13:17 +00002694** Improved the documentation
Mesar Hameedaa633e52012-07-26 12:55:37 +00002695 - Document the test harness (json format, fields, flags).
Christian Egli1d7b3022012-05-16 07:59:44 +00002696 - Document the use of Valgrind to find memory leaks
Christian Egli48422152012-06-28 09:06:18 +00002697 - Improve the documentation on the display opcode
Christian Egli539f6b32012-02-27 09:13:17 +00002698
2699** Bug fixes
Christian Egli13c5d032012-05-31 21:21:01 +00002700 - lou_allround and lou_translate now properly handle Unicode
Christian Eglie30b08b2012-04-17 08:27:13 +00002701 characters
Christian Egli8b0740d2012-05-11 12:41:02 +00002702 - Fix some issues reported by Valgrind
Christian Egli1d7b3022012-05-16 07:59:44 +00002703 - Fix inputPos for situation where context and multipass opcodes
2704 are involved
Christian Egli13c5d032012-05-31 21:21:01 +00002705 - Fixed a number of bugs with the letter, uppercase and lowercase
2706 opcodes when dealing with Unicode
Christian Egli9a018072012-06-07 12:08:54 +00002707 - Fixed a couple of bugs with hyphenation (documentation, Python
2708 bindings and a number of buffer overruns in the C library).
2709 Thanks Milan Zamazal <pdm@brailcom.org> for reporting this.
Christian Eglid4e73742012-06-07 15:33:03 +00002710 - Fix a bug in the $a. matcher in the multipass rules where only 32
2711 chars were matched. It now matches 0xffff chars.
Christian Egli8da99ad2012-09-06 19:46:48 +00002712 - Fix a bug reported by James Teh related to pass1Only
Christian Egli539f6b32012-02-27 09:13:17 +00002713
2714** Braille Table Improvements
Christian Egli0ae8b0a2012-09-05 09:33:14 +00002715 - all table files have consistent encoding, UTF-8.
Christian Egli13c5d032012-05-31 21:21:01 +00002716 - The grand table cleanup: Reorganize the tables to remove
2717 duplication. Move common parts such as Latin letter, eight and
2718 six dot digit definitions to separate files which are then
2719 included. This should ease table maintenance. Thanks to Mesar Hameed.
Christian Egli1d7b3022012-05-16 07:59:44 +00002720 - Fixes to de-de-comp8.ctb thanks to Aliminator83@gmail.com
Mesar Hameed6ae9d6d2012-06-12 06:50:58 +00002721 - hu1.ctb renamed to hu-hu-g1.ctb
Mesar Hameedfa475f22012-06-12 07:18:43 +00002722 - hu.ctb renamed to hu-hu-comp8.ctb
Mesar Hameed01382982012-07-09 13:54:08 +00002723 - eo.ctb renamed to eo-g1.ctb
2724 - Fixes to eo-g1.ctb thanks to Aaron Cannon <cannona@fireantproductions.com>
Christian Egli0ae8b0a2012-09-05 09:33:14 +00002725 - hu-hu-g1.ctb: improvements and extensive test harness, with
2726 working back-translation, Thanks to Hammer Attila
Christian Egli8da99ad2012-09-06 19:46:48 +00002727 - Fixes to fr-bfu-comp6.utb and fr-bfu-comp8.utb thanks to Michel
2728 Such <michel.such@free.fr>
2729 - Reworked and extended Ethiopic braille table ethio-g1.ctb,
2730 superseeds gez*, thanks to Dr. Tamru E. Belay
2731 <g.braille@sympatico.ca>
Christian Egli8974daf2012-09-10 09:53:28 +00002732 - Fixes to no-no-g3.ctb thanks to Lars Bjørndal <lars@lamasti.net>
Christian Egli539f6b32012-02-27 09:13:17 +00002733
Christian Egli86193412012-02-21 12:41:32 +00002734* Noteworthy changes in release 2.4.1 (2012-2-22)
Christian Egli12717a52011-05-18 07:16:00 +00002735
Christian Egli29f38552011-06-28 10:19:39 +00002736** New features
Christian Eglib3d59042012-02-01 10:03:21 +00002737 - Czech hyphenation table thanks to Jan Hegr
Christian Egli3ef96cf2012-02-06 10:49:00 +00002738 - Spanish grade 1 table provided by José Enrique Fernández del
Christian Egli1d9171d2012-02-22 11:08:53 +00002739 Campo and Juan Carlos Buño Suárez
Christian Eglib5502892012-02-23 08:24:01 +00002740 - New Tamil table thanks to Mesar Hameed
Christian Eglib3d59042012-02-01 10:03:21 +00002741
2742** Braille Table Improvements
Christian Egli5dcf5b52012-02-01 13:01:35 +00002743 - Improvements to the Portuguese grade1 braille tables
Christian Eglia9b36872012-02-20 09:58:20 +00002744 - Updates and additions to Icelandic 8-dot braille table.
Christian Egli86193412012-02-21 12:41:32 +00002745 - Improvements to the uncontracted Spanish computer braille table.
Christian Egli65791262012-02-22 09:04:52 +00002746 - Improvements to the Norwegian braille table thanks to David Hole.
Christian Eglia9b36872012-02-20 09:58:20 +00002747
Christian Eglib3d59042012-02-01 10:03:21 +00002748* Noteworthy changes in release 2.4.0 (2012-01-31)
2749
2750** New features
Christian Eglia620a142012-01-09 11:12:09 +00002751 - New Generic Farsi Grade 1 table: A new table for Generic Farsi
2752 Grade 1 braille has been provided by Mesar Hameed.
Christian Eglia620a142012-01-09 11:12:09 +00002753 - Emacs mode for editing Braille tables thanks to Christian Egli
2754
Christian Egli12717a52011-05-18 07:16:00 +00002755** Braille Table Improvements
2756 - Improvements to the French comp6 and comp8 braille tables
Christian Egli728b77d2011-05-30 06:40:27 +00002757 - Improvements to the Romanian braille table
Christian Egli29f38552011-06-28 10:19:39 +00002758 - Improvements to the Generic Arabic Grade 1 table
Christian Eglia620a142012-01-09 11:12:09 +00002759 - Improvements to the Czech tables thanks to Jan Halousek and to
2760 Jan Hegr
Christian Egli12717a52011-05-18 07:16:00 +00002761
Christian Eglie3a003d2011-05-09 06:52:24 +00002762* Noteworthy changes in release 2.3.0 (2011-05-09)
Christian Egli3929eac2010-09-27 15:05:08 +00002763
Christian Eglifa8b3e92011-05-09 07:39:06 +00002764This release contains support for many more languages than before
2765(Swedish, Kurdish, Ethiopic, Serbian, many Indian languages). The
2766search path for tables is now a list of paths. Finally there is the
2767usual assortment of bug fixes.
2768
Christian Eglia6119352011-03-14 09:47:59 +00002769** New features
2770*** Multiple table search path
2771 The environment variable LOUIS_TABLEPATH can now contain a list of
2772 paths (separated by commas) where liblouis should look for tables.
2773 This allows the user to keep local tables.
Christian Egli34c886e2011-03-14 13:13:32 +00002774*** New --quiet option for lou_checktable
2775 lou_checktable writes to stderr even in the case of success. This
2776 can now be suppressed with the new option --quiet.
Christian Egli6a127f32011-03-30 09:35:25 +00002777*** New Swedish table
2778 A new table for Swedish braille has been provided by Samuel
2779 Thibault.
Christian Egli36cf0dc2011-04-15 10:31:17 +00002780*** New table for Sorani (Kurdish)
Christian Egli12717a52011-05-18 07:16:00 +00002781 A new table for Sorani (Kurdish) Braille has been donated by Peter
2782 Engström from Index Braille
Christian Eglibc8401c2011-04-15 11:36:22 +00002783*** New table for Ethiopic
Christian Egli12717a52011-05-18 07:16:00 +00002784 A new table for Ethiopic Braille has been donated by Tamru E.
2785 Belay PH.D from Adaptive Technology Center for the Blind (ATCB)
Christian Egli7ddbd8c2011-04-15 13:24:03 +00002786*** New table for Serbian
Christian Egli12717a52011-05-18 07:16:00 +00002787 A new table for Serbian Braille has been donated by Peter Engström
2788 from Index Braille
Christian Eglia6119352011-03-14 09:47:59 +00002789
Christian Egli60fc9902011-03-28 06:59:40 +00002790** Improved the documentation
2791 The deprecated opcodes have been moved to a separate section
2792
Christian Egli9863b722011-03-03 10:16:33 +00002793** Bug fixes
Christian Egli12717a52011-05-18 07:16:00 +00002794 - Fixed a long standing bug with an infinite loop in the table
2795 compiler
Christian Egli6826d572011-04-15 08:57:16 +00002796
2797** Braille Table Improvements
Christian Egli12717a52011-05-18 07:16:00 +00002798 - Improvements to the Chinese braille table
2799 - Improvements to the Flemish Braille Math Code tables
2800 - Improvements to the Dutch Braille tables
2801 - Improvements to the Spanish Braille tables.
2802 - Fixes for the uncontracted French 6 and 8 dot tables
2803 - Improved support for Italian 8 dot
2804 - Improvements to the Generic Arabic Grade 1 table
Christian Egli9863b722011-03-03 10:16:33 +00002805
2806* Noteworthy changes in release 2.2.0 (????-??-??)
2807
Christian Egli3929eac2010-09-27 15:05:08 +00002808** New features
2809*** New tables
2810 - Support for many indian languages
2811 - Support for Icelandic 6- and 8-dot
Christian Egli85c57f52010-11-12 13:10:13 +00002812 - Support for Catalan
Christian Egli221783c2010-12-07 13:37:29 +00002813 - Support for Dutch Braille (for Belgium and the Netherlands)
2814 - Support for Flemish Braille Math Code (a.k.a. Woluwe code)
Christian Egli85c57f52010-11-12 13:10:13 +00002815
Christian Egli6b68c1a2011-03-30 12:31:03 +00002816
2817*** New functions to make libraries relocatable
2818 Two new functions, to set the search path for tables and files.
2819 They make the library relocatable. See the in the documentation
2820 for lou_setDataPath and lou_getDataPath.
2821
Christian Egli85c57f52010-11-12 13:10:13 +00002822** Bug fixes
2823 - Improved support for Spanish
Christian Eglicc417ae2010-12-09 07:57:18 +00002824 - Improved Norwegian tables
Christian Egli3929eac2010-09-27 15:05:08 +00002825
Christian Egli48665712010-08-27 12:40:11 +00002826* Noteworthy changes in release 2.1.1 (2010-8-23)
2827
2828** Bug fixes
2829 - Fixed problems with the Danish grade 2 table
2830 - Fixed problems with the Marburg maths table for mathematics and
2831 the UK maths table for mathematics
2832
Christian Egli48262182010-08-19 11:56:40 +00002833* Noteworthy changes in release 2.1.0 (2010-8-19)
2834
2835** New features
2836*** New tables
2837 - Added tables for Portuguese grade 1 and 2
2838 - Added unicode.dis for Unicode braille
2839*** Modified tables
2840 - Updated Danish tables
2841*** Implemented language to table mapping
2842*** New format of error messages
2843 The error messages are now reported in a format similar to the one
2844 used in gcc.
2845*** New opcode
2846 - added undefined opcode
2847*** Python bindings
2848 - Allow the user to configure the maximum output length by
2849 specifying a number by which the input length is multiplied
2850 using the outlenMultiplier module variable. The default will
2851 handle the case where every input character is undefined in the
2852 translation table. Previously, this was hard-coded to 2, which
2853 was insufficient in some cases.
2854 - Add compbrlLeftCursor mode constant.
2855 - Add compileString function which wraps lou_compileString.
2856 - Corrections/clarifications to docstrings.
2857 - Add python binding for the lou_hyphenate function.
2858 - Added python wrapper for lou_backTranslateString and lou_backTranslate.
2859
2860*** liblouisxslt as an example
2861 Add liblouisxslt as an example to python/examples. This is
2862 basically an extension of libxslt that lets you invoke liblouis
2863 from an xslt stylesheet to do Braille translation on text nodes
2864 for example.
2865*** compbrlLeftCursor
2866 Added a patch provided by Volker Bijewitz to implement
2867 compbrlLeftCursor.
2868
2869** Bug fixes
2870*** output cursorPos
2871 Fix the output cursorPos when the compbrlAtCursor mode is enabled
2872 and the characters around the cursor translate to multiple braille
2873 cells, such as in the Chinese braille tables.
2874*** outpos when doing back translation
2875 Include a patch by Timothy Lee to fix outpos when doing back translation
James Tehfd769b52010-08-22 22:06:45 +00002876 (issue 11)
2877*** inputPos/outputPos for undefined characters
2878 Fix the input/output position arrays for characters in the input
2879 which are undefined in the translation table.
Christian Egli48262182010-08-19 11:56:40 +00002880*** table fixes
James Tehfd769b52010-08-22 22:06:45 +00002881 - Fixed a bug with back translation of '*n'. (issue 13)
Christian Egli48262182010-08-19 11:56:40 +00002882 - Fixes to the en-us-g2.ctb table
2883*** Python bindings
James Tehfd769b52010-08-22 22:06:45 +00002884 - Remove unnecessary imports, allowing the bindings to run in Python
2885 2.7. (issue 12)
Christian Egli48262182010-08-19 11:56:40 +00002886 - lou_translate* writes output information in typeform, so
2887 allocate enough bytes for it. Fixes possible buffer overruns and
2888 resultant crashes.
2889*** Miscellaneous
2890 - Fixes to the man page generation to fix issues that were
2891 reported by the Debian packaging builder
2892 - Do not invoke help2man when cross-compiling
James Tehfd769b52010-08-22 22:06:45 +00002893 - Documentation updates (issue 10)
Christian Egli48262182010-08-19 11:56:40 +00002894 - Removing noletsign defaults
2895 - Many small fixes
Christian Egli48262182010-08-19 11:56:40 +00002896
2897* Noteworthy changes in release 2.0.0 (2010-7-6)
2898
2899** New features
2900*** New functions
2901 - Adding lou_charSize function
2902
2903* Noteworthy changes in release 1.9.0 (2010-6-29)
2904
2905** New features
2906*** New functions
2907 - lou_dotsToChar and lou_charToDots function
2908 - Added lou_compileString for adding entries to tables at
2909 run-time.
2910
Christian Egli9c390c92009-11-21 07:17:09 +00002911* Noteworthy changes in release 1.8.0 (2009-11-23)
2912
2913This release contains a number of improvements notably the integration
2914of gnulib, the automatic generation of man pages and the addition of
2915tables for German grade 2.
2916
2917** New features
2918*** New tables
2919 - Tables German Grade 2
2920 - Swiss German
Christian Egli21facb52009-11-24 11:03:36 +00002921 - Swedish (1989 standard)
2922 - Swedish (1996 standard)
Christian Egli9c390c92009-11-21 07:17:09 +00002923
2924*** Modified tables
2925 - Updated Norwegian tables
Christian Egli21facb52009-11-24 11:03:36 +00002926 - Updated Chinese braille table
Christian Egli9c390c92009-11-21 07:17:09 +00002927
2928*** man pages
2929 All tools accept the --version and --help options and are
2930 documented in man pages
2931
2932*** Corpus based test cases for tables
2933 You can now have corpus based tests for tables. See the README in
2934 tests/table_test_corpuses.
2935
2936** Bug fixes
Christian Egli21facb52009-11-24 11:03:36 +00002937 - config.h is no longer exported
Christian Egli9c390c92009-11-21 07:17:09 +00002938 - Many small fixes
2939
Christian Egli277d71d2009-08-19 08:12:39 +00002940* Noteworthy changes in release 1.7.0 (2009-08-21)
2941
2942The main new feature of this release is the support for UK and Marburg
2943math. Other changes include a new tool to check hyphenation and the
2944usual improvement and addition of tables. Also The test suite has been
2945enhanced and finally passes.
Christian Eglifbbe9542009-08-18 15:06:20 +00002946
2947** New features
2948*** New tables
2949 - Tables for UK and Marburg math
2950 - Hong Kong Cantonese
2951 - Hebrew
2952 - Hungarian
2953 - Slovene
2954 - Tibetan
2955 - Irish
2956 - Maltese
2957
2958*** Modified tables
2959 - Updated Norwegian tables
2960 - Bug fixes in Russian tables
2961 - Updated French tables
2962
2963*** lou_checkhyphens tool
2964 New tool to check hyphenation
2965*** rpm spec file
2966*** Test cases for tables
2967 The tables can now be tested with `make check'
2968*** New opcodes
Christian Egli277d71d2009-08-19 08:12:39 +00002969 - noback and nofor opcode prefixes
2970 - grouping opcode
2971 - multipass subopcodes
Christian Eglifbbe9542009-08-18 15:06:20 +00002972
2973** Bug fixes
2974 - Fix for library name and Python bindings
2975 - Documentation fixes
2976 - Many small fixes
John Boyer638ffe32009-05-28 02:47:00 +00002977
Christian Egli8466dad2009-05-27 14:14:24 +00002978* Noteworthy changes in release 1.6.2 (2009-05-01)
Christian Egli7a1a70e2009-05-27 13:58:45 +00002979
2980This release contains a new opcode for Malaysian Braille. See the
2981documentation for a description of the new opcode.
2982
2983** New features
2984
2985*** repword opcode
2986The repword opcode is needed for Malaysian Braille
2987
Christian Egli8466dad2009-05-27 14:14:24 +00002988* Noteworthy changes in release 1.6.1 (2009-04-21)
Christian Egli7a1a70e2009-05-27 13:58:45 +00002989
2990This is mostly a bug fix release. It contains many bug fixes that were
Christian Egli8466dad2009-05-27 14:14:24 +00002991discovered in the course of developing UK Math tables.
Christian Egli7a1a70e2009-05-27 13:58:45 +00002992
2993** Bug fixes
2994
Christian Egli48262182010-08-19 11:56:40 +00002995*** bug fixes for correct, context and multipass opcodes
2996*** bug fixes for largesign opcode
Christian Egli7a1a70e2009-05-27 13:58:45 +00002997*** fixed bug with French back-translation
2998*** fixed the installation path for docs
2999*** documentation improvement
3000
Christian Egli79105452009-03-09 13:13:10 +00003001* Noteworthy changes in release 1.6 (2009-03-04)
3002
3003This release features support for Danish and Russian and updated
3004tables for French and Norwegian. The search path for tables can now be
3005specified using an environment variable. Finally there is the usual
3006assortment of bug fixes.
3007
3008** New features
3009
3010*** exactdots opcode
3011The exactdots opcode is intended for use in liblouisxml
3012semantic-action files to specify exact dot patterns, as in
3013mathematical codes.
3014*** LOUIS_TABLEPATH env variable
3015You can now specify where liblouis is to look for tables with the
3016LOUIS_TABLEPATH environment variable.
3017*** New Tables for Danish and Russian
3018There is now support for Danish and Russian.
3019
3020** Bug fixes
3021
3022*** Updated French and Norwegian tables
3023*** Use stdcall calling convention if building for Windows
3024
3025** Changes in behavior
3026
3027None
3028
Christian Egliba0095a2009-01-21 08:33:09 +00003029* Noteworthy changes in release 1.5 (2009-01-21)
Christian Egli7fbd3c42009-01-15 22:45:46 +00003030
3031This is a big release for liblouis. It's the first time that it is
Christian Egliba0095a2009-01-21 08:33:09 +00003032done from the Google code page. A number of people have contributed,
James Teh50e69c32009-01-20 22:45:15 +00003033namely John Boyer (table debugger, bug fixes), Eitan Isaacson (Python
Christian Egliba0095a2009-01-21 08:33:09 +00003034bindings), James Teh (Python bindings, bug fixes), Christian Egli
3035(documentation) and Michel Such (table for French grade 2).
Christian Egli7fbd3c42009-01-15 22:45:46 +00003036
3037
3038** New features
3039
Christian Egliba0095a2009-01-21 08:33:09 +00003040*** Python bindings
3041The liblouis library can now be used from Python. For more info
3042consult the README file in the python directory.
Christian Egli7fbd3c42009-01-15 22:45:46 +00003043
Christian Egliba0095a2009-01-21 08:33:09 +00003044*** Table debugger
3045liblouis now comes with a debugger that can help to find problems with
3046translation tables.
Christian Egli7fbd3c42009-01-15 22:45:46 +00003047
Christian Egliba0095a2009-01-21 08:33:09 +00003048*** French table for grade 2
3049There is now a translation table for French grade 2.
3050
3051*** pass1Only mode bit
3052The new pass1Only mode bit will help developers of screen readers as
3053the cursor will stay where it is expected to.
Christian Egli7fbd3c42009-01-15 22:45:46 +00003054
3055** Bug fixes
3056
3057Fix the inpos array values for the case where a rule has an output
3058length which is larger than its input length.
3059
3060fixed multi-word phrases
3061
3062fixed bug in character display
3063
3064fixed bug in findOpcodeName
3065
Christian Egliba0095a2009-01-21 08:33:09 +00003066lou_version now returns the correct liblouis version
3067
Christian Egli7fbd3c42009-01-15 22:45:46 +00003068** Changes in behavior
3069
3070None
Christian Egli277d71d2009-08-19 08:12:39 +00003071
Christian Egli725464f2021-03-08 10:54:40 +01003072* COMMENT Noteworthy changes in release 3.XX.0 (202X-XX-XX) :Template:
3073I'd like to thank everybody for helping to bring liblouis forward.
3074
3075For a detailed list of all the changes refer to [[https://github.com/liblouis/liblouis/milestone/26?closed=1][the list of closed
3076issues]].
3077
3078** New features
3079** Bug fixes
3080** Braille table improvements
3081** Other changes
3082** Deprecation notice
3083- None
3084** Backwards incompatible changes
3085** Invisible changes
3086** New, renamed or removed tables
3087*** New
3088None
3089
3090*** Renamed
3091None
3092
3093*** Removed
3094None
3095
Christian Egli94187722014-01-08 13:37:12 +00003096#+OPTIONS: toc:nil num:nil