blob: e40ae6c3b42b51a976a20698aeb36a6d03b2f598 [file] [log] [blame]
liblouis 2.5.0 has been released
The liblouis developer team is proud to announce the liblouis release 2.5.0.
The release is available for download at:
http://code.google.com/p/liblouis/downloads/list
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 and Orca. A companion project
liblouisutdml/liblouisxml[2] deals with formatting of braille.
Changes in this release
-----------------------
This release contains a tremendous amount of work many developers.
Many long standing bugs have been fixed. The tables can finally be in
UTF-8. A grand table cleanup removed duplication from the tables.
There are now two extensive test frameworks for table writers. A
number of new tables have been contributed on top of the usual
assortment of table improvements. Thanks to all of this liblouis has
already seen quite a bit of uptake in a number of places, notably the
new DAISY pipeline will ship with this release of liblouis.
NOTE: If you have private tables you might want to migrate them to
utf-8. To do this just use iconv as follows:
$ iconv -f latin-1 -t utf-8 <input >output
New features
~~~~~~~~~~~~~
* New Braille tables
- Estonian grade 0, thanks to Jürgen Dengo.
- Portuguese 8 dot Computer braille, Thanks to Rui Fontes
* UTF-8 support in tables
Braille tables can now contain UTF-8 in the opcode arguments.
* Improvements to the python bindings
All constants defined in liblouis.h are now exposed in the bindings.
* Add a doctest infrastructure
These tests are based on the Python doctest framework and are only
run if there is a Python interpreter on the system
* Add a test harness
This test infrastructure allows the user to do table tests in a
simple and concise syntax. These tests are based on the Python
nose testing framework and are only run if either Python 2.x or
3.x with the related nose python module is installed on the
system. See the documentation for more information. Thanks to
Mesar Hameed.
* Add a test harness generator
A harness generator that uses simple text files with a little
formatting to help to generate the json harness files. The purpose
of this tool is to make it much easier and faster to add checks
for a given table. You are expected to read the generated harness
file and make necessary changes, the tool only helps you to get
the tests into the harness format, not check their validity.
* Support for Python 3 in the Python bindings
The Python bindings now work for both Python 2 and Python 3.
Thanks to Michael Whapples.
Improved C-based test framework
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Improved the test framework to be able to test translations
involving Unicode.
- Added numerous tests, e.g. for lowercase and Unicode, for the
input position, for repeated, etc.
Improved the documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Document the test harness (json format, fields, flags).
- Document the use of Valgrind to find memory leaks
- Improve the documentation on the display opcode
Bug fixes
~~~~~~~~~~
- lou_allround and lou_translate now properly handle Unicode
characters
- Fix some issues reported by Valgrind
- Fix inputPos for situation where context and multipass opcodes
are involved
- Fixed a number of bugs with the letter, uppercase and lowercase
opcodes when dealing with Unicode
- Fixed a couple of bugs with hyphenation (documentation, Python
bindings and a number of buffer overruns in the C library).
Thanks Milan Zamazal <pdm@brailcom.org> for reporting this.
- Fix a bug in the $a. matcher in the multipass rules where only 32
chars were matched. It now matches 0xffff chars.
- Fix a bug reported by James Teh related to pass1Only
Braille Table Improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- all table files have consistent encoding, UTF-8.
- The grand table cleanup: Reorganize the tables to remove
duplication. Move common parts such as Latin letter, eight and
six dot digit definitions to separate files which are then
included. This should ease table maintenance. Thanks to Mesar Hameed.
- Fixes to de-de-comp8.ctb thanks to Aliminator83@gmail.com
- hu1.ctb renamed to hu-hu-g1.ctb
- hu.ctb renamed to hu-hu-comp8.ctb
- eo.ctb renamed to eo-g1.ctb
- Fixes to eo-g1.ctb thanks to Aaron Cannon <cannona@fireantproductions.com>
- hu-hu-g1.ctb: improvements and extensive test harness, with
working back-translation, Thanks to Hammer Attila
- Fixes to fr-bfu-comp6.utb and fr-bfu-comp8.utb thanks to Michel
Such <michel.such@free.fr>
- Fixes to no-no-g3.ctb thanks to Lars Bjørndal
<lars@lamasti.net>
Share and Enjoy!
-- Christian Egli, on behalf of the liblouis developers
Footnotes
---------
[1] See http://code.google.com/p/liblouis/
[2] See http://code.google.com/p/liblouisutdml/ and
http://code.google.com/p/liblouisxml/