blob: aaeaf6e157d952fe8a0e7f0f2eca74c7d549c551 [file] [log] [blame]
Christian Egli67ab8e92019-09-02 13:29:53 +02001liblouis 3.11.0 has been released
Christian Egli15c482e2009-01-27 16:23:57 +00002
Christian Egli554b70f2014-09-01 13:47:30 +02003The liblouis developer team is proud to announce the liblouis release
Christian Egli67ab8e92019-09-02 13:29:53 +020043.11.0. The release is available for download at:
Christian Egli15c482e2009-01-27 16:23:57 +00005
Christian Egli67ab8e92019-09-02 13:29:53 +02006https://github.com/liblouis/liblouis/releases
Christian Egli15c482e2009-01-27 16:23:57 +00007
8Introduction
Christian Egli554b70f2014-09-01 13:47:30 +02009============
Christian Egli15c482e2009-01-27 16:23:57 +000010
11Liblouis is an open-source braille translator and back-translator. It
Christian Egli183d9e72011-05-09 07:38:36 +000012features support for computer, literary and math braille, supports
Christian Egli67ab8e92019-09-02 13:29:53 +020013contracted and uncontracted translation for many, many languages [1]_.
14It plays an important role in an open source accessibility stack and is
15used by screenreaders such as NVDA, Orca and JAWS. A companion project
16liblouisutdml [2]_ deals with formatting of braille.
Christian Egli15c482e2009-01-27 16:23:57 +000017
Christian Egli67ab8e92019-09-02 13:29:53 +020018Noteworthy changes in this release
19==================================
Christian Egli15c482e2009-01-27 16:23:57 +000020
Christian Egli67ab8e92019-09-02 13:29:53 +020021A tremendous amount of work by Dave Mielke and Bert Frees has gone into
22this release. They have improved liblouis for use on note taker devices,
23for backwards translation and a number of languages. Many other
24contributors (listed below) have also helped in fixing bugs and
25improving braille tables, such as Dutch, Mongolian, Polish, Ancient
26Greek, Danish, Irish, Chinese, and American Braille Computer Code.
Christian Egli343b1ae2016-07-14 17:40:54 +020027
Christian Egli8923b3a2018-06-04 18:18:47 +020028For a detailed list of all the changes refer to the list of closed
Christian Egli67ab8e92019-09-02 13:29:53 +020029issues [3]_.
Christian Egli1f0ae092017-09-04 17:23:22 +020030
31New features
Christian Egli67ab8e92019-09-02 13:29:53 +020032------------
Christian Egli1f0ae092017-09-04 17:23:22 +020033
Christian Egli67ab8e92019-09-02 13:29:53 +020034- Enable ``always`` rules with a single character and a single braille
35 cell for back-translation. Thanks to Bue Vester-Andersen.
36- Implement ``noUndefined`` mode for forward translation, thanks to
37 Dave Mielke.
38- Use fallback braille representations (NABCC) for rendering undefined
39 characters in hexadecimal notation, thanks to Dave Mielke.
40- Always render undefined characters, also ASCII characters, in
41 hexadecimal notation.
42- Add a new metadata field ``index-name`` for selecting a table from a
43 list fast and efficiently. It has the most important information
44 first and no redundant information. It should look nice when sorted.
45 This in contrast to the existing ``display-name`` field which is for
46 describing a table accurately and should sound good. Thanks to Dave
47 Mielke and Bert Frees.
Christian Egli2d6ae7e2014-12-01 14:37:01 +010048
49Bug fixes
Christian Egli67ab8e92019-09-02 13:29:53 +020050---------
Christian Egli2d6ae7e2014-12-01 14:37:01 +010051
Christian Egli67ab8e92019-09-02 13:29:53 +020052- Don't let a caps passage end on a word with no letters. Thanks to
53 Bert Frees.
54- Handle word resets in the last word of an caps or emphasis passage if
55 the end indicator was placed before the word. Thanks to Bert Frees.
56- Never convert to lowercase if ``capsletter`` is not defined. Thanks
57 to Bert Frees.
58- Fix position mapping for back-translation when ``noUndefined`` mode
59 is active. Thanks to Dave Mielke.
60- Fix bug where a translation would hang on words that match both a
61 ``nocont`` and a ``repeated`` rule. Thanks to Dave Mielke.
62- Fix bug where the effect of ``capsnocont`` would leak to the next
63 word if that word starts with a capital. Thanks to Bue
64 Vester-Andersen.
Christian Egli2d6ae7e2014-12-01 14:37:01 +010065
Christian Eglib4b192b2015-03-02 10:54:30 +010066Braille table improvements
Christian Egli67ab8e92019-09-02 13:29:53 +020067--------------------------
Christian Egli695316a2017-12-04 16:51:01 +010068
Christian Egli67ab8e92019-09-02 13:29:53 +020069- Fix an issue with ordinal numbers inside caps passages in Dutch
70 braille. Thanks to Bert Frees.
71- Improved back-translation for Mongolian thanks to Angaragerdene.
72- Fixes to Polish grade 1 and Polish computer braille thanks to Łukasz
73 Golonka.
74- Improvements to Ancient Greek braille, which has been renamed
75 "Greek international braille". A version with composed
76 accents is made available as a .uti table. Thanks to Dave Mielke and
77 Μαρια Γεωργακαράκου (Maria Georgakarakou).
78- Various improvements to modern Greek thanks to Dave Mielke.
79- Improvements and fixes to Spanish contracted braille. Details in
80 #741. Thanks to Juan Pablo Bello.
81- Improvements and fixes to the Danish tables. Thanks to Bue
82 Vester-Andersen.
83- Add a display table to match Word CX which is used in Norway and
84 Sweden, and maybe also in other countries thanks to Lars Bjørndal.
85- Fix handling of colon within number in Dutch braille, thanks to Jake
86 Kyle.
87- Fix translation of bullet and dot operators in Dutch braille, thanks
88 to Paul Rambags
89- Added North American Braille Computer Code table (``en-nabcc.utb``)
90 which is the counterpart of the ``text_nabcc.dis`` display table.
91 Thanks to Dave Mielke.
92- Add support for the International Phonetic Alphabet (IPA) to the
93 Chinese bopomofo braille table, thanks to Hurt Huang and Sponge Jhan.
94 Various improvements, including dot patterns and test cases, to the
95 Chinese bopomofo braille table, thanks to Sponge Jhan.
96- Unified English Braille no longer displays a single underscore when
97 multiple underscores are in the text, thanks to André-Abush Clause.
98- Update to Afrikaans uncontracted braille and new table for contracted
99 braille. Thanks to Christo de Klerk and Greg Kearney.
100- Update Irish braille (contracted and uncontracted) to the May 2019
101 version of the specification, thanks to Ronan McGuirk
Christian Egli695316a2017-12-04 16:51:01 +0100102
103Other changes
Christian Egli67ab8e92019-09-02 13:29:53 +0200104-------------
Christian Egli695316a2017-12-04 16:51:01 +0100105
Christian Egli67ab8e92019-09-02 13:29:53 +0200106- The python wrapper now encodes and decodes strings to/from UTF-16 and
107 UTF-32 using the surrogatepass error handler. This ensures that
108 single UTF-16 surrogate characters are processed correctly by the
109 wrapper and don't raise an encoding/decoding error. Thanks to Leonard
110 de Ruijter.
111- Metadata keys and values are now case insensitive, thanks to Dave
112 Mielke.
113- Remove ``unicodedefs.cti``. It was obsolete and never meant to be
114 included by any tables. Instead use the online references as
115 mentioned in the documentation now. See also #696.
116- ``lou_checkyaml`` test reporting has been improved, thanks to Bert
117 Frees. For example it now has a ``--verbose`` option so that printing
118 of expected failures can be enabled.
119- Hyphenation tables have been removed from tables except those needed
120 for ``nocross`` rules, thanks to Bert Frees.
Christian Eglif56443c2019-06-03 16:22:28 +0200121
Christian Egli67ab8e92019-09-02 13:29:53 +0200122 The idea is that the caller (for example ``odt2braille`` or
123 ``liblouisutdml``) should be able to decide for themselves which
124 hyphenation table to use. The case in which a table contains nocross
125 rules is an exception. In this case the hyphenation patterns are a
126 real part of the table. Because it is not recommended to append an
127 own hyphenation table in this case, a ``#-has-nocross`` metadata
128 field was added to indicate that a table contains nocross rules.
129- ``lou_hyphenate`` can now handle more than just words (sequences of
130 letters), e.g compound words, thanks to Bert Frees.
Christian Egli695316a2017-12-04 16:51:01 +0100131
132Deprecation notice
Christian Egli67ab8e92019-09-02 13:29:53 +0200133------------------
Christian Egli695316a2017-12-04 16:51:01 +0100134
Christian Egli67ab8e92019-09-02 13:29:53 +0200135- The ``noUndefinedDots`` mode has been renamed to ``noUndefined``. For
136 backwards compatibility ``noUndefinedDots`` is still available in the
137 header file and in the Python bindings, as an alias for
138 ``noUndefined``.
Christian Egli695316a2017-12-04 16:51:01 +0100139
140Backwards incompatible changes
Christian Egli67ab8e92019-09-02 13:29:53 +0200141------------------------------
Christian Egli695316a2017-12-04 16:51:01 +0100142
Christian Eglif56443c2019-06-03 16:22:28 +0200143None
144
Christian Egli67ab8e92019-09-02 13:29:53 +0200145Invisible changes
146-----------------
147
148- Internally separate more clearly the display and translation phases.
Christian Eglid1998f22017-06-06 14:46:08 +0200149
150New, renamed or removed tables
Christian Egli67ab8e92019-09-02 13:29:53 +0200151------------------------------
Christian Eglid1998f22017-06-06 14:46:08 +0200152
153New
Christian Egli67ab8e92019-09-02 13:29:53 +0200154~~~
Christian Egli695316a2017-12-04 16:51:01 +0100155
Christian Egli67ab8e92019-09-02 13:29:53 +0200156- grc-international-common.uti
157- grc-international-composed.uti
158- grc-international-decomposed.uti
159- en-nabcc.utb
Christian Eglid1998f22017-06-06 14:46:08 +0200160
161Renamed
Christian Egli67ab8e92019-09-02 13:29:53 +0200162~~~~~~~
Christian Egli695316a2017-12-04 16:51:01 +0100163
Christian Egli67ab8e92019-09-02 13:29:53 +0200164- gr-bb.ctb -> grc-international-en.utb
Christian Egli695316a2017-12-04 16:51:01 +0100165
166Removed
Christian Egli67ab8e92019-09-02 13:29:53 +0200167~~~~~~~
Christian Egli0dee1fc2018-03-05 17:09:58 +0100168
Christian Egli67ab8e92019-09-02 13:29:53 +0200169- unicodedefs.cti
170- fi-fi.ctb
Christian Egli2d6ae7e2014-12-01 14:37:01 +0100171
Christian Eglib4b192b2015-03-02 10:54:30 +0100172Next release
173============
Christian Egli2d6ae7e2014-12-01 14:37:01 +0100174
Christian Egli67ab8e92019-09-02 13:29:53 +0200175The next release will be published on December 2 2019 so please keep up
176the excellent work and keep those improvements coming.
Christian Egli15c482e2009-01-27 16:23:57 +0000177
178Share and Enjoy!
179
Christian Egli67ab8e92019-09-02 13:29:53 +0200180– Christian Egli, on behalf of the liblouis developers
Christian Egli971d4e82009-01-30 10:09:52 +0000181
182Footnotes
Christian Egli554b70f2014-09-01 13:47:30 +0200183=========
Christian Egli971d4e82009-01-30 10:09:52 +0000184
Christian Egli67ab8e92019-09-02 13:29:53 +0200185.. [1]
186 https://github.com/liblouis/liblouis/tree/master/tables
Christian Egli8c46e1b2018-12-03 16:47:51 +0100187
Christian Egli67ab8e92019-09-02 13:29:53 +0200188.. [2]
189 https://github.com/liblouis/liblouisutdml
190
191.. [3]
192 https://github.com/liblouis/liblouis/milestone/21?closed=1