Skip to main content

Attributes

Struct Attributes 

Source
pub struct Attributes {
    pub width: Width,
    pub style: Style,
    pub weight: Weight,
}
Expand description

The width, style and weight of a font at one location.

Fields§

§width: Width

How wide the design is relative to its normal width.

§style: Style

Whether the design is upright, italic or oblique.

§weight: Weight

How heavy the design is.

Implementations§

Source§

impl Attributes

Source

pub fn from_variations<V>(font: &Font, variations: V) -> Self

Returns the attributes at the location given by variations, in user space.

Each attribute starts from the font’s default attributes. Values for the wdth, ital, slnt and wght axes override them. Variations are applied the same way as when building an instance. A variation for an axis the font does not have is ignored, the last value for an axis is used, and each value is clamped to the range of its axis.

Source

pub fn from_named_instance(font: &Font, index: u32) -> Self

Returns the attributes of the named instance at index.

Returns the font’s default attributes if there is no such instance.

Source

pub fn from_named_instance_with_overrides<V>( font: &Font, index: u32, overrides: V, ) -> Self

Returns the attributes of the named instance at index, with overrides applied after the instance’s own values.

If there is no such instance, only the overrides apply.

Source

pub(crate) fn from_font(font: &Font) -> Self

Returns the attributes of the default instance of font.

An SFNT font defines them in its tables. A Type 1 or standalone CFF font has only a weight name and an italic angle, which are read the same way as FreeType reads them. These fonts define no width.

Source

fn from_postscript(weight: Option<&str>, italic_angle: f32) -> Self

Returns the attributes defined by a PostScript font’s Weight name and ItalicAngle.

A nonzero italic angle means italic, matching how FreeType sets its italic flag. https://gitlab.freedesktop.org/freetype/freetype/-/blob/57617782464411201ce7bbc93b086c1b4d7d84a5/src/type1/t1objs.c#L462

Source

fn from_sfnt<'a>(tables: &impl TableProvider<'a>) -> Self

Reads the attributes of the default instance from the font’s tables.

These come from OS/2, with the post italic angle for an oblique style. If there is no OS/2 table, they come from head.

Source

fn from_os2_post(os2: Os2<'_>, post: Option<Post<'_>>) -> Self

Source

fn from_head(head: Head<'_>) -> Self

Trait Implementations§

Source§

impl Clone for Attributes

Source§

fn clone(&self) -> Attributes

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Attributes

Source§

impl Debug for Attributes

Source§

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

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

impl Default for Attributes

Source§

fn default() -> Attributes

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Attributes

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Attributes

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> 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<T> ErasedDestructor for T
where T: 'static,

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