We’re happy to announce a new release of UNIC: Unicode and Internationalization Crates for Rust: Version 0.6.0!
In this release, we focused on improving abstractions around working with characters, like character range creation and iteration and defining properties of various types for characters, as well as using Rust for creating data tables for character properties and consuming them in the implementations for UCD properties.
Since we put our tools in separate crates from the implementation crates, it means that all the tools developed can be easily used by any third party library. Some of these tools, like character range and iteration, has already had existing similar crates available, but since they did not satisfy the needs of UNIC components, and because they are core to the development of these libraries, we have new implementations with these use-cases in mind, but hope other libraries will find them useful, as well.
Here are some of the new crates:
And, finally, Christopher Durham has become a core contributor!
Following is the release notes.
New components and modules
Abstractions for working with characters
unic-char-range] Range and iterator types for characters, plus a
chars!()macro. (Used as
unic-char-property] New component based on the module previously in
unic-utils, with new support for binary character properties.
Extending Unicode Character Database properties
unic-ucd-name] New minimal implementation of Unicode character names (
unic-ucd-case] New basic implementation of Unicode character case properties.
Dropped components and modules
iter_all_chars()in favor of
unic-char-rangetypes and macros.
- All tables are now generated by the Rust pipeline!
- The Rust table generation has been cleaned up to a very nice level of polish!
unic-utils] Restructure tables into a dedicated type, rather than a mix of traits and “blessed” std types.