Rust Unic Versions Save

UNIC: Unicode and Internationalization Crates for Rust

v0.9.0

5 years ago

Add

  • unic-ucd-name_aliases: Unicode Name Alias character properties.

Changed

  • unic-cli: Fallback to Name Alias for characters without Name value.

Fixed

  • ucd-ident: Use correct data table for PatternWhitespace property. [GH-254]

Misc

  • Use external git submodules for source data.

  • Migrate to Rust 2018 Edition.

v0.8.0

5 years ago

New Components

  • 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.

Other Updates

  • unic-ucd-name: Complete implementation for Unicode Name Property, with addition of Hangul and CJK Han names, as defined by The Unicode Standard.

Notes

  • 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.

v0.7.0

6 years ago

UNIC Applications

UNIC Applications are binary creates hosting in the same repository as unic super-crate, under the apps/ directory. These creates are not internal parts of the unic library, 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-cli] The new UNIC CLI application provides command-line tools for working with Unicode characters and strings. In this release, first versions of unic-echo and unic-inspector commands are implemented.

New Components

Character Property

  • [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.

String Algorithm

  • [unic-segment] Implementation of Unicode Text Segmentation algorithms (Grapheme Cluster and Word boundaries).

Other Updates

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 1.22.0.

  • Enable no_std for many of the existing components.
  • Bumped minimum Rust to 1.22.0.
  • Lots of small fixes for data types and internal structure updates.

v0.6.0

6 years ago

New components and modules

Abstractions for working with characters

  • [unic-char-range] Range and iterator types for characters, plus a chars!() macro. (Used as chars!('a'..'e'), chars!('a'..='e'), or chars!(..).)
  • [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 (Name property).
  • [unic-ucd-case] New basic implementation of Unicode character case properties.
  • [unic-ucd-bidi] Add Bidi_Mirrored and Bidi_Control properties.

Dropped components and modules

  • Drop unic-utils's iter_all_chars() in favor of unic-char-range types 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.

v0.5.0

6 years ago

v0.4.0

6 years ago
  • Create UnicodeVersion type and use in all components for UNICODE_VERSION, and allow conversion to/from Age character property.

  • Split IDNA Mapping data into unic-idna-mapping and leave the process algorithms in unic-idna.

  • [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 Prop as methods.

  • [idna] Use standard binary_search_by().

  • Pass in bench_it feature to components supporting it. (Only unic-bidi at the moment.)

v0.3.0

6 years ago
  • Add ucd::age component. (unic-ucd-age)

v0.2.0

6 years ago

Update UCD and IDNA data to Unicode 10.0.0, as released on 2017-06-20.

v0.1.2

6 years ago
  • Add a bunch of missing documentations.

  • Add a script to publish all crates, in order of dependency.

v0.1.1

6 years ago

Initial release with UCD, Bidi, IDNA, and Normalization components.