Liblouis is an open-source braille translator and back-translator. It features support for computer and literary braille, supports contracted and uncontracted translation for many, many languages (Arabic, Armenian, Bulgarian, Chinese, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Finish, French, Gaelic, German, Greek, Icelandic, Italian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovakian, Spanish, Swedish, Turkish, Vietnamese, Welsh) and has support for hyphenation. New languages can easily be added through tables that support a rule- or dictionary based approach. Included are also tools for testing and debugging tables. Liblouis also supports math braille (Nemeth and Marburg). The formatting of braille is provided by the companion project liblouisxml.
Liblouis has features to support screen-reading programs. This has led to its use in two Open Source screenreaders, NVDA and Orca. It is also used in some commercial assistive technology applications such as from ViewPlus for example.
Liblouis is based on the translation routines in the BRLTTY screenreader for Linux. It has, however, gone far beyond these routines. It is named in honor of Louis Braille. In Linux and Mac OSX it is a shared library, and in Windows it is a DLL.
News
Noteworthy changes in release 1.6.2 (2009-05-1)
This release contains a new opcode for Malaysian Braille. See the documentation for a description of the new opcode.
New features
- repword opcode: The repword opcode is needed for Malaysian Braille
Noteworthy changes in release 1.6.1 (2009-04-21)
This is mostly a bug fix release. It contains many bug fixes that were discovered in the course of developing UK Math tables.
Bug fixes
- fix to the table of contents generator
- bugfixes for correct, context and multipass opcodes
- bugfixes for largesign opcode
- fixed bug with French back-translation
- fixed the installation path for docs
- documentation improvement
Noteworthy changes in release 1.6 (2009-03-04)
This release features support for Danish and Russian and updated tables for French and Norwegian. The search path for tables can now be specified using an environment variable. Finally there is the usual assortment of bug fixes.
New features
- exactdots opcode: The exactdots opcode is intended for use in liblouisxml semantic-action files to specify exact dot patterns, as in mathematical codes.
- LOUIS_TABLEPATH env variable: You can now specify where liblouis is to look for tables with the LOUIS_TABLEPATH environment variable.
- New Tables for Danish and Russian: There is now support for Danish and Russian.
Bug fixes
- Updated French and Norwegian tables
- Use stdcall calling convention if building for Windows
Noteworthy changes in release 1.5.2 (2009-01-26)
This is a big release for liblouis. It's the first time that it is done from the Google code page. A number of people have contributed, namely John Boyer (table debugger, bug fixes), Eitan Isaacson (Python bindings), James Teh (Python bindings, bug fixes), Christian Egli (documentation) and Michel Such (table for French grade 2).
New features
- Python bindings: The liblouis library can now be used from Python. For more info consult the README file in the python directory.
- Table debugger: liblouis now comes with a debugger that can help to find problems with translation tables.
- French table for grade 2: There is now a translation table for French grade 2.
- pass1Only mode bit: The new pass1Only mode bit will help developers of screen readers as the cursor will stay where it is expected to.
Bug fixes
- Fix the inpos array values for the case where a rule has an output length which is larger than its input length.
- fixed multi-word phrases
- fixed bug in character display
- fixed bug in findOpcodeName
- lou_version now returns the correct liblouis version