Skip to main content

AdjustedMetrics

Struct AdjustedMetrics 

Source
pub struct AdjustedMetrics {
    pub has_overlaps: bool,
    pub lsb: Option<f32>,
    pub advance_width: Option<f32>,
}
Expand description

Information and adjusted metrics generated while drawing an outline glyph.

When applying hints to a TrueType glyph, the outline may be adjusted in the horizontal direction, affecting the left side bearing and advance width of the glyph. This captures those metrics.

Fields§

§has_overlaps: bool

True if the underlying glyph contains flags indicating the presence of overlapping contours or components.

§lsb: Option<f32>

If present, an adjusted left side bearing value generated by the scaler.

This is equivalent to the horiBearingX value in FT_Glyph_Metrics.

§advance_width: Option<f32>

If present, an adjusted advance width value generated by the scaler.

Note that, like FreeType, this value is always rounded when hinting is requested even if the font does not contain any hinting instructions. This might be relevant for CFF where the hinter never adjusts outlines in the horizontal direction, in which case, using the linear advance width from GlyphMetrics may be desirable.

This is equivalent to the advance.x value in FT_GlyphSlotRec.

Trait Implementations§

Source§

impl Clone for AdjustedMetrics

Source§

fn clone(&self) -> AdjustedMetrics

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 AdjustedMetrics

Source§

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

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

impl Default for AdjustedMetrics

Source§

fn default() -> AdjustedMetrics

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

impl Copy for AdjustedMetrics

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