Struct unicode_bidi::InitialInfo
source · pub struct InitialInfo<'text> {
pub text: &'text str,
pub original_classes: Vec<BidiClass>,
pub paragraphs: Vec<ParagraphInfo>,
}
Expand description
Initial bidi information of the text.
Contains the text paragraphs and BidiClass
of its characters.
Fields§
§text: &'text str
The text
original_classes: Vec<BidiClass>
The BidiClass of the character at each byte in the text. If a character is multiple bytes, its class will appear multiple times in the vector.
paragraphs: Vec<ParagraphInfo>
The boundaries and level of each paragraph within the text.
Implementations§
source§impl<'text> InitialInfo<'text>
impl<'text> InitialInfo<'text>
sourcepub fn new(text: &str, default_para_level: Option<Level>) -> InitialInfo<'_>
pub fn new(text: &str, default_para_level: Option<Level>) -> InitialInfo<'_>
Find the paragraphs and BidiClasses in a string of text.
http://www.unicode.org/reports/tr9/#The_Paragraph_Level
Also sets the class for each First Strong Isolate initiator (FSI) to LRI or RLI if a strong character is found before the matching PDI. If no strong character is found, the class will remain FSI, and it’s up to later stages to treat these as LRI when needed.
The hardcoded-data
Cargo feature (enabled by default) must be enabled to use this.
sourcepub fn new_with_data_source<'a, D: BidiDataSource>(
data_source: &D,
text: &'a str,
default_para_level: Option<Level>,
) -> InitialInfo<'a>
pub fn new_with_data_source<'a, D: BidiDataSource>( data_source: &D, text: &'a str, default_para_level: Option<Level>, ) -> InitialInfo<'a>
Find the paragraphs and BidiClasses in a string of text, with a custom BidiDataSource
for Bidi data. If you just wish to use the hardcoded Bidi data, please use InitialInfo::new()
instead (enabled with tbe default hardcoded-data
Cargo feature)
http://www.unicode.org/reports/tr9/#The_Paragraph_Level
Also sets the class for each First Strong Isolate initiator (FSI) to LRI or RLI if a strong character is found before the matching PDI. If no strong character is found, the class will remain FSI, and it’s up to later stages to treat these as LRI when needed.
Trait Implementations§
source§impl<'text> Debug for InitialInfo<'text>
impl<'text> Debug for InitialInfo<'text>
source§impl<'text> PartialEq for InitialInfo<'text>
impl<'text> PartialEq for InitialInfo<'text>
source§fn eq(&self, other: &InitialInfo<'text>) -> bool
fn eq(&self, other: &InitialInfo<'text>) -> bool
self
and other
values to be equal, and is used
by ==
.