blob: 094d5462552b69e5912d74a8833bb9fb2499bcb1 [file] [log] [blame]
liblouis 3.1.0 has been released
The liblouis developer team is proud to announce the liblouis release
3.1.0. The release is available for download at:
https://github.com/liblouis/liblouis/releases
Introduction
============
Liblouis is an open-source braille translator and back-translator. It
features support for computer, literary and math braille, supports
contracted and uncontracted translation for many, many languages[1].
It plays an important role in an open source accessibility stack and
is used by screenreaders such as NVDA, Orca and JAWS. A companion
project liblouisutdml[2] deals with formatting of braille.
Changes in this release
=======================
An influx of new contributors have made sure that liblouis continues
to improve. Back translation has seen major improvements, there are
some additional modes to help screen readers, for many tables meta
data has been added, the Python bindings are more robust, Windows
support has been improved, the YAML test suite has been generalized
and as usual new and improved braille tables have been included. On
the licensing front we managed to get almost all tables re-licensed to
LGPLv2.1+.
New features
~~~~~~~~~~~~
Meta data
---------
Most of the translation tables now contain meta data. This makes them
discoverable. Programs can use the lou_findTable function to find a
table based on a query.
noUndefinedDots mode
--------------------
Add a noUndefinedDots mode to disable the output of dot numbers when
back-translating undefined patterns. Thanks to James Teh.
When back translating input from a braille keyboard cell by cell, it
is desirable to output characters as soon as they are produced.
Similarly, when back translating contracted braille, it is desirable
to provide a "guess" to the user of the characters they typed. To
achieve this, liblouis needs to have the ability to produce no text
when indicators (which don't produce a character by themselves) are
not followed by another cell. This works already for indicators
liblouis knows about such as capital sign, number sign, etc., but it
does not work for indicators which are not (and cannot be)
specifically defined as indicators. For example, in UEB, dots 4 5 6
alone produces the text "\456/". Setting the noUndefinedDots mode
suppresses this dot number output.
partialTrans mode
-----------------
Add a partialTrans mode to specify that back-translation input should
be treated as an incomplete word. Thanks to James Teh.
If this mode is set, rules that apply only for complete words or at
the end of a word will not take effect. This is intended to be used
when translating input typed on a braille keyboard to provide a rough
idea to the user of the characters they are typing before the word is
complete.
YAML test framework
-------------------
The YAML framework has been extended and is much more useful now. You
can test multiple tables within one YAML file, you can define test
tables directly inline and you can test multiple tables using the same
test data. Refer to the documentation for the details.
If really not wanted the YAML tests can be disabled by specifying
`configure --without-yaml'.
Bug fixes
~~~~~~~~~
- Fixes implicit declaration of 'pattern_check' thanks to Reiner Dolp
- Fix a stackoverflow crash on applications with smaller stack size.
Thanks to Victor Montalvão.
- Fix the \v escape sequence. Thanks to Davy Kager.
- The Python bindings now give a helpful error if liblouis has been
compiled with a different character size than Python. Thanks to Matt
Wenn.
- Massive bug fixes in multipass rules. Dave Mielke has done a
tremendous job improving the multipass machinery also in the context
of back-translation. Where needed nofor/noback has been added to the
multipass rules.
Other changes
~~~~~~~~~~~~~
- Improvements to the Emacs mode for editing liblouis tables thanks to
Christian Egli
- Documenting lou_charSize thanks to Reiner Dolp
- Support for relative table paths in the tests. This will make sure
you always know which table a test actually uses.
- Infrastructure to build windows binaries in a Docker container,
thanks to Bert Frees
Braille table improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~
- UEB improvements, thanks to Mike Gray
- Fixed apostrophe and back translation
- Added rules for Unicode apostrophe handling
- Improvements to UEB and Nemeth math
- Complete overhaul of Lithuanian 8-dots table, thanks to Rimas
Kudelis
- New Urdu 6 Dot Grade 1 and 2 Braille tables thanks to Jake Kyle
- Improvements to Italian 8 dots computer braille, thanks to Simone
Dal Maso.
- New table `unicode-braille.utb' that helps to back translate braille
input to Unicode braille output, thanks to Leonard de Ruijter.
- Improvements to the Chinese braille table thanks to Coscell Kao.
- New Turkish braille table for grade 1 that should replace the old
`tr.ctb' table, thanks to Arend Arends.
- New Persian grade 1 table and 8-dots computer table thanks to
Mohammadreza Rashad.
- New table for the International Phonetic Alphabet thanks to Ludovic
Oger
- Fixes for the French 6 and 8 dots tables thanks to Michel Such. Some
errors have been fixed and many Unicode characters have been added.
- Add an extended 8-dot computer braille table for U.S. English thanks
to Davy Kager. The table is tailored for use on Windows (CP-1252)
and uses dot patterns from Windows screen readers, but should be
useful on other platforms too.
- New Greek table that is better than the existing Greek Grade 1
Braille Table (gr-gr-g1.utb) thanks to Dave Mielke.
- Improved number back-translations on fr-fr-g1 and vi-g1 tables
thanks to Victor Montalvao.
- New Chinese Braille table for use in the mainland of China thanks to
Kaifang Bao of RejoinTech.
- The Black Circle character is commonly used for displaying password
characters. The absence of its definition leads to users not being
able to know how many characters were typed in such fields. This has
been improved for many tables thanks to Victor Montalvao.
License changes
~~~~~~~~~~~~~~~
- DocArch has agreed to re-license their tables, so we have 8 more
tables under the LGPLv2.1+.
Backwards incompatible changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The naming in the YAML test framework has changed slightly from
`tables:` to `table:`.
Next release
============
The next release will be published on June 5, 2017 so please keep up
the excellent work and keep those improvements coming.
Share and Enjoy!
-- Christian Egli, on behalf of the liblouis developers
Footnotes
=========
[1] See https://github.com/liblouis/liblouis/tree/master/tables
[2] See https://github.com/liblouis/liblouisutdml
[3] See https://github.com/liblouis/liblouis/wiki/Emphasis-Opcodes#upgrade-from-previous-versions
[4] See https://github.com/liblouis/liblouis/wiki/Licensing-of-liblouis-tables