Skip to main content

Fvar

Struct Fvar 

Source
pub struct Fvar<'a> {
    data: FontData<'a>,
}
Expand description

Fields§

§data: FontData<'a>

Implementations§

Source§

impl<'a> Fvar<'a>

Source

pub const MIN_SIZE: usize

Source

pub fn resolve_offset<O: Offset, R: FontRead<'a>>( &self, offset: O, ) -> Result<R, ReadError>

Resolve the provided offset from the start of this table.

Source

pub fn offset_data(&self) -> FontData<'a>

Return a reference to this table’s raw data.

We use this in the compile crate to resolve offsets.

Source

pub fn shape(&self) -> &Self

👎Deprecated: just use the base type directly

Return a reference to the table’s ‘Shape’ struct.

This is a low level implementation detail, but it can be useful in some cases where you want to know things about a table’s layout, such as the byte offsets of specific fields.

Source

pub fn version(&self) -> MajorMinor

Major version number of the font variations table — set to 1. Minor version number of the font variations table — set to 0.

Source

pub fn axis_instance_arrays_offset(&self) -> Offset16

Offset in bytes from the beginning of the table to the start of the VariationAxisRecord array. The InstanceRecord array directly follows.

Source

pub fn axis_instance_arrays(&self) -> Result<AxisInstanceArrays<'a>, ReadError>

Attempt to resolve axis_instance_arrays_offset.

Source

pub fn axis_count(&self) -> u16

The number of variation axes in the font (the number of records in the axes array).

Source

pub fn axis_size(&self) -> u16

The size in bytes of each VariationAxisRecord — set to 20 (0x0014) for this version.

Source

pub fn instance_count(&self) -> u16

The number of named instances defined in the font (the number of records in the instances array).

Source

pub fn instance_size(&self) -> u16

The size in bytes of each InstanceRecord — set to either axisCount * sizeof(Fixed) + 4, or to axisCount * sizeof(Fixed) + 6.

Source

pub fn version_byte_range(&self) -> Range<usize>

Source

pub fn axis_instance_arrays_offset_byte_range(&self) -> Range<usize>

Source

pub fn _reserved_byte_range(&self) -> Range<usize>

Source

pub fn axis_count_byte_range(&self) -> Range<usize>

Source

pub fn axis_size_byte_range(&self) -> Range<usize>

Source

pub fn instance_count_byte_range(&self) -> Range<usize>

Source

pub fn instance_size_byte_range(&self) -> Range<usize>

Source§

impl<'a> Fvar<'a>

Source

pub fn axes(&self) -> Result<&'a [VariationAxisRecord], ReadError>

Returns the array of variation axis records.

Source

pub fn instances( &self, ) -> Result<ComputedArray<'a, InstanceRecord<'a>>, ReadError>

Returns the array of instance records.

Source

pub fn user_to_normalized( &self, avar: Option<&Avar<'_>>, user_coords: impl IntoIterator<Item = (Tag, Fixed)>, normalized_coords: &mut [F2Dot14], )

Converts user space coordinates provided by an unordered iterator of (tag, value) pairs to normalized coordinates in axis list order.

Stores the resulting normalized coordinates in the given slice.

  • User coordinate tags that don’t match an axis are ignored.
  • User coordinate values are clamped to the range of their associated axis before normalization.
  • If more than one user coordinate is provided for the same tag, the last one is used.
  • If no user coordinate for an axis is provided, the associated coordinate is set to the normalized value 0.0, representing the default location in variation space.
  • The length of normalized_coords should equal the number of axes present in the this table. If the length is smaller, axes at out of bounds indices are ignored. If the length is larger, the excess entries will be filled with zeros.

If the Avar table is provided, applies remapping of coordinates according to the specification.

Trait Implementations§

Source§

impl<'a> Clone for Fvar<'a>

Source§

fn clone(&self) -> Fvar<'a>

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<'a> FontRead<'a> for Fvar<'a>

Source§

fn read(data: FontData<'a>) -> Result<Self, ReadError>

Read an instance of Self from the provided data, performing validation. Read more
Source§

impl<'a> MinByteRange<'a> for Fvar<'a>

Source§

impl TopLevelTable for Fvar<'_>

Source§

const TAG: Tag

fvar

Auto Trait Implementations§

§

impl<'a> Freeze for Fvar<'a>

§

impl<'a> RefUnwindSafe for Fvar<'a>

§

impl<'a> Send for Fvar<'a>

§

impl<'a> Sync for Fvar<'a>

§

impl<'a> Unpin for Fvar<'a>

§

impl<'a> UnsafeUnpin for Fvar<'a>

§

impl<'a> UnwindSafe for Fvar<'a>

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> 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<'a, T> FontReadWithArgs<'a> for T
where T: FontRead<'a>,

Source§

fn read_with_args( data: FontData<'a>, _: &<T as ReadArgs>::Args, ) -> Result<T, ReadError>

read an item, using the provided args. Read more
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<'a, T> ReadArgs for T
where T: FontRead<'a>,

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<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.