Skip to main content

SingleSubstStatement

Struct SingleSubstStatement 

Source
pub struct SingleSubstStatement {
    pub location: Range<usize>,
    pub prefix: Vec<GlyphContainer>,
    pub suffix: Vec<GlyphContainer>,
    pub glyphs: Vec<GlyphContainer>,
    pub replacement: Vec<GlyphContainer>,
    pub force_chain: bool,
}
Expand description

A single substitution (GSUB type 1) statement

Fields§

§location: Range<usize>

The location of the statement in the source FEA.

§prefix: Vec<GlyphContainer>

The prefix (backtrack) glyphs

§suffix: Vec<GlyphContainer>

The suffix (lookahead) glyphs

§glyphs: Vec<GlyphContainer>

The glyphs to be substituted

Although this is a single substitution, there may be multiple glyphs in e.g. sub [a b] by [c d]; where a and b are both substituted by c and d respectively.

§replacement: Vec<GlyphContainer>

The replacement glyphs

§force_chain: bool

Whether to force this substitution to be treated as contextual

Implementations§

Source§

impl SingleSubstStatement

Source

pub fn new( glyphs: Vec<GlyphContainer>, replacement: Vec<GlyphContainer>, prefix: Vec<GlyphContainer>, suffix: Vec<GlyphContainer>, location: Range<usize>, force_chain: bool, ) -> Self

Create a new single substitution statement.

Note the unusual argument order: prefix and suffix come after the replacement glyphs. prefix, suffix, glyphs and replacement should be lists of glyph-containing objects_. glyphs and replacement should be one-item lists.

Trait Implementations§

Source§

impl Clone for SingleSubstStatement

Source§

fn clone(&self) -> SingleSubstStatement

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SingleSubstStatement

Source§

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

Formats the value using the given formatter. Read more
Source§

impl From<Gsub1> for SingleSubstStatement

Source§

fn from(val: Gsub1) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for SingleSubstStatement

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for SingleSubstStatement

Source§

impl StructuralPartialEq for SingleSubstStatement

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsFea for T
where T: PotentiallyContextualStatement,

Source§

fn as_fea(&self, indent: &str) -> String

Convert the AST node to feature file syntax with the given indentation.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<U, T> ToOwnedObj<U> for T
where U: FromObjRef<T>,

Source§

fn to_owned_obj(&self, data: FontData<'_>) -> U

Convert this type into T, using the provided data to resolve any offsets.
Source§

impl<U, T> ToOwnedTable<U> for T
where U: FromTableRef<T>,

Source§

fn to_owned_table(&self) -> U

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.