Trait CharExt

Source
pub trait CharExt {
    // Required methods
    fn script(self) -> Script;
    fn general_category(self) -> hb_unicode_general_category_t;
    fn space_fallback(self) -> u8;
    fn modified_combining_class(self) -> u8;
    fn mirrored(self) -> Option<char>;
    fn is_emoji_extended_pictographic(self) -> bool;
    fn is_default_ignorable(self) -> bool;
    fn is_variation_selector(self) -> bool;
    fn vertical(self) -> Option<char>;
}

Required Methods§

Implementations on Foreign Types§

Source§

impl CharExt for char

Source§

fn is_default_ignorable(self) -> bool

Default_Ignorable codepoints:

Note: While U+115F, U+1160, U+3164 and U+FFA0 are Default_Ignorable, we do NOT want to hide them, as the way Uniscribe has implemented them is with regular spacing glyphs, and that’s the way fonts are made to work. As such, we make exceptions for those four. Also ignoring U+1BCA0..1BCA3. https://github.com/harfbuzz/harfbuzz/issues/503

Unicode 14.0: $ grep ’; Default_Ignorable_Code_Point ’ DerivedCoreProperties.txt | sed ‘s/;.*#/#/’ 00AD # Cf SOFT HYPHEN 034F # Mn COMBINING GRAPHEME JOINER 061C # Cf ARABIC LETTER MARK 115F..1160 # Lo [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER 17B4..17B5 # Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA 180B..180D # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE 180E # Cf MONGOLIAN VOWEL SEPARATOR 180F # Mn MONGOLIAN FREE VARIATION SELECTOR FOUR 200B..200F # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK 202A..202E # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE 2060..2064 # Cf [5] WORD JOINER..INVISIBLE PLUS 2065 # Cn 2066..206F # Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES 3164 # Lo HANGUL FILLER FE00..FE0F # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 FEFF # Cf ZERO WIDTH NO-BREAK SPACE FFA0 # Lo HALFWIDTH HANGUL FILLER FFF0..FFF8 # Cn [9] .. 1BCA0..1BCA3 # Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP 1D173..1D17A # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE E0000 # Cn E0001 # Cf LANGUAGE TAG E0002..E001F # Cn [30] .. E0020..E007F # Cf [96] TAG SPACE..CANCEL TAG E0080..E00FF # Cn [128] .. E0100..E01EF # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 E01F0..E0FFF # Cn [3600] ..

Source§

fn script(self) -> Script

Source§

fn general_category(self) -> hb_unicode_general_category_t

Source§

fn space_fallback(self) -> u8

Source§

fn modified_combining_class(self) -> u8

Source§

fn mirrored(self) -> Option<char>

Source§

fn is_emoji_extended_pictographic(self) -> bool

Source§

fn is_variation_selector(self) -> bool

Source§

fn vertical(self) -> Option<char>

Implementors§