unic-ucd-name_aliases: Unicode Name Alias character properties.
unic-cli: Fallback to Name Alias for characters without Name value.
ucd-ident: Use correct data table for
👉 Use external git submodules for source data.
Migrate to Rust 2018 Edition.
unic-ucd-block: List of all Unicode Blocks and the property assigning a block to each character.
unic-ucd-hangul: Unicode Hangul Syllable detection and Composition/Decomposition algorithms.
unic-ucd-name: Complete implementation for Unicode Name Property, with addition of Hangul and CJK Han names, as defined by The Unicode Standard.
🚀 This is the last release of the project before migration to Rust 2018 Edition.
Special thanks for Yan Li (@eyeplum) for implementing most of the features in this release.
UNIC Applications are binary creates hosting in the same repository as
unicsuper-crate, under the
apps/directory. These creates are not internal parts of the
uniclibrary, but tools designed and developed for the general ✅ audience, also serving as a test bed for the UNIC API. We are starting with CLI 🌐 applications, and possibly expanding it to GUI and WEB applications, as well.
unic-cliThe new UNIC CLI application provides command-line tools for working with Unicode characters and strings. In this release, first versions of
unic-inspectorcommands are implemented.
🆕 New Components
unic-ucd-common: Common character properties (alphabetic, alphanumeric, control, numeric, and white_space).
unic-ucd-ident: Unicode Identifier character properties.
unic-ucd-segment: Unicode Segmentation character properties.
unic-emoji-char: Unicode Emoji character properties.
unic-segment: Implementation of Unicode Text Segmentation algorithms (Grapheme Cluster and Word boundaries).
🚀 This release was delayed for a couple of cycles, because of the problems with ✅ running tests in a workspace with a mix of std and no-std creates. The issue is resolved as of
no_stdfor many of the existing components.
⬆️ Bumped Minimum Rust Version needed to
⚡️ Lots of small fixes for data types and internal structure updates.
🆕 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.
⚡️ Other updates
- 🍱 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.
unic-ucd-category: Support General_Category Unicode (UCD) character property, implemented as
unic-ucd-nomal: Support Decomposition_Type Unicode (UCD) character property, implemented as
unic-ucd-normal: Update Canonical_Combining_Class implementation to tuple struct and add update API accordingly.
unic-ucd-age: Update Age property implementation to not cause API breakage on new Unicode versions.
unic-utils: Rename from
unic-ucd-utils, to contain all data-less utility functionalities. [GH-50]
📦 Reorganize code structure to make room for dev packages, like new
unic-gencrate—which is going to replace the Python implementation for data table generation.
UnicodeVersiontype and use in all components for
UNICODE_VERSION, and allow conversion to/from
Split IDNA Mapping data into
unic-idna-mappingand leave the process algorithms in
🚚 [ucd] Create common pattern for UCD character properties: For property called
Prop, static function
Prop::of(ch: char)to get value for a character, and
ch.<prop>()using the helper trait called
CharProp. Also, move all property value helpers into
impl Propas methods.
[idna] Use standard
👍 Pass in
bench_itfeature to components supporting it. (Only
unic-bidiat the moment.)
- 🚀 Update UCD and IDNA data to Unicode 10.0.0, as released on 2017-06-20.
📚 A bunch of missing documentations.
A script to publish all crates, in order of dependency.
🎉 Initial release with UCD, Bidi, IDNA, and Normalization components.