Crate properties

Crate properties 

Source
Expand description

Definitions of Unicode Properties and APIs for retrieving property data in an appropriate data structure.

This module is published as its own crate (icu_properties) and as part of the icu crate. See the latter for more details on the ICU4X project.

APIs that return a CodePointSetData exist for binary properties and certain enumerated properties.

APIs that return a CodePointMapData exist for certain enumerated properties.

§Examples

§Property data as CodePointSetDatas

use icu::properties::{CodePointSetData, CodePointMapData};
use icu::properties::props::{GeneralCategory, Emoji};

// A binary property as a `CodePointSetData`

assert!(CodePointSetData::new::<Emoji>().contains('🎃')); // U+1F383 JACK-O-LANTERN
assert!(!CodePointSetData::new::<Emoji>().contains('木')); // U+6728

// An individual enumerated property value as a `CodePointSetData`

let line_sep_data = CodePointMapData::<GeneralCategory>::new()
    .get_set_for_value(GeneralCategory::LineSeparator);
let line_sep = line_sep_data.as_borrowed();

assert!(line_sep.contains('\u{2028}'));
assert!(!line_sep.contains('\u{2029}'));

§Property data as CodePointMapDatas

use icu::properties::CodePointMapData;
use icu::properties::props::Script;

assert_eq!(CodePointMapData::<Script>::new().get('🎃'), Script::Common); // U+1F383 JACK-O-LANTERN
assert_eq!(CodePointMapData::<Script>::new().get('木'), Script::Han); // U+6728

Modules§

props
This module defines all available properties.
provider
🚧 [Unstable] Data provider struct definitions for this ICU4X component.
script
Data and APIs for supporting Script_Extensions property values in an efficient structure.

Structs§

CodePointMapData
A wrapper around code point map data.
CodePointMapDataBorrowed
A borrowed wrapper around code point set data, returned by CodePointSetData::as_borrowed(). More efficient to query.
CodePointSetData
A set of Unicode code points. Access its data via the borrowed version, CodePointSetDataBorrowed.
CodePointSetDataBorrowed
A borrowed wrapper around code point set data, returned by CodePointSetData::as_borrowed(). More efficient to query.
EmojiSetData
A wrapper around UnicodeSet data (characters and strings)
EmojiSetDataBorrowed
A borrowed wrapper around code point set data, returned by EmojiSetData::as_borrowed(). More efficient to query.
PropertyNamesLong
A struct capable of looking up a property name from a value Access its data by calling Self::as_borrowed() and using the methods on PropertyNamesLongBorrowed.
PropertyNamesLongBorrowed
A borrowed wrapper around property value name-to-enum data, returned by PropertyNamesLong::as_borrowed(). More efficient to query.
PropertyNamesShort
A struct capable of looking up a property name from a value Access its data by calling Self::as_borrowed() and using the methods on PropertyNamesShortBorrowed.
PropertyNamesShortBorrowed
A borrowed wrapper around property value name-to-enum data, returned by PropertyNamesShort::as_borrowed(). More efficient to query.
PropertyParser
A struct capable of looking up a property value from a string name. Access its data by calling Self::as_borrowed() and using the methods on PropertyParserBorrowed.
PropertyParserBorrowed
A borrowed wrapper around property value name-to-enum data, returned by PropertyParser::as_borrowed(). More efficient to query.