A tremendous amount of work by Dave Mielke and Bert Frees has gone into this release. They have improved liblouis for use on note taker devices, for backwards translation and a number of languages. Many other contributors (listed below) have also helped in fixing bugs and improving braille tables, such as Dutch, Mongolian, Polish, Ancient Greek, Danish, Irish, Chinese, and American Braille Computer Code.
For a detailed list of all the changes refer to the list of closed issues.
- New features
- Bug fixes
- Braille table improvements
- Other changes
- Deprecation notice
- Backwards incompatible changes
- Invisible changes
- New, renamed or removed tables
alwaysrules with a single character and a single braille cell for back-translation. Thanks to Bue Vester-Andersen.
noUndefinedmode for forward translation, thanks to Dave Mielke.
- Use fallback braille representations (NABCC) for rendering undefined characters in hexadecimal notation, thanks to Dave Mielke.
- Always render undefined characters, also ASCII characters, in hexadecimal notation.
- Add a new metadata field
index-namefor selecting a table from a list fast and efficiently. It has the most important information first and no redundant information. It should look nice when sorted. This in contrast to the existing
display-namefield which is for describing a table accurately and should sound good. Thanks to Dave Mielke and Bert Frees.
- Don't let a caps passage end on a word with no letters. Thanks to Bert Frees.
- Handle word resets in the last word of an caps or emphasis passage if the end indicator was placed before the word. Thanks to Bert Frees.
- Never convert to lowercase if
capsletteris not defined. Thanks to Bert Frees.
- Fix position mapping for back-translation when
noUndefinedmode is active. Thanks to Dave Mielke.
- Fix bug where a translation would hang on words that match both a
repeatedrule. Thanks to Dave Mielke.
- Fix bug where the effect of
capsnocontwould leak to the next word if that word starts with a capital. Thanks to Bue Vester-Andersen.
Braille table improvements
- Fix an issue with ordinal numbers inside caps passages in Dutch braille. Thanks to Bert Frees.
- Improved back-translation for Mongolian thanks to Angaragerdene.
- Fixes to Polish grade 1 and Polish computer braille thanks to Łukasz Golonka.
- Improvements to Ancient Greek braille, which has been renamed "Greek international braille". A version with composed accents is made available as a .uti table. Thanks to Dave Mielke and Μαρια Γεωργακαράκου (Maria Georgakarakou).
- Various improvements to modern Greek thanks to Dave Mielke.
- Improvements and fixes to Spanish contracted braille. Details in #741. Thanks to Juan Pablo Bello.
- Improvements and fixes to the Danish tables. Thanks to Bue Vester-Andersen.
- Add a display table to match Word CX which is used in Norway and Sweden, and maybe also in other countries thanks to Lars Bjørndal.
- Fix handling of colon within number in Dutch braille, thanks to Jake Kyle.
- Fix translation of bullet and dot operators in Dutch braille, thanks to Paul Rambags
- Added North American Braille Computer Code table (
en-nabcc.utb) which is the counterpart of the
text_nabcc.disdisplay table. Thanks to Dave Mielke.
- Add support for the International Phonetic Alphabet (IPA) to the Chinese bopomofo braille table, thanks to Hurt Huang and Sponge Jhan. Various improvements, including dot patterns and test cases, to the Chinese bopomofo braille table, thanks to Sponge Jhan.
- Unified English Braille no longer displays a single underscore when multiple underscores are in the text, thanks to André-Abush Clause.
- Update to Afrikaans uncontracted braille and new table for contracted braille. Thanks to Christo de Klerk and Greg Kearney.
- Update Irish braille (contracted and uncontracted) to the May 2019 version of the specification, thanks to Ronan McGuirk
- The python wrapper now encodes and decodes strings to/from UTF-16 and UTF-32 using the surrogatepass error handler. This ensures that single UTF-16 surrogate characters are processed correctly by the wrapper and don't raise an encoding/decoding error. Thanks to Leonard de Ruijter.
- Metadata keys and values are now case insensitive, thanks to Dave Mielke.
unicodedefs.cti. It was obsolete and never meant to be included by any tables. Instead use the online references as mentioned in the documentation now. See also #696.
lou_checkyamltest reporting has been improved, thanks to Bert Frees. For example it now has a
--verboseoption so that printing of expected failures can be enabled.
Hyphenation tables have been removed from tables except those needed for
nocrossrules, thanks to Bert Frees.
The idea is that the caller (for example
liblouisutdml) should be able to decide for themselves which hyphenation table to use. The case in which a table contains nocross rules is an exception. In this case the hyphenation patterns are a real part of the table. Because it is not recommended to append an own hyphenation table in this case, a
#-has-nocrossmetadata field was added to indicate that a table contains nocross rules.
lou_hyphenatecan now handle more than just words (sequences of letters), e.g compound words, thanks to Bert Frees.
noUndefinedDotsmode has been renamed to
noUndefined. For backwards compatibility
noUndefinedDotsis still available in the header file and in the Python bindings, as an alias for
Backwards incompatible changes
- Internally separate more clearly the display and translation phases.
New, renamed or removed tables
- gr-bb.ctb -> grc-international-en.utb