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§
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>
Implementations on Foreign Types§
Source§impl CharExt for char
impl CharExt for char
Source§fn is_default_ignorable(self) -> bool
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