Releases: liblouis/liblouis
liblouis 3.37.0 has been released
Noteworthy changes in this release
The nice thing about creating a release is that you get to bring in all these wonderful contributions that people have provided. This time we have new and improved braille tables for Danish, Devanagari, English grade 3, Estonian 6-dot, Hungarian, Italian 6-dot, Norwegian and UK 8-dot computer. Anthony has done incredible work to fix obscure opcode bugs. XANOY and PGZXB have patched many security problems and finally Benedict Carling has improved typeform handling for back-translation so that it is finally usable.
I'd like to thank everybody for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
- The typeform buffer is now populated during back-translation. This allows applications to detect emphasis (italic, bold, underline) when translating braille back to text. Thanks to Benedict Carling of Paige Braille.
- The YAML test format has a new
expected_typeformfield to test that emphasis in braille is correctly detected during back-translation.
Bug fixes
- Both
sufwordandprfwordnow correctly recognizeseqdelimitercharacters as word boundaries during forward translation and respectnocontractsignduring back-translation, thanks to Anthony Tibbs. - Fix contraction opcode bugs when using
nocontractsignthanks to Anthony Tibbs. - Fix a NULL pointer dereference
lou_readCharFromFilethanks to XANOY. - Fix a memory leak in
parseLanguageTagwhen parsing invalid queries and a heap buffer overflow insyllableBreak. Both thanks to PGZXB. - Fix a stack overflow when an invalid
LOUIS_LOGLEVELstring is provided and avoid a crash when the table resolver is NULL. Both thanks to Anthony Tibbs. - Fix an infinite loop in
isEmphasizablecaused if characters mistakenly reference one another thanks to Anthony Tibbs. - Fix
capswordtranslation withendwordapostrophe'd letters (e.g. AA's, FBI's) again thanks to Anthony Tibbs. - Fix a heap buffer overflow in
translateStringwhen handlingjoinnumorjoinwordrules. Thanks to Christian Egli for fixing and zerojackyi for reporting it. - Various code cleanups thanks to Bert Frees.
- Fix a stack buffer overflow in
pattern_compile_expressionand a stack buffer overflow in_lou_getTablePathwhenLOUIS_TABLEPATHis too long, both thanks to PGZXB.
Braille table improvements
- Add a complete implementation for UK 8-dot computer braille according to the standard created by the BAUK (Braille Authority of the UK) and currently maintained by the successor organization, UKAAF thanks to Seeing Hands.
- Vastly improved Italian 6-dot braille table thanks to Tommaso Nonis of Vision Dept S.r.l.
- The table has been completely redesigned, and various mathematical symbols, capitalization and punctuation were fixed.
- inputting characters from A to J no longer results in numbers being inserted instead.
- Parentheses, quotation marks, brackets and braces now display correctly
- Emphasis marks have been introduced for bold, italic and underline, allowing these to be viewed in screen reader utilities that support them.
- Improvements to Norwegian thanks to Lars Bjørndal.
- Corrections to Danish Grade 2 thanks to Bue Vester-Andersen.
- Improvements to Hungarian forward and backward translation thanks to Attila Hammer.
- Major updates to Devanagari to comply with the new Bharti Braille rules 2.1. Also support for back-translation support was added thanks to Dipendra Manocha and Jake Kyle.
- Add an Estonian 6-dot braille table based on the official Estonian Braille Standard (March 2009) and Eesti punktkirja käsiraamat (2011) thanks to Artur Räpp and Taniel Kirikal.
- Improvements to English grade 3 thanks to Bue Vester-Andersen.
Other changes
- None
Deprecation notice
- None
Backwards incompatible changes
- The
literalopcode has been removed as it was synonymous with thecompbrlopcode.
Invisible changes
- None
New, renamed or removed tables
New
- et-6dot.utb
Renamed
- None
Removed
- it.tbl
- use it-it-comp6.utb instead
liblouis 3.36.0 has been released
Noteworthy changes in this release
This release brings various updates to braille tables, particularly for Slovakian and Norwegian in line with the respective changes to their the braille standards. There are new tables for Macedonian uncontracted braille and the long awaited table for English Grade 3 is finally here. On the technical side, there are modernized Python bindings and better support for building liblouis for environments such as Android.
I'd like to thank everyone for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
- There is a new table for Macedonian uncontracted braille thanks to Kristijan Lazarev.
- There is a new table for English Grade 3 thanks to Bue Vester-Andersen.
Bug fixes
- Fix a bug with having to double escape certain characters in match patterns. Escaping now works as you'd expect thanks to Christian Egli.
Braille table improvements
- Improvements to Hungarian forward and backward translation thanks to Attila Hammer.
- Update the Slovakian 6-dot literary table to be in line with the latest Slovak braille standards thanks to Peter Vágner and other members of the Braille Authority of Slovakia.
- Added emphasis indication for bold, italic and underline
- Fixed back translation issues
- Added additional symbols for foreign Latin alphabet characters
- Norwegian Grade 2 has seen a major overhaul according to the adjustments made by the Norwegian Braille Authority thanks to Lars Bjørndal.
- Improve the handling of Greek letters in Norwegian 8-dot braille thanks to Lars Bjørndal.
Other changes
- Fix the linking of the fuzzers thanks to Samuel Thibault.
- Use
"config.h"instead of<config.h>for portability thanks to Patryk Miś. This change does not affect normal autotools builds, but improves portability for alternative build systems such as CMake, Bazel, or the Android NDK. - Modernize the Python bindings thanks to Leonard de Ruijter. The minimum Python version is now 3.10. The syntax has been updated, type hints have been added and the doc strings are modernized.
Deprecation notice
- None
Backwards incompatible changes
- None
Invisible changes
- None
New, renamed or removed tables
New
mk-g1.utben-g3.ctb
Renamed
- None
Removed
- None
liblouis 3.35.0 has been released
Noteworthy changes in this release
This release brings quite a few technical improvements. We've enhanced support for memory management in the API, added support for math characters in match rules, expanded the Python bindings to include metadata API support, and made it possible to set the log level via the LOUIS_LOGLEVEL environment variable.
There are also substantial updates to various language tables, including improvements to Portuguese 8-dot braille, Hebrew back-translation, Norwegian 8-dot support, UEB forward translation, and Hungarian braille. We've added support for Rokuten Kanji (Japanese Kanji Braille). Russian, Ukrainian, and Belarusian literary braille tables have received updates to their space handling rules, and the Danish tables have seen fixes related to typos and hyphenation.
I'd like to thank everybody for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
matchrules now also support testing for math characters. Thanks to James Bowden for the idea and Bert Frees for the implementation.- Add Support for "Rokuten Kanji", the other Japanese system for Kanji Braille.
- The API now contains functions to free memory that was returned by API calls. See the documentation for details. Thanks to Leonard de Ruijter.
- The Python bindings now support most of the metadata API, thanks to Leonard de Ruijter.
Bug fixes
ucBrlin the mode parameter now correctly works also for back-translation. Thanks to Bert Frees.- Fix a segfault when a StringBuffer is used before it is initialized. Thanks to Anthony Tibbs.
- Fix a bug in the handling of
nocontin conjunction withseqdelimiter. Thanks to Bert Frees.
Braille table improvements
- Improvements to the Portuguese 8-dot Braille table: Correct angle quotation mark characters used in Portugal, add missing symbols, such as Greek alphabet and double quotation mark characters used in Brazil. Also added symbols that aren't defined in the Portuguese standard but are commonly found in texts and web pages, such as bullet points, some common mathematical symbols, etc. Thanks to Tiago M. Casal.
- Fix the back-translation of the Greek Sigma and other small improvements to the Hebrew table. Thanks to Leonard de Ruijter.
- Improvements to Norwegian 8dot thanks to Lars Bjørndal.
- Add more characters and math symbols.
- Fix a back-translation problem when two dot 6 are followed by a word.
- Fix a problem where the letter "i" is followed by number.
- Improvements to UEB forward translation, in particular fixes for rarer words and some proper names. Thanks to James Bowden.
- Hungarian improvements thanks to Attila Hammer.
- Fix typos and hyphenations in the Danish tables thanks to Bue Vester-Andersen.
- Improvements to the back translation for the Russian literary Braille table: Now, if a space is intentionally input after a comma or semicolon, a double space will not occur. If no space was input, a space will still be automatically added, as before. This change also applies to Ukrainian and Belarusian literary Braille tables. Thanks to Andrey Yakuboy.
Other changes
- Hans Anton Ålien proof read the documentation and fixed quite a few typos.
- The log level of the library can now also be set via the
LOUIS_LOGLEVELenvironment variable.
Deprecation notice
- None
Backwards incompatible changes
Invisible changes
New, renamed or removed tables
New
- ja-rokutenkanji.utb
Renamed
None
Removed
None
liblouis 3.34.0 has been released
Noteworthy changes in this release
This release brings significant improvements to various language tables, particularly for Classical/Biblical Hebrew where three main standards are now supported. We have a new table for Thai Grade 2 contracted braille, and substantial updates to Lithuanian braille tables. There are also improvements to Hungarian, Dutch, Norwegian, and Turkish tables. On the technical side, there's new support for building macOS universal binaries and the pre-built html and plain text documentation is no longer packaged with the released tarball.
I'd like to thank everybody for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
- A new table for Thai Braille Grade 2, a contracted Braille system, has been added thanks to Chatupol Nootatong.
Braille table improvements
- Hungarian improvements thanks to Attila Hammer.
- Fix a bug in the Dutch table related to apostrophes after a number which are not always a minute sign. Thanks to Bert Frees.
- Fix the metadata of the Russian 6-dot computer braille table thanks to Bert Frees and Andrey Yakuboy.
- Minor improvements to the Norwegian Braille: Some small fixes regarding 6 dot, added Cyrillic alphabet and added certain new characters to 8 dot, including bullet points used by JAWS when using Liblouis for 8 dot. Thanks to Lars Bjørndal and Bert Frees.
- Major changes to the Lithuanian braille tables thanks to Rimas Kudelis
- Renamed
lt.ctbtolt-8dot.utb - Both tables have been reviewed and modified.
- The 6-dot table is now closer to the national standard issued in 2019.
- The 8-dot table is now intended to align with the 6-dot table instead of the 8-dot standard from 2011.
- Some whitespaces in the table files have been eliminated to make them easier to read using braille terminals.
- Renamed
- Fixes for back-translation issues involving subscript numerals, diacritic marks, and capital letters turning into Greek letters. Makes no changes to the UEB-style cuneiform transliteration table. Thanks to Eric Harvey.
- Major Expansion and Improvements to Classical/Biblical Hebrew thanks to Eric Harvey.
- Two new translation tables have been added so that the three main standards for Classical Hebrew are now available:
- The original International Hebrew Braille Code (
hbo.utb) - The system for full cantillation developed by Ray McAllister, Matthew Yeater, and Sarah Blake LaRose (
hbo-cantillated.utb) - The compact standard without dagesh or shewa represented in the Katz transcription manual (
hbo-slim.utb)
- The original International Hebrew Braille Code (
hbo.utbis now the table for the International Hebrew Braille Code. Before it was used for the IHBC-McCallister system (nowhbo-cantillated.utb). The International Hebrew Braille Code is the most-established and widely used standard for Classical Hebrew, so it seems right to make it the basic table.- Most of the Hebrew-specific rules are contained in
.utifiles, and the.utbfiles only add rules for uncontracted English support. Since Classical Hebrew readers usually have another first language, this allows non-English speakers to create custom translation tables with Hebrew and their first language, or for easier inclusion in multilingual tables likeancient-languages-us.utb. - In addition to the new tables, there are improvements to the
hbo-cantillated.utbtable for consistency and to make sure that braille output matches that produced by Duxbury as closely as possible:- Ultra long vowels now contract consistently.
- Cantillation marks no longer interrupt the contractions for ultra-long vowels (hiriq-yod and tsere-yod).
- Holam now always renders properly as 135 and holam waw as 246.
- Two new translation tables have been added so that the three main standards for Classical Hebrew are now available:
- Improvements to Turkish grade 1 and Turkish computer braille, thanks to Oğuz Uğur and Ozancan Karataş
Other changes
- There is a new configure option to build macOS universal binaries thanks to Bert Frees.
- Fix incorrect (non-https) link in the documentation thanks to jinwoolee.
- The pre-built html and plain text documentation is no longer packaged with the released tarball. All formats of the documentation can still be built from the source and from the released tarball as explained in the README. Thanks to Christian Egli.
Deprecation notice
- None
Backwards incompatible changes
- None
Invisible changes
- None
New, renamed or removed tables
New
- hbo-cantillated.utb (formerly hbo.utb - hbo.utb was changed to follow the IHBC)
- hbo-slim.utb
- th-g2.ctb
Renamed
- ru-compbrl.ctb -> ru-comp6.utb
- ru.ctb -> ru-comp8.utb
- lt.ctb -> lt-8dot.utb
Removed
None
liblouis 3.33.0 has been released
Noteworthy changes in this release
This release combines braille improvements with security enhancements. We have new tables for Coptic braille, Cuneiform transliteration and for Portuguese 6-dot computer braille. There are improvements to Dutch, Hungarian, the International Phonetic Alphabet, Norwegian and UEB. On the security side a lot of people have reported and fixed buffer overflows and other memory issues.
I'd like to thank everybody for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
- None
Bug fixes
- A large number of buffer overflow problems have been solved:
- Fix free error in
parseQueryandanalyzeTablethanks to Liu Yuwei - Fix an overflow in
passDoActionanddoPassSearchthanks to Liu Yuwei - Fixed a segfault in
finalizeCharacterthanks to Christian Egli and cx104906. - Fix a heap-buffer-overflow error in
compileRuleand_lou_extParseCharsthanks to tyler92. - Fix a heap buffer overflow in
back_passDoActionthanks to Bert Frees and Liu Yuwei.
- Fix free error in
- A doc string has been added to
lou_translateStringandlou_translateoutlining the buffer overflow risk thanks to Christian Egli and shuangxiangkan. - Fix the default table search path on Windows thanks to Bert Frees and Bue Vester-Andersen
Braille table improvements
-
Fix the back-translation of capital sign in Dutch thanks to Bert Frees
-
Major improvements to Norwegian thanks to Lars Bjørndal
-
Improvements to the UEB table thanks to James Bowden. In particular the handling of words containing "somer", e.g. "Somerville" was fixed.
-
Hungarian improvements (added more exceptions) thanks to Attila Hammer.
-
Add a new 6-dot table for literary Coptic braille, thanks to Eric Harvey.
-
Added some missing symbols (including space) to the table for the International Phonetic Alphabet, thanks to James Bowden.
-
Add a table for Portuguese 6-dot computer braille, thanks to Tiago
- Casal and Iván Argote-Pérez. The table is based on the official
-
Add a new table for Cuneiform transliteration. It differs from the existing table
cuneiform-transliterated.utbin that it does not adopt UEB dot patterns for the various diacritic marks. Instead it uses bespoke diacritics inspired by some IPA symbols. Thanks to Eric Harvey.
Other changes
- None
Deprecation notice
- None
Backwards incompatible changes
- Make value in table metadata field mandatory: It makes the metadata system clearer and simpler. Empty values have not been used anyway.
Invisible changes
New, renamed or removed tables
New
cop.utbcuneiform-transliterated-compact.utbpt-comp6.utb
Renamed
- None
Removed
- None
liblouis 3.32.0 has been released
Noteworthy changes in this release
A lot of intense work by Matt, Paul, Leonard, Eric, Sarah and Bert went into this release. There are new tables for Biblical Language and Ancient Near Eastern Studies. We have improvements for UEB, Spanish, Turkish and Hungarian. There are also a couple of new features, for example the handling of the language metadata has been extended to handle language ranges.
I'd like to thank all the very dedicated contributors for helping to push liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
lou_translatenow has an option to specify a display table. This is especially useful when using a query. Before it would just default to a Unicode display table, thanks to Christian Egli.- Meta data for
languageandregioncan now be specified using a IETF Extended Language Range. This is particularly useful for accessing tables related to a specific region, for instance. Thanks to Bert Frees.
Bug fixes
- Fix a memory problem in the
getTablefunction. Thanks to the oss-fuzz project for reporting and to Christian Egli for fixing it. - Fix a build problem on Windows related to
strncasecmpwhich was reported at the last minute by Leonard de Ruijter and fixed by Christian Egli.
Braille table improvements
- Updates to Spanish grade 1 thanks to José Manuel Delicado:
- Removed lowered digits. This allows certain punctuation to be written again.
- Included
digits6Dots.uti. This prevents the numsign from disappearing. - The symbols
.and,are used as numeric mode chars. - Added the
nobackoperator to the apostrophe symbol, since it's not very used and conflicts with the..
- Extensive fixes to the UEB computer code thanks to James Bowden.
- Improvements to Turkish grade 2 thanks to Oğuz Uğur and Attila Hammer.
- Hungarian improvements (added more exceptions) thanks to Attila Hammer.
- There is now an include table for symbols referencing the critical apparatus in critical texts thanks to Matt Yeater.
Other changes
- Migrate to
realloc-posixfrom gnulib, asrealloc-gnuthat we used before is now deprecated. Thanks to Christian Egli. - Improvements to the manual thanks to Huan Wu.
- Thanks to Rob Beezer we now have instructions on how to install Python bindings in a virtual environment.
Deprecation notice
- None
Backwards incompatible changes
- If liblouis has been compiled for 16-bit Unicode it will now error if a table contains characters outside of that range. Previously it would issue a warning and ignore the problem. Thanks to Christian Egli.
Invisible changes
- None
New, renamed or removed tables
New
critical-apparatus.utihe-common-consonants.utihe-common-vowels-ihbc.uti
Renamed
- None
Removed
- None
liblouis 3.31.0 has been released
Noteworthy changes in this release
This release adds support for new braille tables, such as Thai contracted and Greek International US, and updates existing braille tables such as the Finnish table which has been updated to the latest braille standard. Benehalo has uncovered a number of security problems in the liblouis code and has thankfully also provided fixes for them by hardening the code.
I'd like to thank all the very dedicated contributors for helping to push liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
- None
Bug fixes
- Benehalo discovered quite a number of security problems and kindly enough also just fixed them by adding some check guards and making the code more robust.
Braille table improvements
- Hungarian improvements (added more exceptions) thanks to Attila Hammer.
- The usage of
matchopcodes with empty pre- and post patterns, e.g.match - disk - 145-24-16in some tables has been replaced with plain oldalwaysopcodes, as their implementation is much faster. - A change to the Spanish back-translation that went into the last release was reverted as it caused more problems than it solved.
- The Dutch display table has been improved thanks to Bert Frees.
- The Finnish table has been updated to reflect the latest Finnish braille standard from 2021 (Pistekirjoituksen perusteet, 2021) thanks to Sami Maatta from Celia.
- Added a new Thai contracted braille table according to the guidelines of "Thai Braille Use Manual" of the National Braille Promotion and Development Fund. Thanks to Chatupol Nootatong.
- Add a table for Greek International US braille. This table is based on the composed Greek characters, unlike the existing English table which is based on the decomposed system. Thanks to Sarah Blake LaRose and Leonard de Ruijter.
Other changes
- None
Deprecation notice
- None
Backwards incompatible changes
- None
Invisible changes
- None
New, renamed or removed tables
New
th-g1.utbgrc-international-en-composed.utb
Renamed
None
Removed
None
liblouis 3.30.0 has been released
Noteworthy changes in this release
We are very excited to bring this release as a lot of enthusiasm and energy has been gone into it. A lot of of new contributors have improved liblouis and added support for new languages to it. We now have support for many ancient languages like Akkadian, Ugaritic, Biblical Hebrew or Syriac. There is also support for Yiddish now. Also the Dutch tables got a very innovative upgrade.
I'd like to thank all the very dedicated contributors for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
- There is a new uncontracted braille table for Yiddish, created by Abby Howell and Matthew Shifrin, a teacher and student of Yiddish at the Boston Worker's Circle.
- A group of incredibly dedicated people has been working on support for ancient languages, namely Matt Yeater and Paul Geoghegan with the help of Sarah Blake LaRose, Eric Harvey, Leonard de Ruijter and Abby Howell. The languages that are supported so far are:
- Biblical Hebrew
- Akkadian according to Borger system
- Akkadian braille according to U.S. system
- Syriac
- Ugaritic
- A table to provide support for the languages represented in the Cuneiform / Akkadian Writing systems
Bug fixes
- Fix a bug in the Python bindings that occurs on bigendian architectures, thanks to Daniel Garcia.
- Fix a memory problem when handling parameters in
lou_translate, thanks to benehalo.
Braille table improvements
- Minor improvements to the Danish tables thanks to Bue Vester-Andersen:
- Fixed a missing contraction for "gjorde".
- Improvements to Hungarian (added more exceptions) thanks to Attila Hammer.
- Corrections to the Malay Table thanks to lbk2907.
- Major improvements to Serbian backtranslation thanks to Aleksandar Sredojevic:
- Backtranslation now works to both Cyrillic and Latin script.
- Fix the metadata for the Cantonese (Hong Kong) table thanks to André Polykanine.
- Improvements to backtranslation of Spanish grade 2 thanks to Iván Argote Pérez with the help of Abby Howell.
- Major upgrade to the Dutch tables thanks to Bert Frees. These tables use virtual dots in an innovative way to help sighted readers better understand the generated braille. They also use a new technique using
m4macros to simplify writing tables that use many repetitive opcodes.
Other changes
- The metadata now has support for
unicode-range, i.e. whether the characters used in a table all fall inside the0-U+FFFFUnicode range (ucs2), or whether some characters are in the >U+10000-U+10FFFFrange (ucs4), thanks to Bert Frees.
Deprecation notice
- None
Backwards incompatible changes
- None
Invisible changes
- None
New, renamed or removed tables
New
sr-Cyrl.ctbyi.utbhbo.utbakk.utbakk-borger.yamlsyc.utbuga.utbcuneiform-transliterated.utb
Renamed
None
Removed
None
liblouis 3.29.0 has been released
Noteworthy changes in this release
A lot of hard work by Andrey, Anthony, Attila, Bert, Bue and James went into this release. We have many improvements for UEB, better support for Belarusian and Ukrainian literary braille, a major upgrade for Turkish and miscellaneous enhancements for Kannada, Danish, Dutch, Esperanto and Malay. There is also a brand new table for classical Greek for Spanish braille readers.
I'd like to thank everybody for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
- There is a new uncontracted braille table to read classical Greek characters according to the technical document B12-1 by the Spanish Braille Commission, thanks to Iván Novegil.
Bug fixes
- None
Braille table improvements
- Fixed issues with Kannada table
kannada.ctithanks to Jake Kyle. - Improvements to the Belarusian and Ukrainian literary braille tables thanks to Andrey Yakuboy:
- Added support for back translation to the Belarusian and Ukrainian literary Braille tables (
bel.utbanduk.utbrespectively). - Changed the dot patterns for parentheses in the Ukrainian braille table from 126-345 to 2356.
- Added new tables for Belarusian and Ukrainian braille with indication of capital letters (
bel-detailed.utbanduk-detailed.utbrespectively).
- Added support for back translation to the Belarusian and Ukrainian literary Braille tables (
- Minor improvements to the Danish tables thanks to Bue Vester-Andersen:
- Fixed definition of dollar sign ($)
- Fixed rules for applying section sign (§)
- Fixed contraction of some words
- Updates to UEB Contracted thanks to Anthony Tibbs:
- Final letter groupsigns will not be used immediately following capital indicators (e.g. when the first letter of the groupsign is capitalized, or the groupsign follows a capitalized passage) per UEB Rule 10.8.2
- Updates to UEB thanks to James Bowden:
- Back translating braille dot 3 now results in the ordinary apostrophe U+0027 rather than U+2019
- Dot 5, used for "spaced digits" is only applied if a no-break space U+00a0 is used in the input. It fixes an issue with British postcodes which should be treated as two separate items. It also means that if someone wants spaced digits, numbers have to be joined together with no-break spaces deliberately.
- Do not collapse Unicode braille in Dutch, thanks to Davy Kager.
- Improvements to Hungarian (added more exceptions) thanks to Attila Hammer.
- Added support for back-translation to the Esperanto table, thanks to Bue Vester-Andersen.
- Major upgrade to the Turkish tables thanks to Oğuz UĞUR with lots of help from Attila Hammer.
- add support for accented characters
- add punctuation symbols from the Turkish Braille Writing Guideline
- fix some contractions
- Corrections to the Malay Table thanks to lbk2907.
Other changes
- Duplicate emphasis classes are no longer warnings thanks to Christian Egli. There are cases where emphasis redefinition is legitimate. They are simply logged now.
Deprecation notice
- None
Backwards incompatible changes
- None
Invisible changes
- None
New, renamed or removed tables
New
- bel-detailed.utb
- uk-detailed.utb
Renamed
None
Removed
None
liblouis 3.28.0 has been released
Noteworthy changes in this release
This release manages to bring as many new features, table improvements and bug fixes as we haven't seen in a long time. There are a number of major bug fixes that Bert worked on that fix bugs and inconsistencies. On the table side there is a new table for Filipino contracted braille, James has tirelessly been working on UEB improvements and (as usual) Attila worked on the Hungarian tables.
I'd like to thank everybody for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed issues.
New features
lou_translatehas a new option to specify the table to use with a query. See the updated documentation on how to make use of this new feature.
Bug fixes
- Fix a bug when matching context rules that begin with uppercase letters. Thanks to Anthony Tibbs for the very detailed bug report and thanks to Bert for the actual fix.
- Fix a memory corruption error in the code for the swap opcodes. Thanks to the OSS-fuzz project for reporting and to Christian Egli for fixing it.
- Change how emphasis phrases are determined. Also allow non-whole words at the start and end of a phrase. This fixes a problem in the UEB handling. Thanks to Ken Perry from APH for reporting and to Bert Frees for fixing it.
- Character definition and base rules are now always considered in the order in which they are defined in the table. In other words the topmost rule always wins. This fixes a number of problems and inconsistencies. Thanks to Bert Frees for the fix.
- Fix a problem with
compbrlAtCursorandcompbrlLeftCursorthat was reported by Daniel Mayr
- Fix a problem with
- When a table does not define any capital marks, rules are now case sensitive thanks to Bert Frees
Braille table improvements
- Improvements to UEB
- fixes to many words starting with letters "BE-".
- Fix back translation of dots 26 - when standing alone; should be the word enough.
- Fix assignment for the right double arrow and added left, up, and down double arrows.
- Fix typos in a couple of rules.
- Fix words beginning "CONS-" and "DISHD-" when written uppercase, all above thanks to James Bowden.
- Ensure letter indicators are added to letters A-J following numbers in a capitalized passage, thanks to Anthony Tibbs.
- Improvements to Hungarian (added more exceptions) thanks to Attila Hammer.
- New table for Filipino contracted braille, thanks to Allan Mesoga and Dang Hoai Phúc.
Other changes
- The
manywarnigsmodule from gnulib is no longer used. It caused massive slowdowns when compiling with gcc. - Add the name of the concerned table when logging warnings thanks to Bert Frees for the patch and to Attila Hammer for the PR.
Deprecation notice
- None
Backwards incompatible changes
- The order of how character definition and base rules are considered has changed. All included tables were adapted, but if you maintain your own tables you might want to look at the change to see what you need to do.
Invisible changes
New, renamed or removed tables
New
- fil-g2.ctb
Renamed
None
Removed
None