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: WidthHow wide the design is relative to its normal width.
style: StyleWhether the design is upright, italic or oblique.
weight: WeightHow heavy the design is.
Implementations§
Source§impl Attributes
impl Attributes
Sourcepub fn from_variations<V>(font: &Font, variations: V) -> Self
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.
Sourcepub fn from_named_instance(font: &Font, index: u32) -> Self
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.
Sourcepub fn from_named_instance_with_overrides<V>(
font: &Font,
index: u32,
overrides: V,
) -> Self
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.
Sourcepub(crate) fn from_font(font: &Font) -> Self
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.
Sourcefn from_postscript(weight: Option<&str>, italic_angle: f32) -> Self
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
Sourcefn from_sfnt<'a>(tables: &impl TableProvider<'a>) -> Self
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.
fn from_os2_post(os2: Os2<'_>, post: Option<Post<'_>>) -> Self
fn from_head(head: Head<'_>) -> Self
Trait Implementations§
Source§impl Clone for Attributes
impl Clone for Attributes
Source§fn clone(&self) -> Attributes
fn clone(&self) -> Attributes
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more