pub struct FeatureFile {
pub statements: Vec<ToplevelItem>,
}Expand description
A complete OpenType Feature File.
This is the root structure representing a parsed .fea file, containing a sequence of top-level statements such as glyph class definitions, feature blocks, lookup blocks, and table definitions.
§Examples
use fea_rs_ast::FeatureFile;
let fea_code = "languagesystem DFLT dflt;";
let feature_file = FeatureFile::try_from(fea_code).unwrap();Fields§
§statements: Vec<ToplevelItem>The top-level statements in the feature file
Implementations§
Source§impl FeatureFile
impl FeatureFile
Sourcepub fn new(statements: Vec<ToplevelItem>) -> Self
pub fn new(statements: Vec<ToplevelItem>) -> Self
Creates a new FeatureFile from a list of top-level statements.
Sourcepub fn iter(&self) -> impl Iterator<Item = &ToplevelItem>
pub fn iter(&self) -> impl Iterator<Item = &ToplevelItem>
Returns an iterator over the top-level statements in the file.
Sourcepub fn new_from_fea(
features: &str,
glyph_names: Option<&[&str]>,
project_root: Option<impl Into<PathBuf>>,
) -> Result<Self, Error>
pub fn new_from_fea( features: &str, glyph_names: Option<&[&str]>, project_root: Option<impl Into<PathBuf>>, ) -> Result<Self, Error>
Parses a feature file from a string with optional glyph name resolution.
§Arguments
features- The feature file source code as a stringglyph_names- Optional list of glyph names for validation and range expansionproject_root- Optional project root directory for resolvingincludestatements
§Examples
use fea_rs_ast::FeatureFile;
let fea_code = "languagesystem DFLT dflt;";
let feature_file = FeatureFile::new_from_fea(
fea_code,
None::<&[&str]>,
None::<&str>,
).unwrap();Trait Implementations§
Source§impl AsFea for FeatureFile
impl AsFea for FeatureFile
Source§impl Clone for FeatureFile
impl Clone for FeatureFile
Source§fn clone(&self) -> FeatureFile
fn clone(&self) -> FeatureFile
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 Debug for FeatureFile
impl Debug for FeatureFile
impl Eq for FeatureFile
Source§impl From<ParseTree> for FeatureFile
impl From<ParseTree> for FeatureFile
Source§impl PartialEq for FeatureFile
impl PartialEq for FeatureFile
impl StructuralPartialEq for FeatureFile
Source§impl TryFrom<&str> for FeatureFile
Turn a string into a FeatureFile
impl TryFrom<&str> for FeatureFile
Turn a string into a FeatureFile
Only suitable for simple cases and testing; does not resolve glyph name ranges or includes.
Auto Trait Implementations§
impl Freeze for FeatureFile
impl RefUnwindSafe for FeatureFile
impl Send for FeatureFile
impl Sync for FeatureFile
impl Unpin for FeatureFile
impl UnsafeUnpin for FeatureFile
impl UnwindSafe for FeatureFile
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
Convert this type into
T, using the provided data to resolve any offsets.