This release contains the usual assortment of braille table improvements, cleanups and bug fixes. The most prominent change is the refactoring of the call APIs by Bert Frees that makes the code much more manageable and solid and will help us in the future to evolve the library.
For a detailed list of all the changes refer to the list of closed issues.
- New features
- Bug fixes
- Braille table improvements
- Other changes
- Deprecation notice
- Backwards incompatible changes
- New, renamed or removed tables
New features
- Add metadata fields
name
anddisplay-name
to tables thanks to Bert Frees. Thename
contains a description of the table in the native language.display-name
contains an English description. - YAML test enhancements
- You can now test both forward and backwards translation with in the same YAML file and for the same set of tables tests thanks to Bue Vester-Andersen. See the documentation for the
bothDirections
testmode. - Add
maxOutputLength
option in YAML tests.
- You can now test both forward and backwards translation with in the same YAML file and for the same set of tables tests thanks to Bue Vester-Andersen. See the documentation for the
Bug fixes
- Fix a bunch of buffer overflow errors in table parsing thanks to Samuel Thibault and Christian Egli (CVE-2018-11410 and CVE-2018-11440).
- Fix input-output mapping of context rules thanks to Bert Frees.
- Fix back tracking with all caps words thanks to Bert Frees.
- Fix context rules with lookback thanks to Bert Frees.
- Fix a memory leak in default table resolver thanks to Timothy Lee.
- Fix an array out of bounds error which caused a crash on i386 thanks to Samuel Thibault.
- Fix numerous stack-based buffer overflow in table parsing thanks that were reported by Henri Salo thanks to Christian Egli (CVE-2018-11683, CVE-2018-11684 and CVE-2018-11685).
Braille table improvements
- Fix some forward- and back-translation errors in Unified French Grade 2 thanks to André-Abush Clause.
- Updates to the Simplified-Chinese Braille Translation Table thanks to Roshanson
- Added many polygraphs to distinguish different meanings of a word
- Letter identifiers have been modified. In China’s school for the blind, when many visually impaired students learn, the lowercase letters often do not have to mark the identifiers deliberately. So in this version, we this item has been deleted.
- Fixed a bug in the braille code that revises the space and 0
- Updates to Bopomofo-based Chinese Braille Table thanks to Bo-Cheng Jhan
- Redefine some Chinese words and phrases
- Add various Nemeth symbols such as arrows and parenthesis
- Complete the support of CJK Compatibility block
- Fix the support of various parentheses, brackets, and braces
- Minor fixes (kana rules, punctuation marks, Greek alphabets)
- New 8 dot computer braille table for Czech thanks to Jan Hegr.
- Fixes to Czech 6 dot table thanks to Jan Hegr
- Fixed curly brackets representation
- Fixed number sign representation
- Added copyright sign
- Minor fixes to Hebrew thanks to Erez Kugler.
Other changes
- Refactoring thanks to Bert Frees
- Simplify the emphasis class handling by combining all related vars in a struct
EmphasisClass
- Simplify input/output buffer handling
- Combine
emphasisBuffer
andtransnoteBuffer
- Group match related vars in a struct
PassRuleMatch
- Remove dead code
- Simplify the emphasis class handling by combining all related vars in a struct
- Fixed many warnings thanks to Christian Egli
Deprecation notice
- The
mode
parameter inlou_dotsToChar
never had any effect and is now deprecated. - In 2012 a new way to specify the test and action part in context and multipass opcodes was introduced. It was never documented and has no known usage in the wild. However it opens up the attack surface to the table parsing code. Therefore it is deprecated and will be removed in the next release.
Backwards incompatible changes
- None
New, renamed or removed tables
New
- cs-comp8.utb
Renamed
- None
Removed
- Cz-Cz-g1.utb