liblouis NEWS -- history of user-visible changes. -*- org -*-
* Noteworthy changes in release 2.5.1 (2012-9-24) ** Braille Table Improvements - Fix encoding problem in italian table and added more character definitions. Thanks to Simone Dal Maso <simone.dalmaso@juvox.it>. - Rename it-it-g1.utb to it-it-comp6.utb and it-it-g1.utb2 to it-it-comp8.utb. ** Bug fixes - Fix outputPos and inlen where an input character generates multiple output characters. * Noteworthy changes in release 2.5.0 (2012-9-10) 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> - Reworked and extended Ethiopic braille table ethio-g1.ctb, superseeds gez*, thanks to Dr. Tamru E. Belay <g.braille@sympatico.ca> - Fixes to no-no-g3.ctb thanks to Lars Bjørndal <lars@lamasti.net> * Noteworthy changes in release 2.4.1 (2012-2-22) ** New features - Czech hyphenation table thanks to Jan Hegr - Spanish grade 1 table provided by José Enrique Fernández del Campo and Juan Carlos Buño Suárez - New Tamil table thanks to Mesar Hameed ** Braille Table Improvements - Improvements to the Portuguese grade1 braille tables - Updates and additions to Icelandic 8-dot braille table. - Improvements to the uncontracted Spanish computer braille table. - Improvements to the Norwegian braille table thanks to David Hole. * Noteworthy changes in release 2.4.0 (2012-01-31) ** New features - New Generic Farsi Grade 1 table: A new table for Generic Farsi Grade 1 braille has been provided by Mesar Hameed. - Emacs mode for editing Braille tables thanks to Christian Egli ** Braille Table Improvements - Improvements to the French comp6 and comp8 braille tables - Improvements to the Romanian braille table - Improvements to the Generic Arabic Grade 1 table - Improvements to the Czech tables thanks to Jan Halousek and to Jan Hegr * Noteworthy changes in release 2.3.0 (2011-05-09) This release contains support for many more languages than before (Swedish, Kurdish, Ethiopic, Serbian, many Indian languages). The search path for tables is now a list of paths. Finally there is the usual assortment of bug fixes. ** New features *** Multiple table search path The environment variable LOUIS_TABLEPATH can now contain a list of paths (separated by commas) where liblouis should look for tables. This allows the user to keep local tables. *** New --quiet option for lou_checktable lou_checktable writes to stderr even in the case of success. This can now be suppressed with the new option --quiet. *** New Swedish table A new table for Swedish braille has been provided by Samuel Thibault. *** New table for Sorani (Kurdish) A new table for Sorani (Kurdish) Braille has been donated by Peter Engström from Index Braille *** New table for Ethiopic A new table for Ethiopic Braille has been donated by Tamru E. Belay PH.D from Adaptive Technology Center for the Blind (ATCB) *** New table for Serbian A new table for Serbian Braille has been donated by Peter Engström from Index Braille ** Improved the documentation The deprecated opcodes have been moved to a separate section ** Bug fixes - Fixed a long standing bug with an infinite loop in the table compiler ** Braille Table Improvements - Improvements to the Chinese braille table - Improvements to the Flemish Braille Math Code tables - Improvements to the Dutch Braille tables - Improvements to the Spanish Braille tables. - Fixes for the uncontracted French 6 and 8 dot tables - Improved support for Italian 8 dot - Improvements to the Generic Arabic Grade 1 table * Noteworthy changes in release 2.2.0 (????-??-??) ** New features *** New tables - Support for many indian languages - Support for Icelandic 6- and 8-dot - Support for Catalan - Support for Dutch Braille (for Belgium and the Netherlands) - Support for Flemish Braille Math Code (a.k.a. Woluwe code) *** New functions to make libraries relocatable Two new functions, to set the search path for tables and files. They make the library relocatable. See the in the documentation for lou_setDataPath and lou_getDataPath. ** Bug fixes - Improved support for Spanish - Improved Norwegian tables * Noteworthy changes in release 2.1.1 (2010-8-23) ** Bug fixes - Fixed problems with the Danish grade 2 table - Fixed problems with the Marburg maths table for mathematics and the UK maths table for mathematics * Noteworthy changes in release 2.1.0 (2010-8-19) ** New features *** New tables - Added tables for Portuguese grade 1 and 2 - Added unicode.dis for Unicode braille *** Modified tables - Updated Danish tables *** Implemented language to table mapping *** New format of error messages The error messages are now reported in a format similar to the one used in gcc. *** New opcode - added undefined opcode *** Python bindings - Allow the user to configure the maximum output length by specifying a number by which the input length is multiplied using the outlenMultiplier module variable. The default will handle the case where every input character is undefined in the translation table. Previously, this was hard-coded to 2, which was insufficient in some cases. - Add compbrlLeftCursor mode constant. - Add compileString function which wraps lou_compileString. - Corrections/clarifications to docstrings. - Add python binding for the lou_hyphenate function. - Added python wrapper for lou_backTranslateString and lou_backTranslate. *** liblouisxslt as an example Add liblouisxslt as an example to python/examples. This is basically an extension of libxslt that lets you invoke liblouis from an xslt stylesheet to do Braille translation on text nodes for example. *** compbrlLeftCursor Added a patch provided by Volker Bijewitz to implement compbrlLeftCursor. ** Bug fixes *** output cursorPos Fix the output cursorPos when the compbrlAtCursor mode is enabled and the characters around the cursor translate to multiple braille cells, such as in the Chinese braille tables. *** outpos when doing back translation Include a patch by Timothy Lee to fix outpos when doing back translation (issue 11) *** inputPos/outputPos for undefined characters Fix the input/output position arrays for characters in the input which are undefined in the translation table. *** table fixes - Fixed a bug with back translation of '*n'. (issue 13) - Fixes to the en-us-g2.ctb table *** Python bindings - Remove unnecessary imports, allowing the bindings to run in Python 2.7. (issue 12) - lou_translate* writes output information in typeform, so allocate enough bytes for it. Fixes possible buffer overruns and resultant crashes. *** Miscellaneous - Fixes to the man page generation to fix issues that were reported by the Debian packaging builder - Do not invoke help2man when cross-compiling - Documentation updates (issue 10) - Removing noletsign defaults - Many small fixes * Noteworthy changes in release 2.0.0 (2010-7-6) ** New features *** New functions - Adding lou_charSize function * Noteworthy changes in release 1.9.0 (2010-6-29) ** New features *** New functions - lou_dotsToChar and lou_charToDots function - Added lou_compileString for adding entries to tables at run-time. * Noteworthy changes in release 1.8.0 (2009-11-23) This release contains a number of improvements notably the integration of gnulib, the automatic generation of man pages and the addition of tables for German grade 2. ** New features *** New tables - Tables German Grade 2 - Swiss German - Swedish (1989 standard) - Swedish (1996 standard) *** Modified tables - Updated Norwegian tables - Updated Chinese braille table *** man pages All tools accept the --version and --help options and are documented in man pages *** Corpus based test cases for tables You can now have corpus based tests for tables. See the README in tests/table_test_corpuses. ** Bug fixes - config.h is no longer exported - Many small fixes * Noteworthy changes in release 1.7.0 (2009-08-21) The main new feature of this release is the support for UK and Marburg math. Other changes include a new tool to check hyphenation and the usual improvement and addition of tables. Also The test suite has been enhanced and finally passes. ** New features *** New tables - Tables for UK and Marburg math - Hong Kong Cantonese - Hebrew - Hungarian - Slovene - Tibetan - Irish - Maltese *** Modified tables - Updated Norwegian tables - Bug fixes in Russian tables - Updated French tables *** lou_checkhyphens tool New tool to check hyphenation *** rpm spec file *** Test cases for tables The tables can now be tested with `make check' *** New opcodes - noback and nofor opcode prefixes - grouping opcode - multipass subopcodes ** Bug fixes - Fix for library name and Python bindings - Documentation fixes - Many small fixes * Noteworthy changes in release 1.6.2 (2009-05-01) 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 *** bug fixes for correct, context and multipass opcodes *** bug fixes 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 ** Changes in behavior None * Noteworthy changes in release 1.5 (2009-01-21) 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 ** Changes in behavior None |