struct ParsedRule<'a> {
backtrack: &'a [BigEndian<u16>],
input: &'a [BigEndian<u16>],
lookahead: &'a [BigEndian<u16>],
records: &'a [SequenceLookupRecord],
}Expand description
All of a context rule’s fields, parsed in a single pass.
The generated getters re-derive the positions of all preceding fields on every call, so fetching fields individually in the rule-matching loops re-reads the leading counts many times over; this parses the whole rule once instead. Glyph ids and classes are both read as raw u16s.
Fields§
§backtrack: &'a [BigEndian<u16>]§input: &'a [BigEndian<u16>]§lookahead: &'a [BigEndian<u16>]§records: &'a [SequenceLookupRecord]Implementations§
Source§impl<'a> ParsedRule<'a>
impl<'a> ParsedRule<'a>
Sourcefn from_rule_data(data: FontData<'a>) -> Option<Self>
fn from_rule_data(data: FontData<'a>) -> Option<Self>
Parse a SequenceRule or ClassSequenceRule.
Sourcefn from_chain_rule_data(data: FontData<'a>) -> Option<Self>
fn from_chain_rule_data(data: FontData<'a>) -> Option<Self>
Parse a ChainedSequenceRule or ChainedClassSequenceRule.
Sourcefn apply(
&self,
ctx: &mut hb_ot_apply_context_t<'_>,
match_func: &impl Fn(&mut GlyphInfo, u32) -> bool,
) -> Option<()>
fn apply( &self, ctx: &mut hb_ot_apply_context_t<'_>, match_func: &impl Fn(&mut GlyphInfo, u32) -> bool, ) -> Option<()>
Match this rule’s input sequence and apply its lookup records.
Backtrack/lookahead are not consulted; chain rules go through
apply_chain_with_sequences instead.
Trait Implementations§
Source§impl<'a> Clone for ParsedRule<'a>
impl<'a> Clone for ParsedRule<'a>
Source§fn clone(&self) -> ParsedRule<'a>
fn clone(&self) -> ParsedRule<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Default for ParsedRule<'a>
impl<'a> Default for ParsedRule<'a>
Source§fn default() -> ParsedRule<'a>
fn default() -> ParsedRule<'a>
Returns the “default value” for a type. Read more
impl<'a> Copy for ParsedRule<'a>
Auto Trait Implementations§
impl<'a> Freeze for ParsedRule<'a>
impl<'a> RefUnwindSafe for ParsedRule<'a>
impl<'a> Send for ParsedRule<'a>
impl<'a> Sync for ParsedRule<'a>
impl<'a> Unpin for ParsedRule<'a>
impl<'a> UnsafeUnpin for ParsedRule<'a>
impl<'a> UnwindSafe for ParsedRule<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more