Enum GraphemeClusterBreak

enum GraphemeClusterBreak

Represents the Unicode character Grapheme_Cluster_Break property.

References

Variants

CR
U+000D CARRIAGE RETURN (CR)
LF
U+000A LINE FEED (LF)
Control
General_Category = Line_Separator, or
General_Category = Paragraph_Separator, or
General_Category = Control, or
General_Category = Unassigned and Default_Ignorable_Code_Point, or
General_Category = Surrogate, or
General_Category = Format
and not U+000D CARRIAGE RETURN
and not U+000A LINE FEED
and not U+200C ZERO WIDTH NON-JOINER (ZWNJ)
and not U+200D ZERO WIDTH JOINER (ZWJ)
Extend
Grapheme_Extend = Yes

This includes:
General_Category = Nonspacing_Mark
General_Category = Enclosing_Mark
U+200C ZERO WIDTH NON-JOINER
plus a few General_Category = Spacing_Mark needed for canonical equivalence.
ZWJ
U+200D ZERO WIDTH JOINER
RegionalIndicator
Regional_Indicator = Yes

This consists of the range:

U+1F1E6 REGIONAL INDICATOR SYMBOL LETTER A
..U+1F1FF REGIONAL INDICATOR SYMBOL LETTER Z
Prepend
Indic_Syllabic_Category = Consonant_Preceding_Repha, or
Indic_Syllabic_Category = Consonant_Prefixed, or
Prepended_Concatenation_Mark = Yes
SpacingMark
Grapheme_Cluster_Break ≠ Extend, and
General_Category = Spacing_Mark, or
any of the following (which have General_Category = Other_Letter):
U+0E33 ( ำ ) THAI CHARACTER SARA AM
U+0EB3 ( ຳ ) LAO VOWEL SIGN AM

Exceptions: The following (which have General_Category = Spacing_Mark and would otherwise be included) are specifically excluded:

U+102B ( ါ ) MYANMAR VOWEL SIGN TALL AA
U+102C ( ာ ) MYANMAR VOWEL SIGN AA
U+1038 ( း ) MYANMAR SIGN VISARGA
U+1062 ( ၢ ) MYANMAR VOWEL SIGN SGAW KAREN EU
..U+1064 ( ၤ ) MYANMAR TONE MARK SGAW KAREN KE PHO
U+1067 ( ၧ ) MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
..U+106D ( ၭ ) MYANMAR SIGN WESTERN PWO KAREN TONE-5
U+1083 ( ႃ ) MYANMAR VOWEL SIGN SHAN AA
U+1087 ( ႇ ) MYANMAR SIGN SHAN TONE-2
..U+108C ( ႌ ) MYANMAR SIGN SHAN COUNCIL TONE-3
U+108F ( ႏ ) MYANMAR SIGN RUMAI PALAUNG TONE-5
U+109A ( ႚ ) MYANMAR SIGN KHAMTI TONE-1
..U+109C ( ႜ ) MYANMAR VOWEL SIGN AITON A
U+1A61 ( ᩡ ) TAI THAM VOWEL SIGN A
U+1A63 ( ᩣ ) TAI THAM VOWEL SIGN AA
U+1A64 ( ᩤ ) TAI THAM VOWEL SIGN TALL AA
U+AA7B ( ꩻ ) MYANMAR SIGN PAO KAREN TONE
U+AA7D ( ꩽ ) MYANMAR SIGN TAI LAING TONE-5
U+11720 ( 𑜠 ) AHOM VOWEL SIGN A
U+11721 ( 𑜡 ) AHOM VOWEL SIGN AA
L
Hangul_Syllable_Type=L

Such as:

U+1100 ( ᄀ ) HANGUL CHOSEONG KIYEOK
U+115F ( ᅟ ) HANGUL CHOSEONG FILLER
U+A960 ( ꥠ ) HANGUL CHOSEONG TIKEUT-MIEUM
U+A97C ( ꥼ ) HANGUL CHOSEONG SSANGYEORINHIEUH
V
Hangul_Syllable_Type=V

Such as:

U+1160 ( ᅠ ) HANGUL JUNGSEONG FILLER
U+11A2 ( ᆢ ) HANGUL JUNGSEONG SSANGARAEA
U+D7B0 ( ힰ ) HANGUL JUNGSEONG O-YEO
U+D7C6 ( ퟆ ) HANGUL JUNGSEONG ARAEA-E
T
Hangul_Syllable_Type=T

Such as:

U+11A8 ( ᆨ ) HANGUL JONGSEONG KIYEOK
U+11F9 ( ᇹ ) HANGUL JONGSEONG YEORINHIEUH
U+D7CB ( ퟋ ) HANGUL JONGSEONG NIEUN-RIEUL
U+D7FB ( ퟻ ) HANGUL JONGSEONG PHIEUPH-THIEUTH
LV
Hangul_Syllable_Type=LV:

That is:

U+AC00 ( 가 ) HANGUL SYLLABLE GA
U+AC1C ( 개 ) HANGUL SYLLABLE GAE
U+AC38 ( 갸 ) HANGUL SYLLABLE GYA
...
LVT
Hangul_Syllable_Type=LVT

That is:

U+AC01 ( 각 ) HANGUL SYLLABLE GAG
U+AC02 ( 갂 ) HANGUL SYLLABLE GAGG
U+AC03 ( 갃 ) HANGUL SYLLABLE GAGS
U+AC04 ( 간 ) HANGUL SYLLABLE GAN
...
EBase

Emoji characters listed as Emoji_Modifier_Base=Yes in emoji-data.txt, which do not occur after ZWJ in emoji-zwj-sequences.txt.

See https://www.unicode.org/reports/tr51/.

EModifier

Emoji characters listed as Emoji_Modifer=Yes in emoji-data.txt.

See https://www.unicode.org/reports/tr51/.

GlueAfterZwj

Emoji characters that do not break from a previous ZWJ in a defined emoji ZWJ sequence, and are not listed as Emoji_Modifier_Base=Yes in emoji-data.txt.

See https://www.unicode.org/reports/tr51/.

EBaseGAZ

Emoji characters listed as Emoji_Modifer_Base=Yes in emoji_data.txt, and also occur after ZWJ in emoji-zwj-sequences.txt.

See https://www.unicode.org/reports/tr51/.

Other

All other characters

Implementations

impl GraphemeClusterBreak

fn of(ch: char) -> GraphemeClusterBreak

Find the character Grapheme_Cluster_Break property value.

impl CharProperty for GraphemeClusterBreak

fn prop_abbr_name() -> &'static str
fn prop_long_name() -> &'static str
fn prop_human_name() -> &'static str

impl Clone for GraphemeClusterBreak

fn clone(self: &Self) -> GraphemeClusterBreak

impl Copy for GraphemeClusterBreak

impl Debug for GraphemeClusterBreak

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl Default for GraphemeClusterBreak

fn default() -> Self

impl Display for GraphemeClusterBreak

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl EnumeratedCharProperty for GraphemeClusterBreak

fn all_values() -> &'static [GraphemeClusterBreak]
fn abbr_name(self: &Self) -> &'static str
fn long_name(self: &Self) -> &'static str
fn human_name(self: &Self) -> &'static str

impl Eq for GraphemeClusterBreak

impl Freeze for GraphemeClusterBreak

impl FromStr for GraphemeClusterBreak

fn from_str(s: &str) -> Result<Self, <Self as >::Err>

impl Hash for GraphemeClusterBreak

fn hash<__H: $crate::hash::Hasher>(self: &Self, state: &mut __H)

impl PartialEq for GraphemeClusterBreak

fn eq(self: &Self, other: &GraphemeClusterBreak) -> bool

impl RefUnwindSafe for GraphemeClusterBreak

impl Send for GraphemeClusterBreak

impl StructuralPartialEq for GraphemeClusterBreak

impl Sync for GraphemeClusterBreak

impl TotalCharProperty for GraphemeClusterBreak

fn of(ch: char) -> Self

impl Unpin for GraphemeClusterBreak

impl UnsafeUnpin for GraphemeClusterBreak

impl UnwindSafe for GraphemeClusterBreak

impl<T> Any for GraphemeClusterBreak

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for GraphemeClusterBreak

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for GraphemeClusterBreak

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for GraphemeClusterBreak

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for GraphemeClusterBreak

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> PartialCharProperty for GraphemeClusterBreak

fn of(ch: char) -> Option<T>

impl<T, U> Into for GraphemeClusterBreak

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for GraphemeClusterBreak

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for GraphemeClusterBreak

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>